|
| 1 | +--- |
| 2 | +title: Collector 数据流仪表盘 |
| 3 | +default_lang_commit: d1d5bbbbab9f7c6a485e3a9e0d0137bc0f5f4f94 |
| 4 | +--- |
| 5 | + |
| 6 | +监控 OpenTelemetry Collector 中的数据流具有多重重要意义。 |
| 7 | +从宏观层面了解输入数据(如样本数量和基数)对于理解 Collector |
| 8 | +的内部运行机制至关重要。然而,在深入研究细节时,组件之间的连接可能变得复杂。 |
| 9 | +Collector 数据流仪表盘旨在展示 OpenTelemetry 演示应用的功能, |
| 10 | +为用户提供一个坚实的基础,便于他们进一步扩展。 |
| 11 | +Collector 数据流仪表盘还提供了有关应监控哪些指标的有价值建议。 |
| 12 | +用户可以根据自己的使用场景,添加必要的指标 |
| 13 | +(例如 memory_delimiter 处理器或其他数据流指示器), |
| 14 | +以定制自己的仪表盘版本。该演示仪表盘是一个起点, |
| 15 | +使用户能够探索各种使用场景,并根据自身的监控需求调整工具。 |
| 16 | + |
| 17 | +## 数据流概览 {#data-flow-overview} |
| 18 | + |
| 19 | +下图展示了系统组件的整体视图,基于 OpenTelemetry Collector(otelcol)配置文件生成, |
| 20 | +该文件由 OpenTelemetry 演示应用使用。 |
| 21 | +此外,它还展示了系统中的可观测性数据(链路与指标)的流动情况。 |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | +## 数据流入/流出指标 {ingress-egress-metrics} |
| 26 | + |
| 27 | +下图所示的指标用于监控 Collector 的数据流入(ingress)与流出(egress)。 |
| 28 | +这些指标由 otelcol 进程生成,通过 8888 端口导出,随后被 Prometheus 抓取。 |
| 29 | +相关指标的命名空间为 "otelcol",作业名(job name)为 `otel`。 |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | +标签是识别特定指标集(如 exporter、receiver 或 job)的有用工具, |
| 34 | +有助于在整个命名空间中区分不同的指标集。需要注意的是,只有在 memory_delimiter |
| 35 | +处理器中定义的内存限制被超过时,才会出现被拒绝的指标。 |
| 36 | + |
| 37 | +### 流入链路管道 {#ingress-traces-pipeline} |
| 38 | + |
| 39 | +- `otelcol_receiver_accepted_spans` |
| 40 | +- `otelcol_receiver_refused_spans` |
| 41 | +- `by (receiver,transport)` |
| 42 | + |
| 43 | +### 流入指标管道 {#ingress-metrics-pipeline} |
| 44 | + |
| 45 | +- `otelcol_receiver_accepted_metric_points` |
| 46 | +- `otelcol_receiver_refused_metric_points` |
| 47 | +- `by (receiver,transport)` |
| 48 | + |
| 49 | +### 处理器 {#processor} |
| 50 | + |
| 51 | +目前,演示应用中仅使用了一个批处理器,它被同时用于链路和指标的管道中。 |
| 52 | + |
| 53 | +- `otelcol_processor_batch_batch_send_size_sum` |
| 54 | + |
| 55 | +### 流出链路管道 {#egress-traces-pipeline} |
| 56 | + |
| 57 | +- `otelcol_exporter_sent_spans` |
| 58 | +- `otelcol_exporter_send_failed_spans` |
| 59 | +- `by (exporter)` |
| 60 | + |
| 61 | +### 流出指标管道 {#egress-metrics-pipeline} |
| 62 | + |
| 63 | +- `otelcol_exporter_sent_metric_points` |
| 64 | +- `otelcol_exporter_send_failed_metric_points` |
| 65 | +- `by (exporter)` |
| 66 | + |
| 67 | +### Prometheus 抓取指标 {#prometheus-scraping} |
| 68 | + |
| 69 | +- `scrape_samples_scraped` |
| 70 | +- `by (job)` |
| 71 | + |
| 72 | +## 仪表盘 {#dashboard} |
| 73 | + |
| 74 | +您可以通过进入 Grafana 用户界面(UI),点击左侧的浏览图标,选择 |
| 75 | +**OpenTelemetry Collector Data Flow** 仪表盘来查看数据流仪表盘。 |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | +该仪表盘包含四个主要部分: |
| 80 | + |
| 81 | +1. 进程指标(Process Metrics) |
| 82 | +2. 链路管道(Traces Pipeline) |
| 83 | +3. 指标管道(Metrics Pipeline) |
| 84 | +4. Prometheus 抓取(Prometheus Scraping) |
| 85 | + |
| 86 | +第 2、3 和 4 部分使用上述提到的指标来表示整体数据流。 |
| 87 | +此外,每条管道还计算导出比率以帮助理解数据流状况。 |
| 88 | + |
| 89 | +### 导出比率 {#export-rate} |
| 90 | + |
| 91 | +导出比率是接收端与导出端指标之间的比值。如上方仪表盘截图所示, |
| 92 | +指标的导出比率远高于接收的指标数量。这是因为演示应用配置了生成 Span 指标, |
| 93 | +这是一种处理器,会在 Collector 内部从 Span 生成指标,如数据流概览图中所示。 |
| 94 | + |
| 95 | +### 进程指标 {#process-metrics} |
| 96 | + |
| 97 | +仪表盘中包含了一些有限但有参考价值的进程指标。例如,在系统重启或类似情况下, |
| 98 | +您可能会看到多个 otelcol 实例在运行。这有助于分析数据流中的峰值变化。 |
| 99 | + |
| 100 | + |
0 commit comments