使用 Amazon CloudWatch 监控集群指标 - Amazon Elasticsearch Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Amazon CloudWatch 监控集群指标

解释运行状况控制面板

Amazon ES 控制台中的实例运行状况选项卡使用方框图来提供每个 Elasticsearch 节点的运行状况的可见性信息概览。

  • 每个彩色框显示指定时间段内节点的值范围。

  • 蓝框表示与其他节点一致的值。红框表示异常值。

  • 每个框中的白线显示节点的当前值。

  • 每个框两侧的“细线”显示该时间段内所有节点的最小值和最大值。

Amazon ES 域每分钟向 Amazon CloudWatch 发送一次性能指标。如果您使用通用型 EBS 卷或磁性 EBS 卷,则 EBS 卷指标将仅每五分钟更新一次。要查看这些指标,请使用 Amazon Elasticsearch Service 控制台中的 Cluster health (集群运行状况)Instance health (实例运行状况) 选项卡。这些指标是免费提供的。

如果对您的域进行配置更改,则 Cluster health (集群运行状况)Instance health (实例运行状况) 选项卡中各个实例的列表的大小通常会在短时间内增长一倍,然后再恢复为正确数量。有关此行为的说明,请参阅配置更改

Amazon ES 指标分为以下几个类别:

注意

该服务会将指标存档两周,然后再丢弃。

集群指标

AWS/ES 命名空间包括以下集群指标。

指标 说明
ClusterStatus.green

值为 1 指示将所有索引分片分配给集群中的节点。

相关统计数据:Maximum

ClusterStatus.yellow 值为 1 指示将所有索引的主要分片分配给集群中的节点,但是至少有一个索引的分片副本不是如此。有关更多信息,请参阅 黄色集群状态

相关统计数据:Maximum

ClusterStatus.red

值为 1 指示至少一个索引的主分片和副本分片未分配给集群中的节点。有关更多信息,请参阅 红色集群状态

相关统计数据:Maximum

Nodes

Amazon ES 集群中的节点数,包括专用主节点和 UltraWarm 节点。有关更多信息,请参阅配置更改

相关统计数据:Maximum

SearchableDocuments

跨集群中所有数据节点的可搜索文档的总数。

相关统计数据:Minimum、Maximum、Average

DeletedDocuments

跨集群的所有数据节点已标记为删除的文档总数。这些文档不会再出现在搜索结果中,但 Elasticsearch 只会在分段合并期间将已删除的文档从磁盘中移除。此指标在提出删除请求后会增加,在分段合并后会减少。

相关统计数据:Minimum、Maximum、Average

CPUUtilization

集群中数据节点的 CPU 利用率百分比。最大值显示 CPU 利用率最高的节点。平均值表示集群中的所有节点。此指标也可用于单独的节点。

相关统计数据:Maximum、Average

FreeStorageSpace

集群中各数据节点的可用空间。Sum 显示集群的总可用空间,但您必须保留一分钟的时间来获取准确值。MinimumMaximum 分别显示具有最大和最小可用空间的节点。此指标也可用于单独的节点。Amazon ES 在此指标达到 0 时引发 ClusterBlockException。要恢复,您必须删除索引,添加更大的实例,或向现有实例添加基于 EBS 的存储。要了解更多信息,请参阅“缺少可用存储空间”。

Amazon ES 控制台以 GiB 为单位显示此值。Amazon CloudWatch 控制台以 MiB 为单位显示它。

注意

FreeStorageSpace 将始终小于 Elasticsearch _cluster/stats API 提供的值。Amazon ES 在每个实例上为内部操作预留一个存储空间百分比。

相关统计数据:Minimum、Maximum、Average、Sum

ClusterUsedSpace

集群的已使用空间总量。您必须保留一分钟的时间来获取准确值。

Amazon ES 控制台以 GiB 为单位显示此值。Amazon CloudWatch 控制台以 MiB 为单位显示它。

相关统计数据:Minimum、Maximum

ClusterIndexWritesBlocked

指示您的集群是接受还是阻止传入的写入请求。值为 0 表示集群接受请求。值为 1 表示阻止请求。

许多因素都可能导致集群开始阻止请求。一些常见的因素包括:FreeStorageSpace 过低、JVMMemoryPressure 过高、或 CPUUtilization 过高。为了缓解这一问题,可以考虑增加磁盘空间或扩展集群。

相关统计数据:Maximum

JVMMemoryPressure

