prometheus监控nginx的两种方式

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

Nginx监控搭建介绍说明

文章介绍两种不同的Nginx监控方法,第一种是nginx自带的tub_status模块进行监控,第二种是用vts监控工具进行监控。都是基于prometheus、grafana结合第三方模块或监控工具搭建,监控Nginx中间件的使用情况 。

方法一、tub_status模块监控

下载 https://github.com/nginxinc/nginx-prometheus-exporter/releases解压 tar -zxvf开启nginx_stub_status模块开源nginx提供了一个简单页面用于展示状态数据,该页面由tub_status模块提供,如果已在本地服务安装nginx,进入nginx/sbin目录下执行 ./nginx -V 2>&1 | grep -o with-http_stub_status_module 如果在终端输出with-http_stub_status_module,说明nginx已启用tub_status模块;

prometheus监控nginx的两种方式插图

yum安装的是二进制文件,意思是已经编译好的nginx,它只有配置文件和二进制文件,没有源代码,所以你想加第三方模块,只能去nginx的官方网站:http://nginx.org 下载源代码,使用**–with-http_stub_status_module**参数从源码重新编译安装;

./configure –prefix=/DATA/soft/nginx/ –with-http_stub_status_module –add-module=nginx-module-vts make sudo make install 确认stub_status模块启动之后,修改nginx的配置文件指定status页面的URL; server { listen 80; #端口可以自己重新起一个,配置文件要在外层nginx.conf中添加 location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } } 执行命令启动nginx-prometheus -exporter; nohup ./nginx-prometheus-exporter -nginx.scrape-uri http://127.0.0.1:80/nginx_status &

启动成功如图所示

prometheus监控nginx的两种方式插图1

prometheus.yml文件添加被监控的机器节点; – job_name: nginx_status_module # 采集nginx的指标 metrics_path: /metrics # 拉取指标的接口路径 scrape_interval: 10s # 采集指标的间隔周期 static_configs: – targets: [127.0.0.1:9113] # nginx-prometheus-exporter服务的ip和端口

重新启动prometheus后,导入grafan模板;

模板链接:https://grafana.com/grafana/dashboards/12708

prometheus监控nginx的两种方式插图2

方法二、vts工具监控

vts模块下载,链接:https://github.com/vozlt/nginx-module-vtstar -zxvf 解压nginx-module-vts,监控模块放至nginx目录下

prometheus监控nginx的两种方式插图3

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; 添加系统变量,启动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 # 完成启动: systemctl enable nginx.service systemctl start nginx.service systemctl status nginx.service

启动nginx后访问http://locahost/status

prometheus监控nginx的两种方式插图4

安装启动nginx-vts-exporter

下载链接:https://github.com/hnlq715/nginx-vts-exporter

tar -zxvf解压

chmod +x /usr/local/nginx_exporter/bin/nginx-vts-exporter -R #整个路径添加权限

nginx-vts-exporter设置系统变量 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替换成需要监控的ip Restart=on-failure [Install] WantedBy=multi-user.target

启动nginx_exporter

systemctl enable nginx_exporter.service systemctl status nginx_exporter.service systemctl start nginx_exporter.service

prometheus监控nginx的两种方式插图5

修改prometheus配置文件并重启

netstat -anlp | grep nginx-vts #查看nginx_vts_exporter启动的端口

– job_name: nginx static_configs: – targets: [127.0.0.1:9913] #9913为工具启动的端口 labels: instance: nginx

grafana导入nginx-vts-exporter监控模板

模板链接:https://grafana.com/grafana/dashboards/2949

prometheus监控nginx的两种方式插图6

prometheus监控nginx的两种方式插图7

以上就是prometheus监控nginx的两种方式的详细内容,更多关于prometheus监控nginx的资料请关注其它相关文章!


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容