zabbix item 自定义监控项 监控redis状态

zabbix自定义监控项


通过添加模板,zabbix自动为我们创建了很多监控项,但是往往模板中的监控项并不能满足我们业务需要,我们时常需要自己根据业务需要创建一系列的监控项,也成为自定义监控项。

监控项:zabbix进行监控的一个指标,zabbix中称为item,它的值由独立的key进行识别。

 

自定义监控项监控redis


后台服务需要不间断运行,意外退出后,需要将其重新拉起。常常可以通过向进程发送信号0,然后根据返回值来判断一个进程是否存在。比如进程名字为A,那么exsit="killall -0 A;echo $?"

exsit为0就表示进程A存在,否则表示不存在。可以利用这个创建脚本来实现自定义监控项来监控redis状态

[root@localhost utils]# yum install psmisc-22.20-16.el7.x86_64 -y  --killall的安装包
[root@localhost ~]# chmod u+s /usr/bin/killall --这个是在zabbix用户使用这个命令的时候瞬间变成的root身份,对该命令有使用权限
[root@localhost ~]# cat /etc/passwd | grep zabbix
zabbix:x:997:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin


[root@localhost ~]# killall -0 redis-server
redis-server: no process found
[root@localhost ~]# echo $?
1

[root@localhost ~]# /etc/init.d/redis_6379 start
Starting Redis server...
[root@localhost ~]# killall -0 redis-server
[root@localhost ~]# echo $?
0

自定义监控redis脚本如下,根据killall -0的执行结果来判断redis状态

[root@localhost ~]# mkdir -p /data/sh/

[root@localhost ~]# vim /data/sh/redis_status.sh
[root@localhost ~]# chmod o+x /data/sh/redis_status.sh 


#注意这里要标注错误输出重定向到/dev/null要不然会出现下面情况
#[root@localhost ~]# bash /data/sh/redis_status.sh 
#redis-server: no process found
#0
[root@localhost ~]# cat /data/sh/redis_status.sh 
#!/bin/bash
killall -0 redis-server &>/dev/null
if [ $? -eq 0 ];then
	echo 1
else
	echo 0
fi

在zabbix agent端也就是你redis所在的服务器上zabbix agent配置文件加上如下配置 

[root@localhost ~]# vim /etc/zabbix_agentd.conf 
UserParameter=redis.status,/usr/bin/bash /data/sh/redis_status.sh

#修改完配置之后,重启你的agent端
[root@localhost ~]# systemctl restart zabbix-agent

测试上面配置的key是否存在问题,在zabbxi图形界面配置之前测试,避免zabbix不能正确获取到键值做无用功

#redis端测试(zabbix agent端)
[root@localhost ~]# vim /data/sh/redis_status.sh
[root@localhost ~]# bash /data/sh/redis_status.sh 
1
#zabbix server端获取键值
[root@localhost ~]# zabbix_get -s 192.168.179.104 -k "redis.status"
1


[root@localhost ~]# /etc/init.d/redis_6379 stop
Stopping ...
Redis stopped

#redis端测试(zabbix agent端)
[root@localhost ~]# bash /data/sh/redis_status.sh 
0
#zabbix server端获取键值
[root@localhost ~]# zabbix_get -s 192.168.179.104 -k "redis.status"
0

上面键值可以正确获取到开始配置zabbix sever图形界面

 自定义监控项配置完成后去看看图像有没有数据,下面可以看到配置成功监测到了redis状态

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/106651954