7.3. 查看集群仪表板

OpenShift Container Platform web 控制台中的 Logging/Elasticsearch NodesOpenshift Logging 仪表板包括有关 Elasticsearch 实例以及用于防止和诊断问题的单个 Elasticsearch 节点的详细信息。

OpenShift Logging 仪表板包含 chart,在集群级别显示 Elasticsearch 实例的详情,包括集群资源、垃圾回收、集群中的分片和 Fluentd 统计。

Logging/Elasticsearch Nodes 仪表板包含 charts,显示 Elasticsearch 实例的详情,很多在节点级别,包括索引、分片、资源等详情。

7.3.1. 访问 Elasticsearch 和 OpenShift Logging 仪表板

您可以在 OpenShift Container Platform web 控制台中查看 Logging/Elasticsearch NodesOpenShift Logging 仪表板。

流程

启动仪表板:

  1. 在 OpenShift Container Platform web 控制台中点 ObserveDashboards
  2. Dashboards 页面中,从 Dashboard 菜单中选择 Logging/Elasticsearch NodesOpenShift Logging

    对于 Logging/Elasticsearch Nodes 仪表板,可以选择您要查看的 Elasticsearch 节点并设置数据解析。

    此时会显示正确的仪表板,显示多个数据图表。

  3. 可选:从 Time RangeRefresh Interval 菜单中选择不同时间范围来显示或刷新数据。

有关仪表板图表的信息,请参阅 关于 OpenShift Logging 仪表板关于 Logging/Elastisearch Nodes 仪表板

7.3.2. 关于 OpenShift Logging 仪表板

OpenShift Logging 仪表板包含 chart,可在集群级别显示 Elasticsearch 实例的详情,用于诊断和预期问题。

表 7.1. OpenShift Logging chart

指标描述

Elastic 集群状态

当前的 Elasticsearch 状态:

  • ONLINE - 表示 Elasticsearch 实例在线。
  • OFFLINE - 表示 Elasticsearch 实例离线。

弹性节点

Elasticsearch 实例中的 Elasticsearch 节点总数。

Elastic 分片

Elasticsearch 实例中的 Elasticsearch 分片的总数。

Elastic 文档

Elasticsearch 实例中的 Elasticsearch 文档总数。

磁盘上的总索引大小

正在用于 Elasticsearch 索引的总磁盘空间。

Elastic 待处理的任务

Elasticsearch 尚未完成的更改总数,如索引创建、索引映射、分片分配或分片失败。

Elastic JVM GC 时间

JVM 在集群中执行 Elasticsearch 垃圾回收操作所需的时间。

Elastic JVM GC 率

JVM 每秒执行垃圾操作的次数总数。

Elastic Query/Fetch Latency Sum

  • Query latency:Elasticsearch 搜索查询执行的平均时间。
  • 获取延迟:每个 Elasticsearch 搜索查询的平均时间获取数据。

获取延迟的时间通常比查询延迟要短。如果抓取延迟持续增加,则代表磁盘、数据配置速度较慢,或者带有许多结果的大量请求。

Elastic 查询率

每个 Elasticsearch 节点每秒对 Elasticsearch 实例执行的查询总数。

CPU

Elasticsearch、Fluentd 和 Kibana 使用的 CPU 数量,显示了各个组件的 CPU 数量。

已使用的 Elastic JVM Heap

使用的 JVM 内存量。在一个健康的集群中,图形显示由 JVM 垃圾回收所释放的内存。

Elasticsearch 磁盘使用量

Elasticsearch 实例用于每个 Elasticsearch 节点的总磁盘空间。

使用中的文件描述符

Elasticsearch、Fluentd 和 Kibana 使用的文件描述符总数。

Fluentd emit 数量

Fluentd 默认输出每秒的 Fluentd 消息总数,以及默认输出的重试计数。

Fluentd 缓冲使用

用于块的 Fluentd 缓冲的百分比。完整缓冲可能表示 Fluentd 无法处理收到的日志数量。

Elastic rx 字节

Elasticsearch 提供的 FluentD、Elasticsearch 节点和其它源的字节总数。

