8.3. 查看集群仪表板
OpenShift Container Platform web 控制台中的 Logging/Elasticsearch Nodes 和 Openshift Logging 仪表板包括有关 Elasticsearch 实例以及用于防止和诊断问题的单个 Elasticsearch 节点的详细信息。
OpenShift Logging 仪表板包含 chart,在集群级别显示 Elasticsearch 实例的详情,包括集群资源、垃圾回收、集群中的分片和 Fluentd 统计。
Logging/Elasticsearch Nodes 仪表板包含 charts,显示 Elasticsearch 实例的详情,很多在节点级别,包括索引、分片、资源等详情。
8.3.1. 访问 Elasticsearch 和 OpenShift Logging 仪表板
您可以在 OpenShift Container Platform web 控制台中查看 Logging/Elasticsearch Nodes 和 OpenShift Logging 仪表板。
流程
启动仪表板:
-
在 OpenShift Container Platform web 控制台中点 Observe
Dashboards。 在 Dashboards 页面中,从 Dashboard 菜单中选择 Logging/Elasticsearch Nodes 或 OpenShift Logging。
对于 Logging/Elasticsearch Nodes 仪表板,可以选择您要查看的 Elasticsearch 节点并设置数据解析。
此时会显示正确的仪表板,显示多个数据图表。
- 可选:从 Time Range 和 Refresh Interval 菜单中选择不同时间范围来显示或刷新数据。
有关仪表板图表的信息,请参阅 关于 OpenShift Logging 仪表板 和 关于 Logging/Elastisearch Nodes 仪表板。
8.3.2. 关于 OpenShift Logging 仪表板
OpenShift Logging 仪表板包含 chart,可在集群级别显示 Elasticsearch 实例的详情,用于诊断和预期问题。
指标 | 描述 |
---|---|
Elastic 集群状态 | 当前的 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 |
获取延迟的时间通常比查询延迟要短。如果抓取延迟持续增加,则代表磁盘、数据配置速度较慢,或者带有许多结果的大量请求。 |
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 无法输出日志的每秒总次数。 |
8.3.3. Logging/Elasticsearch 节点仪表板上的图表
Logging/Elasticsearch Nodes 仪表板包含 charts,显示 Elasticsearch 实例的详情(很多在节点级别),以进行进一步诊断。
- Elasticsearch 状态
- Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 实例状态的以下图表。
指标 | 描述 |
---|---|
集群状态 | 在所选时间段内的集群健康状态,使用 Elasticsearch 绿色、黄色和红色代表:
|
集群节点 | 集群中的 Elasticsearch 节点总数。 |
集群数据节点 | 集群中的 Elasticsearch 数据节点数量。 |
集群待定任务 | 集群状态更改的数量,这些更改尚未完成,并在集群队列中等待,例如索引创建、索引删除或分片分配。增长的倾向表示集群无法跟上变化。 |
- Elasticsearch 集群索引分片状态
- 每个 Elasticsearch 索引都是一个或多个分片的逻辑组,它们是持久化数据的基本单元。索引分片有两种类型:主分片和副本分片。当将文档索引为索引时,会将其保存在其主分片中,并复制到该分片的每个副本中。当索引被创建时,主分片的数量会被指定,在索引生命周期内这个数量不能改变。您可以随时更改副本分片的数量。
索引分片可能处于几个状态,具体取决于其生命周期阶段或集群中发生的事件。当分片能够执行搜索和索引请求时,分片就是活跃的。如果分片无法执行这些请求,分片就不是活跃的。如果分片正在初始化、重新分配、取消分配等等,分片可能不是活跃的。
索引分片由多个较小的内部块组成,称为索引片段,它们是数据的物理表示。索引分段是一个相对较小的不可变 Lucene 索引,它是 Lucene 提交新索引数据时生成的。Lucene 是 Elasticsearch 使用的搜索库,将索引片段合并到后台里的较大片段,从而使片段总数较低。如果合并片段的过程比生成新网段的速度慢,则可能表明问题。
当 Lucene 执行数据操作(如搜索操作)时,Lucene 会根据相关索引中的索引片段执行操作。为此,每个片段都包含在内存中载入并映射的特定数据结构。索引映射会对片段数据结构使用的内存有重大影响。
Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 索引分片的以下图表。
指标 | 描述 |
---|---|
集群活跃分片 | 集群中活跃的主分片的数量和分片(包括副本)的总数。如果分片数量增加,集群性能就可以启动它。 |
集群初始化分片 | 集群中的非活跃分片数量。非活跃分片是正在初始化、被重新分配到不同节点或未分配的分片。集群通常具有非活跃分片(non-active 分片)的短时间。较长时间的非活跃分片数量增加可能代表有问题。 |
集群重新定位分片 | Elasticsearch 重新定位到新节点的分片数量。Elasticsearch 由于多个原因重新定位节点,如在一个节点上或向集群中添加新节点时使用高内存。 |
集群未分配分片 | 未分配分片的数量。由于添加新索引或节点失败等原因,Elasticsearch 分片可能没有被分配。 |
- Elasticsearch 节点指标
- 每个 Elasticsearch 节点都有有限的资源,可用于处理任务。当所有资源都被已被使用,Elasticsearch 尝试执行新任务时,Elasticsearch 会将任务放入队列等待出现可用的资源。
Logging/Elasticsearch Nodes 仪表板包含以下有关所选节点的资源使用情况,以及 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 字段数据的以下图表。
指标 | 描述 |
---|---|
Fielddata 内存大小 | 用于所选 Elasticsearch 节点上的 fielddata 缓存的 JVM 堆数量。 |
Fielddata 驱除 | 从所选 Elasticsearch 节点中删除的 fielddata 结构数量。 |
- Elasticsearch 节点查询缓存
- 如果索引中存储的数据没有改变,搜索查询结果会在节点级别的查询缓存中缓存,以便 Elasticsearch 重复使用。
Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 节点查询缓存的以下图表。
指标 | 描述 |
---|---|
查询缓存大小 | 用于查询缓存的内存总量,用于分配给所选 Elasticsearch 节点的所有分片。 |
查询缓存驱除 | 所选 Elasticsearch 节点上的查询缓存驱除数量。 |
查询缓存点击 | 所选 Elasticsearch 节点上的查询缓存数量。 |
查询缓存丢失 | 所选 Elasticsearch 节点上丢失的查询缓存数。 |
- Elasticsearch 索引节流
- 在索引文档时,Elasticsearch 将文档存储在索引片段中,这些部分是数据的物理表示。同时,Elasticsearch 会定期将较小的片段合并到较大的片段中,以优化资源使用。如果索引速度更快,那么合并过程就无法迅速完成,从而导致搜索和性能出现问题。为了防止这种情况,Elasticsearch 节流(throttles)的索引通常是通过减少分配给索引到单个线程的线程数量来实现的。
Logging/Elasticsearch Nodes 仪表板包含有关 Elasticsearch 索引节流的以下图表。
指标 | 描述 |
---|---|
索引节流 | Elasticsearch 在所选 Elasticsearch 节点上节流索引操作的时间。 |
合并节流 | Elasticsearch 在所选 Elasticsearch 节点上节流部署片段合并操作的时间。 |
- 节点 JVM 堆统计
- Logging/Elasticsearch Nodes 仪表板包含以下有关 JVM Heap 操作的图表。
指标 | 描述 |
---|---|
使用的堆 | 所选 Elasticsearch 节点上分配的 JVM 堆空间量。 |
GC 计数 | 在所选 Elasticsearch 节点上运行的垃圾回收操作数量,包括旧垃圾回收量。 |
GC 时间 | JVM 在所选 Elasticsearch 节点上运行垃圾回收操作的时间、旧的垃圾回收时间。 |