prometheus監(jiān)控nginx的兩種方式
Nginx監(jiān)控搭建介紹說明
文章介紹兩種不同的Nginx監(jiān)控方法,第一種是nginx自帶的tub_status模塊進(jìn)行監(jiān)控,第二種是用vts監(jiān)控工具進(jìn)行監(jiān)控。都是基于prometheus、grafana結(jié)合第三方模塊或監(jiān)控工具搭建,監(jiān)控Nginx中間件的使用情況 。
方法一、tub_status模塊監(jiān)控
- 下載 https://github.com/nginxinc/nginx-prometheus-exporter/releases
- 解壓 tar -zxvf
- 開啟nginx_stub_status模塊
開源nginx提供了一個(gè)簡單頁面用于展示狀態(tài)數(shù)據(jù),該頁面由tub_status模塊提供,如果已在本地服務(wù)安裝nginx,進(jìn)入nginx/sbin目錄下執(zhí)行
./nginx -V 2>&1 | grep -o with-http_stub_status_module
- 如果在終端輸出with-http_stub_status_module,說明nginx已啟用tub_status模塊;
yum安裝的是二進(jìn)制文件,意思是已經(jīng)編譯好的nginx,它只有配置文件和二進(jìn)制文件,沒有源代碼,所以你想加第三方模塊,只能去nginx的官方網(wǎng)站:http://nginx.org 下載源代碼,使用**–with-http_stub_status_module**參數(shù)從源碼重新編譯安裝;
./configure --prefix=/DATA/soft/nginx/ --with-http_stub_status_module --add-module=nginx-module-vts make sudo make install
- 確認(rèn)stub_status模塊啟動(dòng)之后,修改nginx的配置文件指定status頁面的URL;
server { listen 80; #端口可以自己重新起一個(gè),配置文件要在外層nginx.conf中添加 location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } }
- 執(zhí)行命令啟動(dòng)nginx-prometheus -exporter ;
nohup ./nginx-prometheus-exporter -nginx.scrape-uri http://127.0.0.1:80/nginx_status &
啟動(dòng)成功如圖所示
- prometheus.yml文件添加被監(jiān)控的機(jī)器節(jié)點(diǎn);
- job_name: 'nginx_status_module' # 采集nginx的指標(biāo) metrics_path: '/metrics' # 拉取指標(biāo)的接口路徑 scrape_interval: 10s # 采集指標(biāo)的間隔周期 static_configs: - targets: ['127.0.0.1:9113'] # nginx-prometheus-exporter服務(wù)的ip和端口
重新啟動(dòng)prometheus后,導(dǎo)入grafan模板;
模板鏈接:https://grafana.com/grafana/dashboards/12708
方法二、vts工具監(jiān)控
- vts模塊下載,鏈接:https://github.com/vozlt/nginx-module-vts
- tar -zxvf 解壓nginx-module-vts,監(jiān)控模塊放至nginx目錄下
- nginx源碼文件重新編譯安裝
./configure --prefix=/DATA/soft/nginx/ --with-http_stub_status_module --add-module=nginx-module-vts make sudo make install
- 修改nginx配置
#nginx配置server中添加: location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } } #http中添加: vhost_traffic_status_zone; vhost_traffic_status_filter_by_host on;
- 添加系統(tǒng)變量,啟動(dòng)nginx
vi /usr/lib/systemd/system/nginx.service [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/DATA/soft/nginx/sbin/nginx ExecReload=DATA/soft/nginx/sbin/nginx -s reload ExecStop=DATA/soft/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
# 完成啟動(dòng): systemctl enable nginx.service systemctl start nginx.service systemctl status nginx.service
啟動(dòng)nginx后訪問http://locahost/status
- 安裝啟動(dòng)nginx-vts-exporter
下載鏈接:https://github.com/hnlq715/nginx-vts-exporter
tar -zxvf解壓
chmod +x /usr/local/nginx_exporter/bin/nginx-vts-exporter -R #整個(gè)路徑添加權(quán)限
- nginx-vts-exporter設(shè)置系統(tǒng)變量
vim /usr/lib/systemd/system/nginx_exporter.service [Unit] Description=nginx_vts_exporter After=network.target [Service] Type=simple ExecStart=/usr/local/nginx_exporter/bin/nginx-vts-exporter -nginx.scrape_uri http://192.168.62.75/status/format/json #ip替換成需要監(jiān)控的ip Restart=on-failure [Install] WantedBy=multi-user.target
啟動(dòng)nginx_exporter
systemctl enable nginx_exporter.service systemctl status nginx_exporter.service systemctl start nginx_exporter.service
- 修改prometheus配置文件并重啟
netstat -anlp | grep nginx-vts #查看nginx_vts_exporter啟動(dòng)的端口
- job_name: 'nginx' static_configs: - targets: ['127.0.0.1:9913'] #9913為工具啟動(dòng)的端口 labels: instance: nginx
grafana導(dǎo)入nginx-vts-exporter監(jiān)控模板
模板鏈接:https://grafana.com/grafana/dashboards/2949
以上就是prometheus監(jiān)控nginx的兩種方式的詳細(xì)內(nèi)容,更多關(guān)于prometheus監(jiān)控nginx的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx捕獲并自定義proxy_pass返回的錯(cuò)誤問題
這篇文章主要介紹了Nginx捕獲并自定義proxy_pass返回的錯(cuò)誤問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06nginx實(shí)現(xiàn)靜態(tài)文件的token認(rèn)證過程
這篇文章主要介紹了nginx實(shí)現(xiàn)靜態(tài)文件的token認(rèn)證過程,2024-06-06Nginx通過nginx-rtmp-module模塊搭建流媒體服務(wù)器實(shí)現(xiàn)直播
近日有客戶咨詢想用Nginx搭建流媒體服務(wù)器實(shí)現(xiàn)直播,方便他們打造自己的平臺,經(jīng)過各種測試發(fā)現(xiàn)如下文章不錯(cuò),特分享給需要的朋友2023-10-10Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解
這篇文章主要介紹了Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解,反向代理保證系統(tǒng)安全,不暴露服務(wù)器IP,利用nginx服務(wù)器,利用內(nèi)網(wǎng)ip進(jìn)行訪問,避免出現(xiàn)攻擊服務(wù)器的情況,需要的朋友可以參考下2024-01-01