用于集群中所有数据节点的 Java 堆的最大百分比。Amazon ES 将实例的一半 RAM 用于 Java 堆,最大堆大小为 32 GiB。您最多可以将实例的 RAM 垂直扩展至 64GiB,此时可以通过添加实例水平扩展。请参阅 建议的 CloudWatch 警报

相关统计数据:Maximum

AutomatedSnapshotFailure

集群的失败的自动快照的数量。值 1 指示在过去的 36 个小时内未为域拍摄自动快照。

相关统计数据:Minimum、Maximum

CPUCreditBalance

集群中的数据节点可用的剩余 CPU 积分。一个 CPU 积分提供一个完整 CPU 核心在一分钟内的性能。有关更多信息,请参阅 Amazon EC2 开发人员指南 中的 CPU 积分。此指标仅对 t2.micro.elasticsearcht2.small.elasticsearcht2.medium.elasticsearch 实例类型有效。

相关统计数据:Minimum

KibanaHealthyNodes

Kibana 运行状况检查。值为 1 表示行为正常。值为 0 表示无法访问 Kibana。在大多数情况下,Kibana 的运行状况反映了集群的运行状况。

相关统计数据:Minimum

KMSKeyError

值 1 表示已禁用用于加密静态数据的 KMS 客户主密钥。要将域还原为正常操作,请重新启用该密钥。控制台仅对该加密静态数据的域显示此指标。

相关统计数据:Minimum、Maximum

KMSKeyInaccessible

值 1 表示已删除用于加密静态数据的 KMS 客户主密钥或已撤销其对 Amazon ES 的授权。您无法恢复处于此状态的域。但如果您具有手动快照,则可以使用它将该域的数据迁移到新域。控制台仅对该加密静态数据的域显示此指标。

相关统计数据:Minimum、Maximum

InvalidHostHeaderRequests

针对 Elasticsearch 集群的包含无效(或缺少)主机标头的 HTTP 请求数。有效请求包括域主机名作为主机标头值。Amazon ES 拒绝对没有限制性访问策略的公有访问域的无效请求。我们建议对所有域应用限制性访问策略。

如果您看到此指标的较大值,请确认您的 Elasticsearch 客户端在其请求中包含域主机名(例如,而不是其 IP 地址)。

相关统计数据:汇总

ElasticsearchRequests

对 Elasticsearch 集群发出的请求数。

相关统计数据:汇总

2xx, 3xx, 4xx, 5xx

导致指定的 HTTP 响应代码(2xx、3xx、4xx、5xx)的对域的请求数。

相关统计数据:汇总

专用主节点指标

AWS/ES 命名空间包括专用主节点的以下指标。

指标 说明
MasterCPUUtilization

专用主节点使用的 CPU 资源的最大百分比。建议在此指标达到 60% 时增加实例类型的大小。

相关统计数据:Average

MasterFreeStorageSpace

此指标不相关,可以被忽略。该服务不使用主节点作为数据节点。

MasterJVMMemoryPressure

用于集群中所有专用主节点的 Java 堆的最大百分比。建议在此指标达到 85% 时迁移到更大的实例类型。

相关统计数据:Maximum

MasterCPUCreditBalance

集群中专用主节点可用的剩余 CPU 积分。一个 CPU 积分提供一个完整 CPU 核心在一分钟内的性能。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 CPU 积分。此指标仅对 t2.micro.elasticsearcht2.small.elasticsearcht2.medium.elasticsearch 实例类型有效。

相关统计数据:Minimum

MasterReachableFromNode

MasterNotDiscovered 运行状况检查异常。值为 1 表示行为正常。值为 0 表示 /_cluster/health/ 失败。

失败意味着主节点已停止或无法访问。这通常是由网络连接问题或 AWS 依赖问题导致的。

相关统计数据:Minimum

MasterSysMemoryUtilization

使用中的主节点内存的百分比。

相关统计数据:Maximum

EBS 卷指标。

AWS/ES 命名空间包括 EBS 卷的以下指标。

指标 说明
ReadLatency

EBS 卷上读取操作的延迟(以秒为单位)。

相关统计数据:Minimum、Maximum、Average

WriteLatency

EBS 卷上写入操作的延迟(以秒为单位)。

相关统计数据:Minimum、Maximum、Average

ReadThroughput

EBS 卷上读取操作的吞吐量(以字节/秒为单位)。

相关统计数据:Minimum、Maximum、Average

WriteThroughput

EBS 卷上写入操作的吞吐量(以字节/秒为单位)。

