Elasticsearch 的 cat.health API 是一个用来获取 Elasticsearch 集群当前健康状态的 API 接口。它提供了关于集群健康的关键信息,帮助运维人员或系统管理员了解和监控集群的状态。
通过调用这个 API,可以获取到如下几个关键指标:
- cluster: 集群的名字。
- status: 集群的健康状态,可能的值包括 green、yellow 和 red。其中 green 表示一切正常,所有的主分片和副本分片都正常工作;yellow 表示所有的主分片都正常,但是一些副本分片没有被正确分配;red 表示有主分片没有被正确分配。
- node.total: 集群中节点的总数。
- node.data: 参与数据存储的节点数。
- shards: 集群中分片的总数。
- pri: 主分片的数量。
- relo: 正在迁移的分片数。
- init: 正在初始化的分片数。
- unassign: 未分配的分片数。
- active_shards_percent: 活跃分片的百分比。
例如,如果你想检查你的 Elasticsearch 集群的健康状况,你可以使用 curl 命令发送 HTTP 请求到 cat.health API:
bashcurl -X GET "localhost:9200/_cat/health?v=true"
这将返回类似以下格式的输出:
shellepoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks active_shards_percent 1604313681 12:34:41 elasticsearch yellow 5 5 20 10 2 0 5 0 93.3%
这个输出提供了一目了然的信息,显示集群名为 "elasticsearch",状态是 "yellow",有 5 个节点,20 个分片其中 10 个是主分片,5 个分片未分配,活跃分片百分比为 93.3%。
通过定期监控这些指标,可以及时发现和解决集群中可能出现的问题,保证集群的稳定运行。
2024年8月13日 13:43 回复