日常生產環境搭建了Nginx集羣后,就需要繼續深入研究的就是日常Nginx監控。
Nginx如何監控?相信百度就可以找到:nginx-status
通過Nginx-status,實時獲取到Nginx監控數據後,如何和現有監控系統集成?一個很好的解決方案:
Nginx+Telegraf+Influxdb+Grafana
即通過Telegraf監控插件定時收集Nginx的監控狀態,存儲到時序數據庫Influxdb中,然後通過Grafana展現即可。
一、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 已經處理完正在等候下一次請求指令的駐留連接.
二、Telegraf安裝配置Nginx監控
關於Telegraf的安裝,請參考官方介紹
https://www.influxdata.com/time-series-platform/telegraf/
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服務即可。
三、Grafana集成Nginx監控
Grafana中支持Influxdb數據源,配置上上個步驟的Influxdb數據源之後,我們定製Nginx監控圖表:
數據源:Influxdb
FROM:nginx
SELECT:field(accepts)
展現效果:
以上我們通過Nginx+Telegraf+Influxb+Grafana,實現了Nginx的監控,非常方便。
你們在日常實際生產環境對Nginx的狀態監控使用的是何種技術?
最新整理的Java技術乾貨文檔資料:【Java核心知識點整理】涵蓋29個Java核心技術詳解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,併發編程,Tomcat,MyBatis,BAT面試題,Java技術精講視頻等。轉發+關注,加我VX【tkzl6666】即可獲得免費領取方式。
掌握了這些知識點,面試時在候選人中又可以奪目不少,暴擊9999點。機會都是留給有準備的人,只有充足的準備,纔可能讓自己可以在候選人中脫穎而出。