相关统计数据:Minimum、Maximum、Average

DiskQueueDepth

针对 EBS 卷的待处理输入和输出 (I/O) 请求的数量。

相关统计数据:Minimum、Maximum、Average

ReadIOPS

针对 EBS 卷上的读取操作的每秒输入和输出 (I/O) 操作数。

相关统计数据:Minimum、Maximum、Average

WriteIOPS

针对 EBS 卷上的写入操作的每秒输入和输出 (I/O) 操作数。

相关统计数据:Minimum、Maximum、Average

实例指标

AWS/ES 命名空间包含域中各个实例的以下指标。Amazon ES 还聚合这些实例指标以让您更好地了解总体集群运行状况。您可以使用控制台中的 Data samples (数据样本) 统计数据验证此行为。请注意,下表中的每个指标对于节点 集群都有相关的统计数据。

重要

Elasticsearch 的不同版本使用不同的线程池来处理对 _index API 的调用。Elasticsearch 1.5 和 2.3 使用索引线程池。Elasticsearch 5.x、6.0 和 6.2 使用批量线程池。6.3 和更高版本使用写入线程池。目前,Amazon ES 控制台不包含批量线程池的图形。

指标 说明
IndexingLatency

分片完成索引操作所需的平均时间,以毫秒为单位。

相关节点统计数据:Average

相关集群统计数据:Average、Maximum

IndexingRate

每分钟的索引操作数。对 _bulk API 的单次调用,该 API 添加两个文档并将两个计数更新为四个操作,这可在一个或多个节点中扩散。如果该索引有一个或多个副本,集群中的其他节点也会记录总计四个索引编制操作。文档删除不计入此指标。

相关节点统计数据:Average

相关集群统计数据:Average、Maximum、Sum

SearchLatency

数据节点上的分片完成搜索操作所需的平均时间,以毫秒为单位。

相关节点统计数据:Average

相关集群统计数据:Average、Maximum

SearchRate

数据节点上所有分片的每分钟搜索请求总数。对 _search API 的单次调用可能会从许多不同的分片返回结果。如果这些分片中有 5 个位于一个节点上,则节点会为此指标报告 5 次,即使客户只发出一次请求也是如此。

相关节点统计数据:Average

相关集群统计数据:Average、Maximum、Sum

SysMemoryUtilization

使用中的实例内存的百分比。此指标的值较高是正常的,通常不表示集群存在问题。有关潜在性能和稳定性问题的更好指示,请参阅 JVMMemoryPressure 指标。

相关节点统计数据:Minimum、Maximum、Average

相关集群统计数据:Minimum、Maximum、Average

JVMGCYoungCollectionCount

“年轻代”垃圾回收的运行次数。大量不断增长的运行数对于集群操作来说是正常的。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

JVMGCYoungCollectionTime

集群执行“年轻代”垃圾回收所花费的时间,以毫秒为单位。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

JVMGCOldCollectionCount

“年老代”垃圾回收的运行次数。在具有足够资源的集群中,此数字应保持很小并且不会频繁增长。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

JVMGCOldCollectionTime

集群执行“年老代”垃圾回收所花费的时间,以毫秒为单位。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

ThreadpoolForce_mergeQueue

强制合并线程池中的排队任务数。如果队列大小一直很大,请考虑扩展您的集群。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

ThreadpoolForce_mergeRejected

强制合并线程池中的已拒绝任务数。如果此数字持续增长,请考虑扩展您的集群。

相关节点统计数据:Maximum

相关集群统计数据:Sum

ThreadpoolForce_mergeThreads

强制合并线程池的大小。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

ThreadpoolIndexQueue

索引线程池中的排队任务数。如果队列大小一直很大,请考虑扩展您的集群。索引队列的最大大小为 200。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

ThreadpoolIndexRejected

索引线程池中的已拒绝任务数。如果此数字持续增长,请考虑扩展您的集群。

相关节点统计数据:Maximum

相关集群统计数据:Sum

ThreadpoolIndexThreads

索引线程池的大小。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

ThreadpoolSearchQueue

搜索线程池中的排队任务数。如果队列大小一直很大,请考虑扩展您的集群。搜索队列的最大大小为 1000。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

ThreadpoolSearchRejected

搜索线程池中的已拒绝任务数。如果此数字持续增长,请考虑扩展您的集群。

相关节点统计数据:Maximum

相关集群统计数据:Sum

ThreadpoolSearchThreads

