您的位置:首页 > 运维架构

zabbix监控elasticSearch集群健康值green yellow red状态

2017-11-13 23:56 585 查看

1、需求:

需要zabbix对es集群的健康值进行监控。因为在有的时候几点并没有挂掉,但是es的集群健康值已经百年城red状态,而我们之前监控的进程是无法监控到es的集群状态。

2、首先我们可以根据es的指令看到es的集群状态

curl 192.168.14.148:9200/_cat/health




3、我们可以写一个python的脚本来获取这个green的值,然后就和zabbix自定义监控项的步骤是一样的了,前面有介绍。

import commands
command = 'curl 192.168.14.148:9200/_cat/health'
(a, b) = commands.getstatusoutput(command)
status= b.split(' ')[157]
if status=='red':
healthy=0
else:
healthy=1

print healthy


==注意==:这里执行脚本的时候可以加几行打印出得到的具体是什么结果,然后根据结果来获取状态的真实位置的信息,图中的【157】。



执行上面的python脚本就可以得到healthy的值的状态。

4、配置zabbix自定义监控事件。

在/etc/zabbix/zabbix-agent.d/目录下面添加一个检查es集群健康值的.conf结尾的文件。



查看该文件中的内容

# es-healthy
UserParameter=es_healthy,python  /opt/check_es_healthy.py


/opt/check_es_healthy.py该文件就是上面python脚本的文件和位置,该脚本切记不能放在.conf同一个目录下,否则zabbix-agent重启失败。

在zabbix_get端去获取该值,获取之前记得要重启zabbix-agent服务

zabbix_get -s 192.168.14.148 -k es_healthy




5、在zabbix中配置item,triggers,和action。之前zabbix模块中有具体介绍,这里就不再说明了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: