promethes+grafana监控nginx

配置nginx开启nginx_stub_status模块

vim /etc/nginx/conf.d/status.conf
server {
    listen       81;
    server_name  localhost;

    location /nginx_status{
    allow 127.0.0.1;
    deny all ;
    stub_status  on;
    access_log    off;
    }
}

nginx -t
nginx -s reload 

curl 127.0.0.1:81/nginx_status
Active connections: 1
server accepts handled requests
 1114 1114 2942
Reading: 0 Writing: 1 Waiting: 0

安装nginx-prometheus-exporter

每个nginx对应一个nginx-prometheus-exporter

tar -xf nginx-prometheus-exporter_1.4.1_linux_amd64.tar.gz -C /usr/local/sbin/

# 配置开机自启动
vim /usr/lib/systemd/system/nginx-prometheus-exporter.service
[Unit]
Description=nginx-prometheus-exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/nginx-prometheus-exporter  -nginx.scrape-uri http://127.0.0.1:81/nginx_status
Restart=on-failure
[Install]
WantedBy=multi-user.target


systemctl daemon-reload
systemctl start nginx-prometheus-exporter
systemctl status  nginx-prometheus-exporter
systemctl enable   nginx-prometheus-exporter

# 查看抓取的指标
curl 127.0.0.1:9113/metrics 

配置prometheus监控nginx

vim /data/prometheus/prometheus.yml
  - job_name: "nginx_exporter"
    scrape_interval: 15s
    scrape_timeout: 5s
    file_sd_configs:
      - files:
        - /data/prometheus/target/nginx.yml
        refresh_interval: 15s #代表15秒加载一次配置文件

vim /data/prometheus/target/nginx.yml
- targets: ["10.0.0.61:9113"]
- targets: ["10.0.0.62:9113"]
- targets: ["10.0.0.77:9113"]
- targets: ["10.0.0.78:9113"]
- targets: ["10.0.0.87:9113"]
- targets: ["10.0.0.88:9113"]

热加载prometheus:

curl -X POST http://localhost:9090/-/reload

查看是否正常:
20250822162633

配置grafana仪表盘

直接导入模版代码12708
20250822163026

posted @ 2025-07-29 13:29  阿峰博客站  阅读(24)  评论(0)    收藏  举报