使用Nginx+Telegraf+Influxb+Grafana構建高逼格Nginx集羣監控系統!

平常生產環境搭建了Nginx集羣后,就須要繼續深刻研究的就是平常Nginx監控。html

Nginx如何監控?相信百度就能夠找到:nginx-statusnginx

經過Nginx-status,實時獲取到Nginx監控數據後,如何和現有監控系統集成?一個很好的解決方案:面試

Nginx+Telegraf+Influxdb+Grafanaredis

即經過Telegraf監控插件定時收集Nginx的監控狀態,存儲到時序數據庫Influxdb中,而後經過Grafana展示便可。數據庫

1、Nginx啓用nginx-status功能微信

源碼編譯安裝的nginx,那麼須要在編譯的時候加上對應的模塊  架構

./configure --with-http_stub_status_module

使用 ./configure --help 能看到更多的模塊支持。而後編譯安裝便可。運維

若是是直接 apt-get install 安裝的 nginx,那麼使用命令來查看是否支持 stub_status 這個模塊。機器學習

以下命令: nginx –V 看看是否有 --with-http_stub_status_module 這個模塊。學習

修改Nginx配置文件:在Server章節中增長:

location /nginx-status {
allow 127.0.0.1; //容許的IP
deny all;
stub_status on;
access_log off;
}

Reload 重啓Nginx,查看Nginx-Status

輸出信息的說明:

active connections – 活躍的鏈接數量
server accepts handled requests — 總共處理了11989個鏈接 , 成功建立11989次握手, 總共處理了11991個請求
reading — 讀取客戶端的鏈接數
writing — 響應數據到客戶端的數量
waiting — 開啓 keep-alive 的狀況下,這個值等於 active – (reading+writing), 意思就是 Nginx 已經處理完正在等候下一次請求指令的駐留鏈接.

2、Telegraf安裝配置Nginx監控

關於Telegraf的安裝,請參考官方介紹

https://www.influxdata.com/ti...

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.4.3-1.x86_64.rpmsudo yum localinstall telegraf-1.4.3-1.x86_64.rpm

而後,在配置文件teldgraf.conf中配置Influxdb鏈接

增長對Nginx的監控

配置完成,重啓telegraf服務便可。

3、Grafana集成Nginx監控

Grafana中支持Influxdb數據源,配置上上個步驟的Influxdb數據源以後,咱們定製Nginx監控圖表:

數據源:Influxdb

FROM:nginx

SELECT:field(accepts)

展示效果:

以上咱們經過Nginx+Telegraf+Influxb+Grafana,實現了Nginx的監控,很是方便。

大家在平常實際生產環境對Nginx的狀態監控使用的是何種技術?

歡迎留言分享你的經驗。

做者:周國慶
原文: https://www.cnblogs.com/tianq...

最新整理的 2TB 技術乾貨:包括架構師實戰教程、大數據、Docker容器、系統運維、數據庫、redis、MogoDB、電子書、Java基礎課程、Java實戰項目、ELK Stack、機器學習、BAT面試精講視頻等。只需在「 民工哥技術之路」微信公衆號對話框回覆關鍵字:1024便可獲取所有資料。

相關文章
相關標籤/搜索