Zabbix监控es集群状态

简介: Zabbix监控es集群状态

es提供了一个可以获取集群健康状态的api,访问http://esurl:9200/_cluster/health?pretty


和 Elasticsearch 里其他 API 一样,cluster-health 会返回一个 JSON 响应。


640.jpg


响应的内容解释:


“cluster_name”: “my-es”,  #集群名

“status”: “yellow”,   #集群健康状态,正常的话是green,缺少副本分片为yellow,缺少主分片为red

“timed_out”: false,

“number_of_nodes”: 1,#集群节点数

“number_of_data_nodes”: 1,#数据节点数

“active_primary_shards”: 15,#主分片数

“active_shards”: 15,#可用的分片数

“relocating_shards”: 0,#正在迁移的分片数

“initializing_shards”: 0,#正在初始化的分片数

“unassigned_shards”: 15, #未分配的分片,但在集群中存在

“delayed_unassigned_shards”: 0, #延时待分配到具体节点上的分片数

“number_of_pending_tasks”: 0,  #待处理的任务数,指主节点创建索引并分配shards等任务

“number_of_in_flight_fetch”: 0,

“task_max_waiting_in_queue_millis”: 0,

“active_shards_percent_as_number”: 50  #可用分片数占总分片的比例


1.编写采集脚本获取集群状态


vim /monitor_es.py


#encoding=utf-8import requests,jsonimport sys
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"}
response=requests.get("http://192.168.179.133:9200/_cluster/health",headers=headers)
s=json.loads(response.content.decode())
parm=sys.argv[1]
itemlist=["cluster_name","status","timed_out","number_of_nodes","number_of_data_nodes","active_primary_shards","active_shards","relocating_shards","initializing_shards","unassigned_shards","delayed_unassigned_shards","number_of_pending_tasks","number_of_in_flight_fetch","task_max_waiting_in_queue_millis","active_shards_percent_as_number"]if parm not in itemlist:
    print("parm failed")
    sys.exit(1)else:
    print(s[parm])


给脚本赋予执行权限


chmod +x /monitor_es.py


2.修改zabbix-agent配置文件


vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf


UserParameter=es.[*],/usr/bin/python /monitor_es.py $1


重启zabbix-agent


sytemctl restart zabbix-agent


3.配置监控模板


创建监控模板


640.png


创建应用集


640.png


创建监控项


以创建集群健康状态监控项为例


640.jpg


创建完的监控项如下所示


640.jpg


创建触发器


640.jpg

640.png



创建图形


640.jpg


将模板链接到监控主机


640.png


可以看到添加之后的监控项成功收集到数据


640.png

相关文章
|
4月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
5月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
88 4
|
5月前
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
142 0
|
1月前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
22 0
|
2月前
|
数据采集 监控 数据库
请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
【2月更文挑战第25天】请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
26 2
|
3月前
|
监控 Cloud Native 关系型数据库
使用 Grafana 统一监控展示 - 对接 Zabbix
使用 Grafana 统一监控展示 - 对接 Zabbix
|
5月前
|
监控 Docker 容器
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
269 0
|
5月前
|
监控 Java
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
94 0
|
1月前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
149 0
|
5月前
|
存储 监控 前端开发
zabbix概述及简单的在centos7安装Zabbix5.0及添加监控对象
Zabbix是一种开源的企业级监控解决方案,用于实时监控网络、服务器、应用程序等各种设备和服务的性能和可用性,并提供通知和报警功能。它具有灵活可扩展、可定制化的特点,可以满足不同规模和需求的监控需求。
199 0

推荐镜像

更多