在使用zabbix的过程中,如果模板没有满足我们的需求,那我们可以自定义监控项,下方是举例监控一些服务前端动态码是否正常。
一、准备工作
两台机器:一台zabbix-server的linux服务器,另外几台是已经安装rabbitmq、rancher、kibana和harbor的linux服务器。在rabbitmq、rancher、kibana和harbor的linux服务器中安装zabbix-agent,采用的都是centos7系统。
二、获取值:
使用curl命令来访问具体服务的URL地址并通过grep和awk来获取想要的值
curl --insecure -I -s -m 10 -u USER:PASSWORD "http://172.18.56.56:5000" 2>/dev/null | grep HTTP|awk '{print $2}'
获取到的对应的值后,需要编写脚本来让zabbix-agent调用该脚本完成实时监控,如Shell,完成具体取值:
mkdir /etc/zabbix/scripts
vim /etc/zabbix/scripts/monitor.sh
case $1 in
rancher)
/usr/bin/curl --insecure -I -s -m 10 -u USER:PASSWORD "http://HOST:PROT" 2>/dev/null | grep HTTP|awk '{print $2}'
;;
kibana)
/usr/bin/curl --insecure -I -s -m 10 -u USER:PASSWORD "http://HOST:PROT" 2>/dev/null | grep HTTP|awk '{print $2}'
;;
harbor)
/usr/bin/curl --insecure -I -s -m 10 -u USER:PASSWORD "http://HOST:PROT" 2>/dev/null | grep HTTP|awk '{print $2}'
;;
rabbitmq)
/usr/bin/curl --insecure -I -s -m 10 -u USER:PASSWORD "http://HOST:PROT" 2>/dev/null | grep HTTP|awk '{print $2}'
;;
esac
因为脚本是供zabbix-agent使用的,所以要把/etc/zabbix目录下所有的文件(包括子文件)都要改属主和属组且脚本需要添加执行权限。
chown -R zabbix:zabbix /etc/zabbix
chmod +x /PATH/***.sh
三、配置/etc/zabbix/zabbix_agent.conf配置文件,并设定key
修改/etc/zabbix/zabbix_agent.conf文件中的 UnsafeUserParameters=1
#创建配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/monitor.conf
#填入:
UserParameter=monitor.status[*],/etc/zabbix/scripts/monitor.sh $1
#给脚本执行权限
[root@localhost ~]# chmod +x /etc/zabbix/scripts/monitor.sh
配置完成后重启Zabbix-agent:
systemctl restart zabbix-agent
#生成新值
[root@localhost ~]# zabbix_agentd -p
如果配置正常,执行完zabbix_agentd -p会出现类似monitor.status的字样。
四、zabbix服务器端测试get数据
[root@Zabbix-Server ~]# zabbix_get -s HOST_IP -k monitor.status[rancher]
200
[root@Zabbix-Server ~]# zabbix_get -s HOST_IP -k monitor.status[kibana]
200
[root@Zabbix-Server ~]# zabbix_get -s HOST_IP -k monitor.status[harbor]
200
[root@Zabbix-Server ~]# zabbix_get -s HOST_IP -k monitor.status[rabbitmq]
200
五、zabbix配置关联主机
目标主机的zabbix_agent.conf配置信息:
zabbix的配置流程大致如下:
创建主机组=>添加主机=>创建监控模板=>创建应用集=>创建监控项=>创建图像=>创建触发器=>创建事件=>创建处理动作=>创建用户组与用户=>创建告警方式
5.1)添加主机
添加自定义监控项,在zabbix-server的前端页面进行操作:
应用集名称自定义
创建监控项:
仅登录用户可评论,点击 登录