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编译时没加这个。
jsnginx: [emerg] unknown directive "stub_status" in /usr/local/nginx/conf/songxuan.conf:12
解决这个问题: 执行命令检查Nginx编译参数,若无输出则表示未编译该模块:
jsnginx -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
jsversion: '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的已经监控到了
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!