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

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模块中有具体介绍,这里就不再说明了。

猜你喜欢

转载自blog.csdn.net/wyl9527/article/details/78526183