prometheus監(jiān)控nginx并實現(xiàn)可視化的操作指南
一、概述
Nginx是一款高性能的Web服務(wù)器,被廣泛應(yīng)用于各類的網(wǎng)站和應(yīng)用程序中。為了保證Nginx的正常工作,我們需要對其進行監(jiān)控和管理。
1.1 prometheus 監(jiān)控nginx兩種方式
prometheus 監(jiān)控nginx有兩種方式。
- 一種是通過nginx_exporter監(jiān)控,需要開啟nginx_stub_status,主要是nginx自身的status信息,metrics數(shù)據(jù)現(xiàn)對較少;
- 另外一種使用nginx-vts-exporter監(jiān)控,但是需要在編譯nginx的時候添加nginx-module-vts模塊,監(jiān)控數(shù)據(jù)較多,提供了包含server、upstream以及cache的相關(guān)監(jiān)控指標,指標更豐富,所以如下采用nginx-vts-exporter實現(xiàn)對nginx的監(jiān)控。
1.2 版本信息
如下第一種方式:nginx-vts-exporter
版本 | 地址 | |
nginx | 1.25.4 | http://nginx.org/download/nginx-1.25.4.tar.gz |
vts | 0.2.2 | |
nginx-vts-exporter | 0.10.3 |
二、 安裝nginx-module-vts
2.1 下載編譯
# 下載編譯環(huán)境 yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib-devel lrzsz tree vim wget net-tools openssl openssl-devel # 下載 wget https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.2.zip wget http://nginx.org/download/nginx-1.25.4.tar.gz tar -zxvf nginx-1.25.4.tar.gz # 進入編譯的安裝目錄 cd /home/nginx-1.25.4 # 下載解壓nginx-module-vts 預(yù)編譯 需要新增--add-module= ./configure --prefix=/usr/local/nginx \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-pcre --with-file-aio \ --with-http_realip_module \ --add-module=/opt/nginx-module-vts-0.2.2 # 編譯(這里只make,不要make install ,不然會覆蓋,如果新裝的可以繼續(xù)make install) make && make install
配置nginx.conf
vim /usr/local/nginx/conf/nginx.conf vhost_traffic_status_zone; vhost_traffic_status_filter_by_host on; server { listen 80; server_name localhost; location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } }
# 啟動nginx,并指定配置文件為/app/nginx/conf/nginx.conf cd /usr/local/nginx/sbin/ # 測試nginx配置文件是否正確 ./nginx -t # 啟動 ./nginx
登錄驗證: http://192.168.2.140/status
2.2 監(jiān)控字段總結(jié)
Server main 主服務(wù)器
Server zones服務(wù)器區(qū)域
三、安裝啟動nginx-vts-exporter
3.1安裝啟動nginx-vts-exporter
wget --no-check-certificate https://github.com/sysulq/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64 tar -zxvf nginx-vtx-exporter_0.10.8_linux_amd64.tar.gz chmod +x /usr/local/nginx_exporter/bin/nginx-vtx-exporter -R
3.2設(shè)置systemctl啟動
vim /usr/lib/systemd/system/nginx-exporter.service [Unit] Description=nginx_vts_exporter After=network.target [Service] Type=simple ExecStart=/opt/nginx-exporter/nginx-prometheus-exporter -nginx.scrape_uri http://192.168.2.140/status/format/json Restart=on-failure [Install] WantedBy=multi-user.target
啟動nginx_exporter
systemctl enable nginx_exporter systemctl start nginx_exporter systemctl status nginx_exporter
3.3修改prometheus配置文件并重啟
- job_name: 'nginx' static_configs: - targets: ['192.168.1.1:9913'] labels: instance: nginx
http://192.168.2.139:30242/targets
3.4grafana導(dǎo)入nginx-vts-exporter監(jiān)控
模板連接:Nginx VTS Stats | Grafana Labs
nginx常用命令
nginx -s reopen #重啟Nginx nginx -s reload #重新加載Nginx配置文件,然后以優(yōu)雅的方式重啟Nginx nginx -s stop #強制停止Nginx服務(wù) nginx -s quit #優(yōu)雅地停止Nginx服務(wù)(即處理完所有請求后再停止服務(wù)) nginx -t #檢測配置文件是否有語法錯誤,然后退出 nginx -?,-h #打開幫助信息 nginx -v #顯示版本信息并退出 nginx -V #顯示版本和配置選項信息,然后退出 nginx -t #檢測配置文件是否有語法錯誤,然后退出 nginx -T #檢測配置文件是否有語法錯誤,轉(zhuǎn)儲并退出 nginx -q #在檢測配置文件期間屏蔽非錯誤信息 nginx -p prefix #設(shè)置前綴路徑(默認是:/usr/share/nginx/) nginx -c filename #設(shè)置配置文件(默認是:/etc/nginx/nginx.conf) nginx -g directives #設(shè)置配置文件外的全局指令 killall nginx #殺死所有nginx進程
以上就是prometheus監(jiān)控nginx并實現(xiàn)可視化的操作指南的詳細內(nèi)容,更多關(guān)于prometheus監(jiān)控nginx并可視化的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制
如果你的服務(wù)器被攻擊很厲害,而且服務(wù)器是自己練手的,不需要其他用戶訪問的,那么就可以配置一下nginx的白名單,下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制的相關(guān)資料,需要的朋友可以參考下2022-07-07Nginx偽靜態(tài)配置和常用Rewrite偽靜態(tài)規(guī)則集錦
偽靜態(tài)是一種可以把文件后綴改成任何可能的一種方法,如果我想把php文件偽靜態(tài)成html文件,這種相當簡單的,下面我來介紹nginx 偽靜態(tài)配置方法有需要了解的朋友可參考。2014-06-06Docker Nginx容器和Tomcat容器實現(xiàn)負載均衡與動靜分離操作
這篇文章主要介紹了Docker Nginx容器和Tomcat容器實現(xiàn)負載均衡與動靜分離操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Kubernetes中Nginx服務(wù)啟動失敗排查流程分析(Error:?ImagePullBackOff)
這篇文章主要介紹了Kubernetes中Nginx服務(wù)啟動失敗排查流程(Error:?ImagePullBackOff),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03nginx如何根據(jù)報文里字段轉(zhuǎn)發(fā)至不同地址
要在 Nginx 中根據(jù) POST 請求的 JSON 負載中的 id 字段的值進行轉(zhuǎn)發(fā),你可以使用 Nginx 的 ngx_http_lua_module 模塊,這個模塊允許你在 Nginx 配置中使用 Lua 腳本,本文介紹nginx如何根據(jù)報文里字段轉(zhuǎn)發(fā)至不同地址,感興趣的朋友一起看看吧2024-12-12Centos7.3 安裝部署Nginx并配置https的方法步驟
這篇文章主要介紹了Centos7.3 安裝部署Nginx并配置https的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04