jhhll1 发表于 2016-11-1 15:38:11

zabbix 监控 nginx

1、nginx里面添加配置:
server {
      listen       80;
      server_name192.168.1.143;
      location /nginx-status {
                stub_status on;
                access_logoff;
                allow 127.0.0.1;
                allow 192.168.1.109;
                deny all;
         }
}
访问效果:

nginx Status 详细说明:Activeconnections:对后端发起的活动连接数;server accepts 2349542:nginx 总共处理了2349542个连接;handled:成功创建了64603417次握手;requests:总共处理了8798670请求。Reading:nginx读取客户端的header数;Writing: nginx 返回给客户端的header数;Waiting: nginx 请求处理完成,正在等待下一请求指令的连接。2、在agentd上编写监控nginx的自定义key

   编辑# vim /etc/zabbix/zabbix_agentd.conf
   找到UserParameter
   添加:
UserParameter=Nginx.accepts,/usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| awk 'NR==3{print $1}'

UserParameter=Nginx.handled,/usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| awk 'NR==3{print $2}'

UserParameter=Nginx.requests, /usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| awk 'NR==3{print $3}'

UserParameter=Nginx.Connections.Active, /usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| grep 'Active' | awk '{print $NF}'

UserParameter=Nginx.Connections.Reading,/usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| grep 'Reading' | awk '{print $2}'

UserParameter=Nginx.Connections.Writing,/usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| grep 'Writing' | awk '{print $4}'

UserParameter=Nginx.Connections.Waiting,/usr/bin/curl "http://192.168.1.143/nginx-status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'

3、重启zabbix-agent 并测试KEY是否可以获取到数据
# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent:                              [确定]
Starting Zabbix agent:                                     [确定]
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.accepts"
30758
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.handled"
30763
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.requests"
53012
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.Connections.Active"
10
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.Connections.Reading"
0
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.Connections.Writing"
1
# zabbix_get -s 192.168.1.143 -p 10050 -k "Nginx.Connections.Waiting"
28
# /usr/bin/curl "http://192.168.1.143/nginx-status"
Active connections: 37
server accepts handled requests
30818 30818 53134

4、添加 Items 和 Graphs 监控结果
   

页: [1]
查看完整版本: zabbix 监控 nginx