日常生產環境搭建了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配置文件:在Server章節中增加:
<code>location /nginx-status {
allow 127.0.0.1; //允許的IP
deny all;
stub_status on;
access_log off;
}/<code>
Reload 重啟Nginx,查看Nginx-Status
輸出信息的說明:
<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/
<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服務即可。
三、Grafana集成Nginx監控
Grafana中支持Influxdb數據源,配置上上個步驟的Influxdb數據源之後,我們定製Nginx監控圖表:
數據源:Influxdb
FROM:nginx
SELECT:field(accepts)
展現效果:
以上我們通過Nginx+Telegraf+Influxb+Grafana,實現了Nginx的監控,非常方便。
你們在日常實際生產環境對Nginx的狀態監控使用的是何種技術?
原文:https://www.cnblogs.com/tianqing/p/7745436.html
閱讀更多 啟迪雲Tuscloud 的文章