搜索线程池的大小。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

ThreadpoolBulkQueue

批量线程池中的排队任务数。如果队列大小一直很大,请考虑扩展您的集群。

相关节点统计数据:Maximum

相关集群统计数据:Sum、Maximum、Average

ThreadpoolBulkRejected

批量线程池中的已拒绝任务数。如果此数字持续增长,请考虑扩展您的集群。

相关节点统计数据:Maximum

相关集群统计数据:Sum

ThreadpoolBulkThreads

批量线程池的大小。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

ThreadpoolWriteThreads

写入线程池的大小。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

ThreadpoolWriteRejected

写入线程池中的已拒绝任务数。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

ThreadpoolWriteQueue

写入线程池中的排队任务数。

相关节点统计数据:Maximum

相关集群统计数据:Average、Sum

UltraWarm 指标

AWS/ES 命名空间包括 UltraWarm 节点的以下指标。

指标 说明
WarmCPUUtilization

集群中 UltraWarm 节点的 CPU 利用率百分比。最大值显示 CPU 利用率最高的节点。平均值表示集群中的所有 UltraWarm 节点。此指标也可用于单独的 UltraWarm 节点。

相关统计数据:Maximum、Average

WarmFreeStorageSpace

以 MiB 为单位的可用温存储空间量。由于 UltraWarm 使用 Amazon S3 而不是附加的磁盘,因此 Sum 是唯一相关的统计数据。您必须保留一分钟的时间来获取准确值。

相关统计数据:汇总

WarmJVMMemoryPressure

用于 UltraWarm 节点的 Java 堆的最大百分比。

相关统计数据:Maximum

WarmSearchableDocuments

跨集群中所有温索引的可搜索文档的总数。您必须保留一分钟的时间来获取准确值。

相关统计数据:汇总

WarmSearchLatency

UltraWarm 节点上的分片完成搜索操作所需的平均时间,以毫秒为单位。

相关节点统计数据:Average

相关集群统计数据:Average、Maximum

WarmSearchRate

UltraWarm 节点上所有分片的每分钟搜索请求总数。对 _search API 的单次调用可能会从许多不同的分片返回结果。如果这些分片中有 5 个位于一个节点上,则节点会为此指标报告 5 次,即使客户只发出一次请求也是如此。

相关节点统计数据:Average

相关集群统计数据:Average、Maximum、Sum

WarmStorageSpaceUtilization

集群使用的热存储空间总量。Amazon ES 控制台以 GiB 为单位显示此值。Amazon CloudWatch 控制台以 MiB 为单位显示它。

相关统计数据:Max

HotStorageSpaceUtilization

集群使用的热存储空间总量。Amazon ES 控制台以 GiB 为单位显示此值。Amazon CloudWatch 控制台以 MiB 为单位显示它。

相关统计数据:Max

WarmSysMemoryUtilization

使用中的温节点内存的百分比。

相关统计数据:Maximum

HotToWarmMigrationQueueSize

当前从热存储迁移到温存储的索引数。

相关统计数据:Maximum

WarmToHotMigrationQueueSize

当前从温存储迁移到热存储的索引数。

相关统计数据:Maximum

警报指标

AWS/ES 命名空间包括警报功能的以下指标。

指标 说明
AlertingDegraded

值为 1 表示警报索引为红色,或一个或多个节点未按计划运行。值为 0 表示行为正常。

相关统计数据:Maximum

AlertingIndexExists

值为 1 表示 .opendistro-alerting-config 索引存在。值为 0 表示该索引不存在。在您首次使用警报功能之前,此值将保持为 0。

相关统计数据:Maximum

AlertingIndexStatus.green

索引的运行状况。值为 1 表示绿色。值为 0 表示索引不存在或不是绿色。

相关统计数据:Maximum

AlertingIndexStatus.red

索引的运行状况。值为 1 表示红色。值为 0 表示索引不存在或不是红色。

相关统计数据:Maximum

AlertingIndexStatus.yellow

索引的运行状况。值为 1 表示黄色。值为 0 表示索引不存在或不是黄色。

相关统计数据:Maximum

AlertingNodesNotOnSchedule

值为 1 表示某些作业未按计划运行。值为 0 表示所有警报作业都按计划运行(或警报作业不存在)。检查 Amazon ES 控制台或发出 _nodes/stats 请求,以查看是否有节点显示高资源使用率。

相关统计数据:Maximum

AlertingNodesOnSchedule

