Elasticsearch监控


Elasticsearch-概述

Elasticsearch是一个高度可扩展的,分布式的,开源的RESTful搜索和分析引擎。它包含HTTP网络界面和无模式JSON文档的多租户功能。Elasticsearch基于Apache Lucene,是当今最受欢迎的企业搜索引擎之一,能够解决越来越多的用例,例如日志分析,实时应用程序监控和点击流分析。

监控Elasticsearch

让我们看一下监控Elasticsearch所需看到的内容,要收集的性能指标以及如何通过Applications Manager的Elasticsearch监控来确保搜索服务器正常运行 :

  • 资源利用率详细信息-Applications Manager自动发现Elasticsearch服务器,监控内存和CPU,并通知您线程池队列的资源消耗变化。
  • 实时数据-您可以实时了解集群运行时指标,各个集群节点,实时线程和配置。
  • 集群和节点监控-通过从磁盘I/O Java到内存使用情况的性能的细粒度统计信息,实时掌握集群和节点的健康状况。
  • 搜索和索引性能-完全控制索引和映射。监控查询延迟,文件系统缓存使用情况和请求速率,并在超过阈值时采取措施。
  • 更快地解决性能问题-遇到性能问题时,可立即获得通知。在终端用户遇到问题之前,请意识到性能瓶颈并采取快速的补救措施。

创建一个新的Elasticsearch监视器

使用REST API添加新的Elasticsearch监视器: 点击此处

要创建Elasticsearch Monitor,请遵循以下步骤:

  • 点击新建监视器链接。选择ElasticsearchCluster
  • 指定Elasticsearch监视器的显示名称
  • 输入主机名IP地址,其中Elasticsearch集群运行的主机。
  • 输入Elasticsearch集群的端口。默认情况下,它将是9200。
  • 输入 轮询间隔时间(以分钟为单位)。
  • 如果要测试对Elasticsearch服务器的访问,请点击测试凭证按钮。
  • 从组合框中选择要与Elasticsearch 监视器关联的业务组(可选)。您可以选择多个组来关联您的监视器。
  • 点击添加监视器。这将从网络中发现Elasticsearch并开始监控。

Demo

监控参数

通过点击监视器选项卡,转到监视器类别视图。点击Web服务器/服务表下的ElasticsearchElasticsearchCluster监视器。显示的是分配到三个选项卡的Elasticsearch或ElasticsearchCluster批量配置视图:

  • 可用性选项卡显示过去24小时或30天的可用性历史记录。
  • 性能选项卡显示过去24小时或30天的健康状况和事件。
  • 列表视图使您可以执行 批量管理配置。

点击监视器名称以查看以下选项卡下列出的所有服务器详细信息:

Elasticsearch集群

概览

参数 描述
节点详细信息
Cluster Name 节点所在的集群的名称。
Node Name 节点名称
Node Type 节点的类型(Client/Data/Master-Eligible/Data-Master)
Avg Query Time 搜索操作的第一阶段是查询。所有Shards处理查询所花费的时间
Avg Fetch Time 搜索操作的第二阶段是获取。仅从包含请求数据的Shards中检索查询结果所花费的时间。
集群概述
Cluster Status 集群的状态取决于集群的副本。
Total Nodes 集群中的节点总数。
Total Indices 集群中索引的总数。
Total Shards 集群中的Shards总数。
Total Docs 集群中存在的文档总数。
Total Pending Tasks 集群中待处理的任务总数。

集群详细信息

参数 描述
NODES SPLITUP
Client Node 集群中客户端节点的总数。
Data Node 集群中的数据节点总数。
Master Node 集群中的Master-Eligible节点总数。
Data-Master Node 数据节点的总数,还充当集群中的Master-Eligible节点。
SHARDS COUNT
Active Shards 集群中存在的活动Shards数。
Active Primary Shards 集群中处于活动状态的主Shards数。
Relocating Shards 集群中存在的重定位Shards数。
Initializing Shards 集群中存在的初始化Shards数。
Unassigned Shards 集群中未分配的Shards数。
Delayed Unassigned Shards 集群中存在的Shards延迟未分配Shards数。
Total Shards 集群中存在的Shards数。
Active Shards Percent 活跃Shards的百分比
Active Primary Shards Percent 活动主Shards的百分比
Relocating Shards Percent Shards百分比
Initializing Shards Percent 初始化Shards的百分比
Unassigned Shards Percent 未分配Shards的百分比
Delayed Unassigned Shards Percent 延迟未分配Shards的百分比
待处理的任务
Insert Order 任务插入队列的顺序
Priority 为特定任务分配的优先级
Source 待处理任务的来源
Time in Queue 该队列中任务的总等待时间。

Indices

参数 描述
索引概述
Index Name 代表文档集合的索引名称。
Documents 指示特定索引中可用的文档数。
Indexing Latency 在特定索引中为文档建立索引所花费的时间(以毫秒为单位)。
Indexing Rate 每秒索引的文档数。
Query Latency 处理特定索引中的查询所花费的时间(以毫秒为单位)。
Query Rate 每秒索引处理的查询数。
Fetch Latency 运行查询和检索特定索引中的数据所花费的时间(以毫秒为单位)。
Fetch Rate 每秒通过索引运行和检索数据的查询数。
Current Merges 指示特定索引中发生的合并数。
Merge Time 合并特定索引中的段所花费的时间(以毫秒为单位)。
Flush Time 将一个或多个索引刷新到磁盘所花费的时间(以毫秒为单位)。
Refresh Time 刷新索引所花费的时间(以毫秒为单位)。

配置

