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

日常生產環境搭建了Nginx集群后,就需要繼續深入研究的就是日常Nginx監控。

Nginx如何監控?相信百度就可以找到:nginx-status

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

Nginx+Telegraf+Influxdb+Grafana

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


一、Nginx啟用nginx-status功能

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

<code>./configure --with-http_stub_status_module/<code>

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

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

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

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

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

<code>location /nginx-status {
       allow 127.0.0.1; //允許的IP
       deny all;
       stub_status on;
       access_log off;
}/<code>

Reload 重啟Nginx,查看Nginx-Status

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

輸出信息的說明:

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


二、Telegraf安裝配置Nginx監控

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

https://www.influxdata.com/time-series-platform/telegraf/

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

<code>wget https://dl.influxdata.com/telegraf/releases/telegraf-1.4.3-1.x86_64.rpm
sudo yum localinstall telegraf-1.4.3-1.x86_64.rpm/<code>

然後,在配置文件teldgraf.conf中配置Influxdb連接

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

增加對Nginx的監控

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

配置完成,重啟telegraf服務即可。


三、Grafana集成Nginx監控

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

數據源:Influxdb

FROM:nginx

SELECT:field(accepts)

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

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

展現效果:

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

以上我們通過Nginx+Telegraf+Influxb+Grafana,實現了Nginx的監控,非常方便。

你們在日常實際生產環境對Nginx的狀態監控使用的是何種技術?

原文:https://www.cnblogs.com/tianqing/p/7745436.html


分享到:


相關文章: