OpenTelemetry Collector 数据流仪表盘

监控 OpenTelemetry Collector 中的数据流对于多个方面至关重要。获得宏观级别的数据流视角(例如样本计数和基数)对于理解收集器的内部动态至关重要。然而,当深入研究细节时,各种连接可能变得复杂。Collector 数据流仪表盘旨在展示 OpenTelemetry 演示应用程序的功能,为用户构建提供坚实基础。Collector 数据流仪表盘提供了有价值的监控指标指导。用户可以通过添加特定于其用例的必要指标(例如,memory_delimiter 处理器或其他数据流指示器)来定制自己的仪表盘变体。此演示仪表盘作为起点,让用户探索各种使用场景,并根据其独特的监控需求调整工具。

数据流概述

下图提供了系统组件的概述,展示了 OpenTelemetry Collector(otelcol)配置文件中由 OpenTelemetry 演示应用程序使用的配置。此外,它还突出显示了系统内部的可观测性数据(跟踪和指标)流。

OpenTelemetry Collector 数据流概述

入口/出口指标

下图中所示的指标用于监控入口和出口数据流。这些指标由 otelcol 进程生成,并在端口8888导出,然后由 Prometheus 进行抓取。与这些指标相关联的命名空间是"otelcol",作业名称标记为otel.

OpenTelemetry Collector 入口和出口指标

标签是识别特定指标集(例如导出器、接收器或作业)的有价值工具,可以在整个命名空间中区分指标集。需要注意的是,如果超出了内存界限处理器中定义的内存限制,你将只会遇到拒绝的指标。

入口跟踪流水线

  • otelcol_receiver_accepted_spans
  • otelcol_receiver_refused_spans
  • by (receiver,transport)

入口指标流水线

  • otelcol_receiver_accepted_metric_points
  • otelcol_receiver_refused_metric_points
  • by (receiver,transport)

处理器

当前演示应用程序中唯一存在的处理器是一个批处理器,用于跟踪和指标流水线均有使用。

  • otelcol_processor_batch_batch_send_size_sum

出口跟踪流水线

  • otelcol_exporter_sent_spans
  • otelcol_exporter_send_failed_spans
  • by (exporter)

出口指标流水线

  • otelcol_exporter_sent_metric_points
  • otelcol_exporter_send_failed_metric_points
  • by (exporter)

Prometheus 抓取

  • scrape_samples_scraped
  • by (job)

仪表盘

你可以通过导航到 Grafana UI,选择屏幕左侧的浏览图标下的OpenTelemetry Collector 数据流仪表盘来访问该仪表盘。

OpenTelemetry Collector 数据流仪表盘

该仪表盘分为四个主要部分:

  1. 进程指标
  2. 跟踪流水线
  3. 指标流水线
  4. Prometheus 抓取

第2、3和4节使用上述指标表示整体数据流动。此外,为了了解数据流,每个流水线都计算了导出比率。

导出比率

导出比率基本上是接收器和导出器指标之间的比率。你可以注意到仪表盘截图中,指标的导出比率远远高于接收的指标。这是因为演示应用程序配置为生成跟踪指标,这是一个在收集器内部从跟踪生成指标的处理器,如概述图所示。

进程指标

仪表板中添加了非常有限但信息丰富的进程指标。例如,你可能在系统重新启动或类似情况下观察到多个 otelcol 实例。这对于了解数据流中的突发情况很有用。

OpenTelemetry Collector 进程指标
最后修改 December 10, 2023: translate (a4350d6e)