Zabbix 企业Nginx监控

Zabbix监控Nginx状态

1 修改Nginx配置文件,开启Nginx监控

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

2 访问Nginx 监控状态

# curl http://127.0.0.1/nginx_status
Active connections:
server accepts handled requests Reading: Writing: Waiting:

## Active connections: 对后端发起的活动连接数
## Server accepts handled requests: Nginx 总共处理了 3个连接,成功创建了 3 次握手(没有失败次数),总共处理了 3 个请求
## Reading: Nginx 读取到客户端的 Header 信息数
## Writing: Nginx 返回给客户端的 Header 信息数
## Waiting: 开启 keep-alive 的情况下,这个值等于 active - ( reading + writing ), 意思是 Nginx 已经处理完成,正在等待下一次请求指令的驻留连接
## 在访问效率很高,请求很快被处理完毕的情况下,Waiting 数比较多是正常的。如果 reading + writing 数较多,则说明并发访问量很大,正在处理过程中

3 编写脚本获取上面的key值

#cd /etc/zabbix/scripts
#vim nginx_status.sh
#!/bin/bash HOST="127.0.0.1"
PORT="" # 检测nginx进程是否存在
function ping {
/sbin/pidof nginx | wc -l
}
# 检测nginx性能
function active {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| awk NR== | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| awk NR== | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$HOST:$PORT/nginx_status/" >/dev/null| awk NR== | awk '{print $3}'
}
# 执行function
$ #赋予权限
#chmod +x nginx_status.sh

4 添加自定义key配置文件

#cat /etc/zabbix/zabbix_agentd.d/nginx_status.conf
## Nginx_status
UserParameter=nginx.status[*],/usr/local/zabbix-3.0.0/scripts/ngx-status.sh $1

5 重启zabbix客户端

# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]

## 注意,上面全部操作都是在被监控端

6 zabbix服务端测试能否拿到key

# zabbix_get -s 172.16.10.86 -k nginx.status[ping]
1

7 zabbix Web端配置

Link NGINX模板

到了最后一个阶段,登陆zabbix管理端,link模板到nginx服务器:configuration->hosts->点击nginx所在服务器->点击template->Link new templates输入"Template App NGINX"->Add->最后点击update。

Zabbix 企业Nginx监控

上一篇:毕业设计之zabbix之nginx状态监控


下一篇:ZABBIX 3.4 监控Nginx 状态(七)