免费资源网 – 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模块;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.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方法二、vts工具监控
vts模块下载,链接:https://github.com/vozlt/nginx-module-vtstar -zxvf 解压nginx-module-vts,监控模块放至nginx目录下 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
安装启动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配置文件并重启netstat -anlp | grep nginx-vts #查看nginx_vts_exporter启动的端口
– job_name: nginx static_configs: – targets: [127.0.0.1:9913] #9913为工具启动的端口 labels: instance: nginxgrafana导入nginx-vts-exporter监控模板
模板链接:https://grafana.com/grafana/dashboards/2949以上就是prometheus监控nginx的两种方式的详细内容,更多关于prometheus监控nginx的资料请关注其它相关文章!
© 版权声明
THE END
暂无评论内容