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
查看是否正常:
配置grafana仪表盘
直接导入模版代码12708