前提:已经在机器A安装好zabbix服务端,机器B安装好zabbix客户端
一、linux机器上操作
除了特别注明,以下在机器B(zabbix客户端)上进行操作
1.1、修改nginx配置文件nginx.conf,内容示例如下
修改完后重启nginx:/usr/local/nginx/sbin/nginx -s reload
1.2、 Nginx 监控脚本 nginx_status.sh内容如下
shell脚本开始》》》》》》
#!/bin/bash
HOST="127.0.0.1"
PORT="8999"
#检查nginx进程是否存在
function ping {
/sbin/pidof nginx | wc -l
}
#采集nginx数据
function active {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 执行function
$1
shell脚本结束《《《《《
将 nginx_status.sh放在目录/etc/zabbix/zabbix_agentd.d里
1.3、配置zabbix_agentd.conf,定义监控脚本key
vim /etc/zabbix/zabbix_agentd.conf
修改:UnsafeUserParameters=1
添加:UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh
修改完后重启zabbix客户端:service zabbix-agent restart
1.4、进行访问测试检测:
curl http://127.0.0.1:8999/status
1.5、在zabbixf服务端连接测试
/usr/bin/zabbix_get -s IP(zabbix客户端ip) -p 10050 -k nginx.status[accept]
二、进入 zabbix web界面配置监控模板
https://blog.51cto.com/13481789/2363477
问题1:根据链接配置好后页面出现:Unsupported item key
解决办法: