在Zabbix中监控Nginx时,通常需要关注以下关键内容,以确保其性能、可用性和安全性:
活跃连接数
Active connections:当前活跃的客户端连接数。nginx.active_connections请求处理统计
Accepts:已接受的客户端连接总数。Handled:已处理的连接数。Requests:总请求数(需关注QPS)。nginx.requests_per_second连接状态
Reading:正在读取请求头的连接数。Writing:正在发送响应的连接数。Waiting:空闲连接数(长连接需重点关注)。nginx.waiting_connectionsNginx进程状态
proc.mem/proc.cpu)。文件描述符
Too many open files错误。响应时间
$request_time日志字段监控。HTTP状态码
2xx/3xx/4xx/5xx比例(通过日志或Nginx Plus API)。499(客户端提前关闭)、502(后端故障)、504(网关超时)。upstream_response_time:后端服务器响应时间。upstream_status:后端返回的状态码(如502/503)。nginx.upstream.fails(失败请求计数)。cache_hits / cache_misses。Nginx Status模块
ngx_http_stub_status_module(默认编译),通过http://nginx_status暴露基础指标。nginx
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}Zabbix Agent采集
UserParameter自定义监控项,或通过zabbix-agent2的Nginx插件。/etc/zabbix/zabbix_agentd.conf):ini
UserParameter=nginx.requests,curl -s http://localhost/nginx_status | awk '/Requests/{print $3}'日志分析
$status、$request_time)。Prometheus + Grafana(可选)
nginx-exporter暴露指标,Zabbix调用Prometheus API或直接集成。nginx-monitoring模板)。{Nginx:nginx.requests_per_sec.last()}>1000:请求量突增告警。{Nginx:nginx.upstream.fails.last()}>10:后端服务故障。通过以上监控项,可全面覆盖Nginx的流量、性能、错误及资源使用情况,快速定位瓶颈或异常。