运维工程师监控工作之Elasticsearch关键指标采集方法
原创
©著作权归作者所有:来自51CTO博客作者oliverleeguo的原创作品,请联系作者获取转载授权,否则将追究法律责任
Elasticsearch组件依赖Java环境运行,除了监控ES所在服务器的操作系统、JVM等相关指标外,本文重点关注Elasticsearch自身监控指标。
ES核心功能是对外提供数据搜索服务,因此用户搜索请求的吞吐量、延迟时间是重点关注的,其内部是通过索引实现的,索引性能指标也是关键,另外ES为了实现高可用通常通过集群方式搭建,集群是否健康也需监控。
ES集群所有节点只要将配置文件中的cluster.name全设置为相同的值,就能够成功组成一个集群,ES会自动选出一个master节点。
ES是通过HTTP接口方式对外暴露指标的,例如查看集群整体使用情况需要访问HTTP接口/_cluster/health:
root@localhost ~ % curl -s -u root:123456 'http://10.206.16.3:9200/_cluster/health?pretty'
{
"cluster_name" : "elasticsearch-cluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 216,
"active_shards" : 432,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}