zabbix监控nginx

监控脚本

需要开启nginx状态统计页,参考nginx开启状态统计
zabbix监控脚本git项目地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$ vim nginx_status.sh
#!/bin/bash
# Method of use
# UserParameter=nginx.status[*],/usr/local/zabbix/script/nginx_status.sh $1
HOST="127.0.0.1"
PORT="80"
URL="http://${HOST}:${PORT}/nginx_status"
active() {
curl "${URL}" 2>/dev/null | grep "Active" | awk '{print $NF}'
}
reading() {
curl "${URL}" 2>/dev/null | grep "Reading" | awk '{print $2}'
}
writing() {
curl "${URL}" 2>/dev/null | grep "Writing" | awk '{print $4}'
}
waiting() {
curl "${URL}" 2>/dev/null | grep "Waiting" | awk '{print $NF}'
}
accepts() {
curl "${URL}" 2>/dev/null | awk NR==3 | awk '{print $1}'
}
handled() {
curl "${URL}" 2>/dev/null | awk NR==3 | awk '{print $2}'
}
requests() {
curl "${URL}" 2>/dev/null | awk NR==3 | awk '{print $NF}'
}
ping() {
ps -ef | grep nginx | grep -v grep -c
}
$1

zabbix客户端配置

将自定义的UserParameter加入配置文件,然后重启agentd

1
UserParameter=nginx.status[*],/usr/local/zabbix/script/nginx_status.sh $1

zabbix_get获取数据

1
2
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k nginx.status[accepts]
3808

zabbix web端配置

模版请查看git项目地址

configuration->hosts->nginx服务器->template->Link new templates->Template App NGINX“->Add->update

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器