zabbix自定义监控模板
被监控的主机需要开启状态模块
vim conf/nginx.conf
#在81端口开启nginx状态模块
server {
listen 81;
location /stub_status {
stub_status on;
access_log off;
allow 192.165.58.200; #本机ip
deny all;
}
}
检查无误后重启
nginx -t
systemctl restart nginx
curl 192.168.58.200:81/stub_status
配置自定义监控调用的脚本
cat > /etc/zabbix/scripts/nginx_status.sh<<'EOF'
url="192.168.58.200:81/stub_status"
case $1 in
Active_connections)
echo `curl -s $url |awk 'NR==1{print $3}'`
;;
server)
echo `curl -s $url |awk 'NR==3{print $1}'`
;;
accepts)
echo `curl -s $url |awk 'NR==3{print $2}'`
;;
handled)
echo `curl -s $url |awk 'NR==3{print $3}'`
;;
*)
echo $"Usage: $0 {Url [Active_connections|server|accepts|handled]}"
;;
esac
EOF
修改脚本权限
chmod 755 /etc/zabbix/scripts/nginx_status.sh
配置自定义监控
cat > /etc/zabbix/zabbix_agentd.d/userparameter_nginx_info.conf<<'EOF'
UserParameter=nginx.status[*], /etc/zabbix/scripts/nginx_status.sh "$1"
EOF
重启zabbix客户端
systemctl restart zabbix-agent.service
zabbix服务端测试获取数据
zabbix_get -s 192.168.58.200 -p 10050 -k "nginx.status[accepts]"