Elastic Index Failure Rate

Elasticsearch 索引失败的每秒总次数。高速率表示索引时出现问题。

Fluentd 输出错误率

FluentD 无法输出日志的每秒总次数。

7.3.3. Logging/Elasticsearch 节点仪表板上的图表

Logging/Elasticsearch Nodes 仪表板包含 charts,显示 Elasticsearch 实例的详情(很多在节点级别),以进行进一步诊断。

Elasticsearch 状态
Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 实例状态的以下图表。

表 7.2. Elasticsearch 状态字段

指标描述

集群状态

在所选时间段内的集群健康状态,使用 Elasticsearch 绿色、黄色和红色代表:

  • 0 - 表示 Elasticsearch 实例处于绿色状态,这意味着分配了所有分片。
  • 1 - 表示 Elasticsearch 实例处于黄色状态,这意味着至少一个分片的副本分片不会被分配。
  • 2 - 表示 Elasticsearch 实例处于红色状态,这意味着至少不分配一个主分片及其副本。

集群节点

集群中的 Elasticsearch 节点总数。

集群数据节点

集群中的 Elasticsearch 数据节点数量。

集群待定任务

集群状态更改的数量,这些更改尚未完成,并在集群队列中等待,例如索引创建、索引删除或分片分配。增长的倾向表示集群无法跟上变化。

Elasticsearch 集群索引分片状态
每个 Elasticsearch 索引都是一个或多个分片的逻辑组,它们是持久化数据的基本单元。索引分片有两种类型:主分片和副本分片。当将文档索引为索引时,会将其保存在其主分片中,并复制到该分片的每个副本中。当索引被创建时,主分片的数量会被指定,在索引生命周期内这个数量不能改变。您可以随时更改副本分片的数量。

索引分片可能处于几个状态,具体取决于其生命周期阶段或集群中发生的事件。当分片能够执行搜索和索引请求时,分片就是活跃的。如果分片无法执行这些请求,分片就不是活跃的。如果分片正在初始化、重新分配、取消分配等等,分片可能不是活跃的。

索引分片由多个较小的内部块组成,称为索引片段,它们是数据的物理表示。索引分段是一个相对较小的不可变 Lucene 索引,它是 Lucene 提交新索引数据时生成的。Lucene 是 Elasticsearch 使用的搜索库,将索引片段合并到后台里的较大片段,从而使片段总数较低。如果合并片段的过程比生成新网段的速度慢,则可能表明问题。

当 Lucene 执行数据操作(如搜索操作)时,Lucene 会根据相关索引中的索引片段执行操作。为此,每个片段都包含在内存中载入并映射的特定数据结构。索引映射会对片段数据结构使用的内存有重大影响。

Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 索引分片的以下图表。

表 7.3. Elasticsearch 集群分片状态 chart

指标描述

集群活跃分片

集群中活跃的主分片的数量和分片(包括副本)的总数。如果分片数量增加,集群性能就可以启动它。

集群初始化分片

集群中的非活跃分片数量。非活跃分片是正在初始化、被重新分配到不同节点或未分配的分片。集群通常具有非活跃分片(non-active 分片)的短时间。较长时间的非活跃分片数量增加可能代表有问题。

集群重新定位分片

Elasticsearch 重新定位到新节点的分片数量。Elasticsearch 由于多个原因重新定位节点,如在一个节点上或向集群中添加新节点时使用高内存。

集群未分配分片

未分配分片的数量。由于添加新索引或节点失败等原因,Elasticsearch 分片可能没有被分配。

Elasticsearch 节点指标
每个 Elasticsearch 节点都有有限的资源,可用于处理任务。当所有资源都被已被使用,Elasticsearch 尝试执行新任务时,Elasticsearch 会将任务放入队列等待出现可用的资源。

Logging/Elasticsearch Nodes 仪表板包含以下有关所选节点的资源使用情况,以及 Elasticsearch 队列中等待的任务数量的图表。

表 7.4. Elasticsearch 节点指标图表

指标描述

ThreadPool 任务

