Prometheus之监控nginx服务

	1 编译安装nginx
		1.1 安装编译工具
CentOS:
yum -y install git wget gcc make zlib-devel gcc-c++ libtool openssl openssl-devel

Ubuntu:
apt -y install git wget gcc make zlib1g-dev build-essential libtool openssl libssl-dev


		1.2 克隆nginx-module-vts模块
git clone git://github.com/vozlt/nginx-module-vts.git



		1.3 下载nginx软件包
wget https://nginx.org/download/nginx-1.26.2.tar.gz

		1.4 解压nginx
tar xf nginx-1.26.2.tar.gz


		1.5 配置nginx
cd nginx-1.26.2
./configure --prefix=/zqylinux/softwares/nginx \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_realip_module \
  --without-http_rewrite_module \
  --with-http_stub_status_module \
  --without-http_gzip_module  \
  --with-file-aio \
  --with-stream \
  --with-stream_ssl_module \
  --with-stream_realip_module \
  --add-module=/root/nginx-module-vts



	1.6 编译并安装nginx
make -j 2 && make install


	1.7 修改nginx的配置文件
vim /zqylinux/softwares/nginx/conf/nginx.conf
...
http {
    vhost_traffic_status_zone;
    ...
    server {
        ...

        location /status {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }
    }
}


	1.8 检查配置文件语法
[root@jenkins211 ~]# /zqylinux/softwares/nginx/sbin/nginx -t
nginx: the configuration file /zqylinux/softwares/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /zqylinux/softwares/nginx/conf/nginx.conf test is successful
[root@jenkins211 ~]# 



	1.9 启动nginx
[root@jenkins211 ~]# /zqylinux/softwares/nginx/sbin/nginx
[root@jenkins211 ~]# 
[root@jenkins211 ~]# ss -ntl | grep 80
LISTEN 0      511          0.0.0.0:80        0.0.0.0:*             
[root@jenkins211 ~]# 



	2 安装nginx-vtx-exporter
		2.1 下载nginx-vtx-exporter

wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz



温馨提示:
	不建议下载更高版本,因为其会提升对GLIC的版本要求,可以通过" strings /lib64/libc.so.6 | grep GLIBC_ "查看默认是2.17版本,若使用较高版本则需要2.32+

		2.2 解压软件包到path路径
tar xf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz -C /usr/local/bin/ nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter --strip-components=1

	2.3 运行nginx-vtx-exporter
[root@jenkins211 ~]# nginx-vts-exporter -nginx.scrape_uri=http://10.0.0.211/status/format/json

访问10.0.0.211:9913查看数据(9913是nginx-vtx-exporter默认端口)

	3 配置prometheus采集nginx数据
		3.1 修改配置文件
[root@prometheus-server31 ~]# vim /zqylinux/softwares/prometheus-2.53.2.linux-amd64/prometheus.yml 

...
scrape_configs:
  ...

  - job_name: "zqylinux-nginx-vts-exporter"
    static_configs:
      - targets:
          - "10.0.0.211:9913"

[root@prometheus-server31 ~]# check 
Checking /zqylinux/softwares/prometheus-2.53.2.linux-amd64/prometheus.yml
SUCCESS: /zqylinux/softwares/prometheus-2.53.2.linux-amd64/prometheus.yml is valid prometheus config file syntax

[root@prometheus-server31 ~]# 
[root@prometheus-server31 ~]# rr
[root@prometheus-server31 ~]# 



		3.2 访问Prometheus的WebUI
http://10.0.0.31:9090/targets


		3.3 导入grafana模板
2949


posted @ 2026-09-11 20:24  张箐原  阅读(8)  评论(0)    收藏  举报