参数 描述
配置细节
Cluster Name 集群的名称。
Cluster Status 集群的状态。
Total Nodes 集群中的节点总数。
Master Node Name 集群中主节点的名称。
Master Node Port Elasticsearch的主节点运行所在的端口。
Master Node IP 主节点运行所在的IP地址。
Publish Port 集群的发布端口。

Elasticsearch

概览

参数 描述
平均系统负载
Avg. System Load 系统正在处理的负载量的平均值(最近1分钟,5分钟和15分钟)。
CPU利用率
CPU Utilization 节点当前正在使用的CPU量(%)。 
搜索时间
Average Query Time 搜索操作的第一阶段是查询。所有Shards处理查询所花费的时间
Average Fetch Time 搜索操作的第二阶段是获取。仅从包含请求数据的Shards中检索查询结果所花费的时间。
SEGMENT TIME
Average Merge Time 段在节点中合并所需的平均时间。(elasticsearch中的一个Shards是一个Lucene索引,分为若干段。这些段会定期合并成更大的段,以保持索引大小不变并删除删除项。)
Average Refresh Time 刷新索引所花费的平均时间。(刷新时间随Lucene索引的文件操作次数而增加)。
索引时间
Average Index Time 索引文档所花费的平均时间。(对文档建立索引,即对其进行存储并使其可搜索。)
Average Delete Time 删除现有索引所需的平均时间。
Indexed Count 已编制索引的文档数。
Deleted Count 删除的文件数。
Indexing Rate 每秒索引的文档数。
GET TIME
Average Get Time 检索有关一个或多个索引信息的平均时间
Existing Count 存在的获取请求的数量。
Missing Count 缺少的获取请求数。
FLUSH TIME
Average Flush Time 将一个或多个索引刷新到磁盘所需的平均时间。(索引的刷新过程基本上是通过将数据刷新到索引存储并清除内部事务日志来释放索引中的内存。)
WARMER TIME
Average Warmer Time 对索引执行预搜索所需的平均时间。(索引预热允许运行已注册的搜索请求,以在索引可用于搜索之前对其进行预热。)
PERCOLATE TIME
Average Percolate Time 运行渗滤器查询所花费的平均时间。(Elasticsearch的核心功能之一是能够使用过滤器反向搜索。过滤器会自动使用过滤器查询为查询词建立索引。这使过滤器可以更快地对文档进行过滤。)

内存详情

直接缓冲区池中使用的总空间。

参数 描述
堆内存
Used Heap Percent 当前正在使用的JVM堆的百分比。
Free Heap Percent 当前可用的JVM堆的百分比
非堆内存
Used Non-Heap Percent 当前正在使用的非堆内存的百分比。
Free Non-Heap Percent 当前可用的非堆内存百分比。
垃圾回收
GC Time - Young 用于新的垃圾回收的总时间。
GC Time - Old 用于旧式垃圾回收的总时间。
GC Count - Young 新的垃圾回收的总数。
GC Count - Old 旧式垃圾回收的总数。
缓冲池
Direct Buffer Space Used 直接缓冲区池中使用的总空间。
Mapped Buffer Space Used 映射的缓冲池中使用的总空间。
Direct Buffer Connection Count 与直接缓冲池的总连接数。
Mapped Buffer Connection Count 到映射缓冲池的总连接数。

I/O 详情

参数 描述
磁盘I/O数量
Disk Read Count Elasticsearch读取(从磁盘)请求的数量。
Disk Write Count Elasticsearch的写(对磁盘)请求数。
磁盘I/O大小
Disk Read Size Elasticsearch读取请求(来自磁盘)的总大小。
Disk Write Size Elasticsearch写入请求(到磁盘)的总大小。
缓存细节
Cache Name 缓存的名称。
Total Size (MB) 缓存的大小。
Evictions 筛选器缓存中的逐出次数。
Breaker详细信息
Breaker Name Breaker的名称。(Breaker被设计为处理请求处理所需的内存多于可用内存的情况。这意味着OOM(OutOfMemoryException)。因此,有时最好使查询失败而不是获得OOM,因为当OOM出现时,JVM变得无响应。)
Limit Size (MB) 特定Breaker的限制大小。
Used Size (MB) 特定Breaker的已用大小。
Tripped Breaker电路tripped的总次数。

线程池

参数 描述
线程详情
Thread Name 线程的名称。
Configured Threads 当前配置类型的线程数。
Queue 队列中当前类型的线程数。
Active 当前类型的活动线程数。
Rejected 当前类型的拒绝线程数。
Largest 当前类型的最大线程数。

网络

参数 描述
传输
Transmitted Bytes 网络发送的字节数。(有关集群通信的传输指标)
Received Bytes 网络接收的字节数。(有关集群通信的传输指标)
Transmitted Packets 网络发送的数据包数。(有关集群通信的传输指标)
Received Packets 网络发送的数据包数。(有关集群通信的传输指标)
TCP连接器
Active Connections 活动的TCP连接数。
Passive Connections 被动TCP连接数。
HTTP CONNECTOR
Current Connections 当前处于活动状态的http连接数。
Total Connections http连接总数。

配置

参数 描述
配置细节
Cluster Name 集群的名称。
Node Name 集群中节点的名称。
Node Type 节点的类型(Client/Data/Master-Eligible/Data-Master)。
Host 主机的IP地址。
ElasticSearch Version 已安装的Elasticsearch的版本。
Port Elasticsearch运行所在的端口。
ElasticSearch Home Elasticsearch的主目录。
Total Processors 当前节点中的处理器总数
Java Version 节点中运行的Java版本。
Java Vendor Java供应商。