Elasticsearch是一个高度可扩展的,分布式的,开源的RESTful搜索和分析引擎。它包含HTTP网络界面和无模式JSON文档的多租户功能。Elasticsearch基于Apache Lucene,是当今最受欢迎的企业搜索引擎之一,能够解决越来越多的用例,例如日志分析,实时应用程序监控和点击流分析。
让我们看一下监控Elasticsearch所需看到的内容,要收集的性能指标以及如何通过Applications Manager的Elasticsearch监控来确保搜索服务器正常运行 :
使用REST API添加新的Elasticsearch监视器: 点击此处
要创建Elasticsearch Monitor,请遵循以下步骤:

通过点击监视器选项卡,转到监视器类别视图。点击Web服务器/服务表下的Elasticsearch和ElasticsearchCluster监视器。显示的是分配到三个选项卡的Elasticsearch或ElasticsearchCluster批量配置视图:
点击监视器名称以查看以下选项卡下列出的所有服务器详细信息:
| 参数 | 描述 |
|---|---|
| 节点详细信息 | |
| 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 | 该队列中任务的总等待时间。 |
| 参数 | 描述 |
|---|---|
| 索引概述 | |
| 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 | 集群的发布端口。 |
| 参数 | 描述 |
|---|---|
| 平均系统负载 | |
| 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数量 | |
| 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供应商。 |
它允许我们跟踪关键指标,如响应时间、资源利用率、错误率和交易性能。实时监控告警会及时通知我们任何问题或异常,使我们能够立即采取行动。
审稿人角色:研究与开发

Lexmark技术支持经理