平常生產環境搭建了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便可獲取所有資料。