前言
在使用zabbix的过程中,如果模板没有满足我们的需求,那我们可以自定义监控项,下文主要是添加监控nginx状态的功能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、准备工作
两台机器:一台已经安装zabbix的linux服务器(具体步骤:超详细的zabbix5.0安装!),一台已经安装nginx的linux服务器(编译安装nginx:文章第一章节写了如何编译安装nginx)。下文采用的都是centos7系统。
二、使用步骤
1.在nginx服务器上安装zabbix-agent
代码如下(示例):
[root@bnginx ~]
[root@bnginx ~]
[root@bnginx ~]
Redirecting to /bin/systemctl start zabbix-agent.service
[root@bnginx ~]
2.在zabbix-server的前端页面上添加监控主机
如下图所示: 填写完点击添加即可。 填写完点击添加即可。
3.在nginx服务器上进行授权。
[root@bnginx zabbix]
[root@bnginx zabbix]
zabbix_agentd.conf zabbix_agentd.d
[root@bnginx zabbix]
[root@bnginx zabbix]
nginx服务器一定要关闭防火墙和selinux!!!
4.获取nginx状态的数据
(1)首先,我们要能获得到nginx状态的数据。 在nginx的配置文件中加上这一段。 我的nginx服务器ip地址是:192.168.5.2,访问192.168.5.2/sc_status(sc_status就是上图中自定义的名字),出现下图的效果即可。 (2)写shell脚本获取nginx状态的数据,脚本如下:
[root@bnginx zabbix_agentd.d]
/etc/zabbix/zabbix_agentd.d
[root@bnginx zabbix_agentd.d]
HOST="192.168.5.2"
PORT="80"
case $1 in
active)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Active/{print $NF}'
;;
reading)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Reading/{print $2}'
;;
writing)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Writing/{print $4}'
;;
waiting)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk '/Waiting/{print $6}'
;;
accepts)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk 'NR==3 {print $1}'
;;
ping)
/sbin/pidof nginx | wc -l
;;
handled)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk 'NR==3{print $2}'
;;
requests)
/usr/bin/curl --insecure "http://$HOST:$PORT/sc_status" 2>/dev/null| awk 'NR==3{print $3}'
;;
esac
(3)编辑自定义的用户参数文件
[root@bnginx zabbix_agentd.d]
[root@bnginx zabbix_agentd.d]
UserParameter=sc.nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_data.sh $1
[root@bnginx zabbix_agentd.d]
[root@centos-LB-1 zabbix_agentd.d]
(4)在zabbix-server进行执行,测试key是否可以使用。
[root@zabbix-server ~]
278
5.添加监控项,在zabbix-server的前端页面进行操作
(1)示范添加ping,这个数据,这个数据也就是查看nginx是否正常运行,0代表nginx没有运行,1代表nginx正在运行。如下图所示 点击创建应用集 创建监控项 创建图形 创建触发器 点击插入 最后点击最下方的添加即可。
6.查看效果
能找到刚刚图形的命名即可,可以把nginx服务关一下,数据就会有变化。
总结
至此,zabbix自定义监控项完成!
|