prometheus监控nginx
nginx-module-vts模块安装
下载nginx-module-vts模块
cd /opt
git clone https://github.com/vozlt/nginx-module-vts.git
nginx-module-vts安装
#重新编译过
#下载同一版本nginx,我这里是1.18.0
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
#查看nginx参数
[root@prometheus]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
configure arguments: --prefix=/usr/local/nginx --user=nginx
#重新编译
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --user=nginx --add-module=/usr/local/nginx-module-vts/
–add-module=/usr/local/nginx-module-vts 为模块地址
nginx配置server中添加:
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
http中添加:
vhost_traffic_status_zone;
启动nginx:
/usr/local/nginx/sbin/nginx
完成以上步骤可以访问:
http://192.168.70.133/status ip为本机IP
nginx-exporter安装配置
下载解压
wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.9.1/nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
tar -zxvf nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
mv nginx-vts-exporter-0.9.1.linux-amd64 /usr/local/nginx-vts-exporter
使用systemctl 管理nginx-vts-exporter进程。
vim /usr/lib/systemd/system/nginx_vts_exporter.service
[Unit]
Description=prometheus_nginx_vts
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/nginx-vts-exporter/nginx-vts-exporter -nginx.scrape_uri http://192.168.70.133/status/format/json
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable nginx_vts_exporter
systemctl start nginx_vts_exporter
systemctl status nginx_vts_exporter
prometheus 配置
#添加个节点
vim /usr/local/prometheus/prometheus.yml
...
- job_name: 'nginx' # 添加node配置
static_configs:
- targets:
- '192.168.3.15:9913'
...
**重启prometheus **
systemctl restart prometheus
grafana展示
导入模板2949
nginx监控指标说明
指标 | 说明 |
---|---|
nginx_server_requests | 统计nginx各个host 各个请求的总数,精确到状态码 |
nginx_upstream_requests | 统计各个upstream 请求总数,精确到状态码 |
nginx_server_connections | 统计nginx几种连接状态type的连接数 |
nginx_server_cache | 统计nginx缓存计算器,精确到每一种状态和转发type |
nginx_server_bytes | 统计nginx进出的字节计数可以精确到每个host,in进,out出 |
nginx_upstream_bytes | 统计nginx各个 upstream 分组的字节总数,细分到进出 |
nginx_upstream_responseMsec | 统计各个upstream 平均响应时长,精确到每个节点 |