按任务类型显示的独立队列中等待的任务数量。在任何队列中的长期任务可能意味着节点资源短缺或其他问题。

CPU 用量

所选 Elasticsearch 节点使用的 CPU 量作为分配给主机容器的 CPU 总量的百分比。

内存用量

所选 Elasticsearch 节点使用的内存量。

磁盘用量

所选 Elasticsearch 节点上用于索引数据和元数据的总磁盘空间。

文档索引率

文档在所选 Elasticsearch 节点上索引的频率。

索引延迟

在所选 Elasticsearch 节点上索引文档所需时间。索引延迟会受到很多因素的影响,如 JVM Heap 内存和整个负载。延迟增加代表实例中资源容量不足。

搜索率

在所选 Elasticsearch 节点上运行的搜索请求数量。

搜索延迟

在所选 Elasticsearch 节点上完成搜索请求的时间。搜索延迟可能会受到很多因素的影响。延迟增加代表实例中资源容量不足。

文档计数(包括副本)

存储在所选 Elasticsearch 节点上的 Elasticsearch 文档数量,包括存储在主分片和节点上分配的副本分片中的文档。

文档删除速率

要从分配给所选 Elasticsearch 节点的任何索引分片中删除 Elasticsearch 文档的数量。

文档合并率

分配给所选 Elasticsearch 节点的任何索引分片中合并的 Elasticsearch 文档数量。

Elasticsearch 节点 fielddata
Fielddata 是一个 Elasticsearch 数据结构,它以索引形式保存术语列表,并保存在 JVM 堆中。因为 fielddata 构建非常昂贵,所以 Elasticsearch 会缓存 fielddata 结构。当底层索引分段被删除或合并时,或者没有足够 JVM HEAP 内存用于所有 fielddata 缓存时,Elasticsearch 可以驱除 fielddata 缓存,。

Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 字段数据的以下图表。

表 7.5. Elasticsearch 节点字段数据图表

指标描述

Fielddata 内存大小

用于所选 Elasticsearch 节点上的 fielddata 缓存的 JVM 堆数量。

Fielddata 驱除

从所选 Elasticsearch 节点中删除的 fielddata 结构数量。

Elasticsearch 节点查询缓存
如果索引中存储的数据没有改变,搜索查询结果会在节点级别的查询缓存中缓存,以便 Elasticsearch 重复使用。

Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 节点查询缓存的以下图表。

表 7.6. Elasticsearch 节点查询图表

指标描述

查询缓存大小

用于查询缓存的内存总量,用于分配给所选 Elasticsearch 节点的所有分片。

查询缓存驱除

所选 Elasticsearch 节点上的查询缓存驱除数量。

查询缓存点击

所选 Elasticsearch 节点上的查询缓存数量。

查询缓存丢失

所选 Elasticsearch 节点上丢失的查询缓存数。

Elasticsearch 索引节流
在索引文档时,Elasticsearch 将文档存储在索引片段中,这些部分是数据的物理表示。同时,Elasticsearch 会定期将较小的片段合并到较大的片段中,以优化资源使用。如果索引速度更快,那么合并过程就无法迅速完成,从而导致搜索和性能出现问题。为了防止这种情况,Elasticsearch 节流(throttles)的索引通常是通过减少分配给索引到单个线程的线程数量来实现的。

Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 索引节流的以下图表。

表 7.7. 索引节流图表

指标描述

索引节流

Elasticsearch 在所选 Elasticsearch 节点上节流索引操作的时间。

合并节流

Elasticsearch 在所选 Elasticsearch 节点上节流部署片段合并操作的时间。

节点 JVM 堆统计
Logging/Elasticsearch Nodes 仪表板包含以下有关 JVM Heap 操作的图表。

表 7.8. JVM Heap 统计图表

指标描述

使用的堆

所选 Elasticsearch 节点上分配的 JVM 堆空间量。

GC 计数

在所选 Elasticsearch 节点上运行的垃圾回收操作数量,包括旧垃圾回收量。

GC 时间

JVM 在所选 Elasticsearch 节点上运行垃圾回收操作的时间、旧的垃圾回收时间。