scflcp.cn scflcp.cn

欢迎光临
我们一直在努力
顶部
域名

Nginx配置Prometheus监控的实现_nginx_

安装包下载,注意下载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监控内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! 

【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
发布内容
-六神源码网 -六神源码网