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
}