编辑
2025-10-15
Prometheus
00

目录

一、先在nginx.conf配置加上监控配置
二、安装nginx-exporter,因为需要go语言环境,只能选择docker安装
三、配置普罗米修斯的配置文件
四、最后去grafana导入仪表盘展示

一、先在nginx.conf配置加上监控配置

js
# 新增监控模块配置 location /nginx_status { stub_status on; allow all; # 允许所有IP访问 }

完整配置:

yml
server { listen 81; #监听的端口 server_name localhost; #监听的主机IP # 新增监控模块配置 location /nginx_status { stub_status on; allow all; # 允许所有IP访问 } location / { root /usr/local/nginx/html; index weihu.html; # proxy_pass http://songxuan; #直接起个命名 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

然后重启nginx让配置生效。 如果遇到执行报错问题,是你这个监控项安装nginx编译时没加这个。

js
nginx: [emerg] unknown directive "stub_status" in /usr/local/nginx/conf/songxuan.conf:12

解决这个问题: 执行命令检查Nginx编译参数,若无输出则表示未编译该模块:

js
nginx -V 2>&1 | grep -o with-http_stub_status_module

重新进入解压的nginx的包内,重新带编译安装,然后在用检查命令检查,然后启动。

js
./configure --prefix=/usr/local/nginx --with-http_stub_status_module make make install

二、安装nginx-exporter,因为需要go语言环境,只能选择docker安装

js
version: '3.8' services: nginx-exporter: image: nginx/nginx-prometheus-exporter:latest ports: - "9113:9113" command: - -nginx.scrape-uri=http://192.168.201.104/nginx_status # 替换为您的实际Nginx状态页地址 restart: unless-stopped

三、配置普罗米修斯的配置文件

yml
# 全局配置 global: # 数据抓取间隔(默认1分钟) scrape_interval: 15s # 告警规则评估频率(建议与抓取间隔一致) evaluation_interval: 15s # 抓取超时时间(默认10秒) # 告警配置 alerting: alertmanagers: - static_configs: - targets: # 启用Alertmanager时需配置实际地址 # - alertmanager:9093 # 规则文件配置 rule_files: # 告警规则文件路径(支持通配符) # - 'alert_rules/*.rules' # 记录规则文件路径 # - 'recording_rules/*.rules' # 监控目标配置 scrape_configs: - job_name: "prometheus-server" file_sd_configs: - files: - /server/prometheus/node_exporter.yml refresh_interval: 5s #nginx监控项 - job_name: nginx static_configs: - targets: ['192.168.201.104:9113']

然后重启普罗米修斯。

然后查看普罗米修斯nginx的已经监控到了

image.png

四、最后去grafana导入仪表盘展示

image.png

image.png

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document