值为 1 表示所有警报作业都按计划运行(或警报作业不存在)。值为 0 表示某些作业未按计划运行。

相关统计数据:Maximum

AlertingScheduledJobEnabled

值为 1 表示 opendistro.scheduled_jobs.enabled 集群设置为 true。值为 0 表示该设置为 false,并且计划的作业已禁用。

相关统计数据:Maximum

异常检测指标

AWS/ES 命名空间包括异常检测功能的以下指标。

指标 说明
AnomalyDetectionPluginUnhealthy

值为 1 表示异常检测插件无法正常工作,或者因为故障次数太多,或者因为它使用了一个红色的索引。值为 0 表示插件正按预期工作。

相关统计数据:Maximum

AnomalyDetectionRequestCount

检测异常的请求数。

相关统计数据:汇总

AnomalyDetectionFailureCount

检测异常的失败请求数。

相关统计数据:汇总

AnomalyResultsIndexStatusIndexExists

值为 1 表示 .opendistro-anomaly-results 别名指向的索引存在。在首次使用异常检测功能之前,此值将保持为 0。

相关统计数据:Maximum

AnomalyResultsIndexStatus.red

值为 1 表示 .opendistro-anomaly-results 别名指向的索引为红色。值为 0 表示不是。在首次使用异常检测功能之前,此值将保持为 0。

相关统计数据:Maximum

AnomalyDetectorsIndexStatusIndexExists

值为 1 表示 .opendistro-anomaly-detectors 索引存在。值为 0 表示该索引不存在。在首次使用异常检测功能之前,此值将保持为 0。

相关统计数据:Maximum

AnomalyDetectorsIndexStatus.red

值为 1 表示 .opendistro-anomaly-detectors 索引为红色。值为 0 表示不是。在首次使用异常检测功能之前,此值将保持为 0。

相关统计数据:Maximum

ModelsCheckpointIndexStatusIndexExists

值为 1 表示 .opendistro-anomaly-checkpoints 索引存在。值为 0 表示该索引不存在。在首次使用异常检测功能之前,此值将保持为 0。

相关统计数据:Maximum

ModelsCheckpointIndexStatus.red

值为 1 表示 .opendistro-anomaly-checkpoints 索引为红色。值为 0 表示不是。在首次使用异常检测功能之前,此值将保持为 0。

相关统计数据:Maximum

SQL 指标

AWS/ES 命名空间包括 SQL 支持的以下指标。

指标 说明
SQLFailedRequestCountByCusErr

由于客户端问题而失败的对 _opendistro/_sql API 的请求数。例如,请求可能会因 IndexNotFoundException 返回 HTTP 状态代码 400。

相关统计数据:汇总

SQLFailedRequestCountBySysErr

由于服务器问题或功能限制而失败的对 _opendistro/_sql API 的请求数。例如,请求可能会因 VerificationException 返回 HTTP 状态代码 503。

相关统计数据:汇总

SQLRequestCount

_opendistro/_sql API 的请求数。

相关统计数据:汇总

SQLDefaultCursorRequestCount

类似于 SQLRequestCount,但仅统计分页请求。

相关统计数据:汇总

SQLUnhealthy

值为 1 表示 SQL 插件将返回 5xx 响应代码或将无效的查询 DSL 传递到 Elasticsearch 来响应特定请求。其他请求将继续成功。值为 0 表示最近未失败。如果您看到持续值为 1,请排查您的客户端对插件发出的请求的问题。

相关统计数据:Maximum

KNN 指标

AWS/ES 命名空间包括 KNN 的指标。有关每个指标的摘要,请参阅 Open Distro for Elasticsearch 文档

AWS/ES 命名空间包括跨集群搜索的以下指标。

源域指标

指标 维度 说明
CrossClusterOutboundConnections

ConnectionId

连接的节点数。如果响应中包含一个或多个跳过的域,则可使用此指标跟踪任何运行状况不佳的连接。如果此数值降至 0,则连接运行状况不佳。

CrossClusterOutboundRequests

ConnectionId

发送到目标域的搜索请求数。用于检查跨集群搜索请求的负载是否使域不堪重负,将此指标的任何峰值与任何 JVM/CPU 峰值相关联。

目标域指标

指标 维度 说明
CrossClusterInboundRequests

ConnectionId

从源域接收的传入连接请求数。

如果意外丢失连接,可添加 CloudWatch 警报。有关创建警报的步骤,请参阅基于静态阈值创建 CloudWatch 警报