Collector
概述
参考:
OpenTelemetry Collector 提供了一种与供应商无关的 receive(接收)、process(处理) 和 export(导出) 遥测数据的实现。它消除了运行、操作和维护多个代理/收集器的需要。这具有改进的可扩展性,并支持开源可观测性数据格式(例如 Jaeger、Prometheus、Fluent Bit、etc. )发送到一个或多个开源或商业后端。
Collector 会根据配置定时采集数据或被动接收数据以缓存,然后可以主动推送或被动等待拉取。Prometheus 可以配置 static_configs 从 OTel Collector 抓取其缓存的最新数据。
架构
参考:
OTel Collector 是一种 DataPipeline 的实现程序,通常分为如下几个 Pipeline component(管道组件)
- Receivers(接收器) # Receivers 从一个或多个来源收集遥测数据。ta 们可以是基于 pull 或 push 的,并且可以支持一个或多个数据源。
- Processors(处理器) # 处理 Receivers 收到的数据
- Exporters(导出器) # Exproters 将数据发送到一个或多个后端或目的地。Exproters 可以是基于 pull 或 push 的,并且可以支持一个或多个数据源。
- Extensions(扩展) # 可扩展 Collector 的功能以完成与处理遥测数据不直接相关的任务。e.g. 可以添加用于收集器运行状况监控、服务发现或数据转发等的扩展。详细的扩展配置请参见 extension README
--- title: Pipeline --- flowchart LR R1(Receiver 1) --> P1[Processor 1] R2(Receiver 2) --> P1 RM(...) ~~~ P1 RN(Receiver N) --> P1 P1 --> P2[Processor 2] P2 --> PM[...] PM --> PN[Processor N] PN --> FO((fan-out)) FO --> E1[[Exporter 1]] FO --> E2[[Exporter 2]] FO ~~~ EM[[...]] FO --> EN[[Exporter N]] %% The stroke color matches the website header. classDef default fill:#e3e8fc,stroke:#4f62ad
部署 Collector
参考:
Collector 关联文件与配置
基本配置示例
下面的配置文件,配置了名为 otlp 的 Receiver;配置了名为 batch 的 Processor;配置了名为 otlp 的 Exporter;配置了 3 个扩展,分别为 health_check、pprof、zpages。在 service 字段配置加载哪些扩展、处理 traces 类型的数据时,使用 otlp 接收器,batch 处理器,otlp 导出器;其他 metrics 与 logs 同理。
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
exporters:
otlp:
endpoint: otelcol:4317
extensions:
health_check:
pprof:
zpages:
service:
extensions: [health_check, pprof, zpages]
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.