zabbix监控nginx_status
实战说明:用zabbix自定义监控nginx的status状态
主机名 | ip | 系统版本 | zabbix |
---|---|---|---|
kiwi123 | 192.168.234.123 | CentOS8 | zabbix_agent |
zabbix_server | 192.168.234.111 | CentOS8 | zabbix_server |
zabbix_server 与 zabbix_agent 安装详细步骤可参考zabbix监控部署与zabbix_agent部署步骤,在此不多做赘述
创建自定义监控详细步骤可参考自定义监控
1. 创建监控脚本
//先查看nginx状态
[root@kiwi123 ~]# curl 192.168.234.123/status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
//创建脚本
[root@kiwi123 ~]# mkdir /kiwi_scripts
[root@kiwi123 ~]# cd /kiwi_scripts/
[root@kiwi123 kiwi_scripts]# cat check_nginx_status.sh
#!/bin/bash
if [ $1 == 'reading' ]; then
curl -s 192.168.234.123/status | awk 'NR==4{print $2}'
elif [ $1 == 'writing' ]; then
curl -s 192.168.234.123/status | awk 'NR==4{print $4}'
elif [ $1 == 'waiting' ]; then
curl -s 192.168.234.123/status | awk 'NR==4{print $6}'
fi
[root@kiwi123 kiwi_scripts]# chmod +x check_nginx_status.sh
2. 修改zabbix主配置文件
//打开自定义监控功能
[root@kiwi123 ~]# vim /usr/local/etc/zabbix_agentd.conf
# UnsafeUserParameters=0
UnsafeUserParameters=1
//重启服务
[root@kiwi123 ~]# pkill zabbix
[root@kiwi123 ~]# zabbix_agentd
//让脚本绑定一个key
[root@kiwi123 ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_nginx_status[*],/bin/bash /kiwi_scripts/check_nginx_status.sh $1
//重启服务
[root@kiwi123 ~]# pkill zabbix
[root@kiwi123 ~]# zabbix_agentd
//在zabbix_server端测试一下
[root@zabbix_server ~]# zabbix_get -s 192.168.234.123 -k check_nginx_status[reading]
0
[root@zabbix_server ~]# zabbix_get -s 192.168.234.123 -k check_nginx_status[writing]
1
[root@zabbix_server ~]# zabbix_get -s 192.168.234.123 -k check_nginx_status[waiting]
0
3. 在web端进行添加监控项等配置
第一个监控项
第二个监控项
第三个监控项
第一个触发器
第二个触发器
第三个触发器
查看是否监控成功
reading状态
writing状态
waiting状态