安装包下载,注意下载nginx版本需要和生产环境保持一致
wget https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.2.tar.gz wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz wget http://nginx.org/download/nginx-1.26.2.tar.gz
解压nginx-module-vts
tar -xf /opt/v0.2.2.tar.gz -C /usr/local/src/
查看运行nginx编译参数
nginx -V
./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld -Wl,-E'
安装编译环境
yum install pcre-devel openssl-devel libxml2-devel libxslt-devel gd-devel gperftools gperftools-devel
解压nginx源码
tar xf nginx-1.26.2.tar.gz
再原来编译参数基础上添加vts模块,进行编译
./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld -Wl,-E' --add-module=/usr/local/src/nginx-module-vts-0.2.2/ make
备份nginx配置文件
cd /usr/local/nginx/conf cp nginx.conf nginx.conf.bak
nginx配置文件添加配置
#在nginx.conf http块添加如下配置 vhost_traffic_status_filter_by_host on; vhost_traffic_status_zone; server { listen 8089; location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } }
将so文件替换
cd /usr/lib64/nginx/modules/ mkdir backup mv ./* backup/ cp /root/nginx-1.26.2/objs/*.so .
替换nginx二进制文件,并启动nginx
#先备份二进制文件 cd /usr/local/nginx/sbin cp nginx nginx.20241206 #停止nginx,不然新的二进制文件覆盖不了 systemctl stop nginx #替换二进制文件 cp /root/nginx-1.20.2/nginx-1.20.2/objs/nginx . #检查配置文件语法 ./nginx -t #启动Nginx systemctl start nginx
部署exporter
tar -xf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz cp /opt/nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter /usr/local/bin/ cat > /etc/systemd/system/nginx_vts_exporter.service << EOF [Unit] Description=nginx_exporter After=network.target [Service] Type=simple ExecStart=/usr/local/bin/nginx-vts-exporter -telemetry.address :9145 -nginx.scrape_uri=http://192.168.20.3:8089/status/format/json Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl start nginx_vts_exporter systemctl enable nginx_vts_exporter
测试插件
curl http://x.x.x.x:9145/metrics
到此这篇关于Nginx配置Prometheus监控的实现的文章就介绍到这了,更多相关Nginx Prometheus监控内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!