---
title: OpenTelemetry Collector日志指标追踪管道实践
keywords:
- OpenTelemetry Collector
- OTLP
- Loki
- Prometheus
- Tempo
- pipeline
description: 配置OTel Collector接收OTLP并分别导出日志/指标/追踪到Loki/Prometheus/Tempo,提供可验证的YAML与检查命令。
date: 2025-11-26
categories:
- 文章资讯
- 编程技术
---
概述
- 目标:统一收集应用的日志/指标/追踪并路由到后端系统,实现端到端可观测。
- 适用:多语言服务、集中采集、跨环境观测。
核心与实战
- Collector配置(使用contrib Loki exporter):
receivers:
otlp:
protocols:
grpc:
http:
exporters:
prometheus:
endpoint: 0.0.0.0:9464
loki:
endpoint: http://loki:3100/loki/api/v1/push
default_labels_enabled:
exporter: true
resource: true
otlphttp/tempo:
endpoint: http://tempo:4318
processors:
batch:
attributes/log_labels:
actions:
- key: service.name
action: upsert
service:
pipelines:
logs:
receivers: [otlp]
processors: [attributes/log_labels, batch]
exporters: [loki]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [prometheus]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp/tempo]
示例
- 运行与端点:
otelcol-contrib --config collector.yaml
curl -s http://localhost:9464/metrics | head
- 应用侧OTLP导出:
OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317
OTEL_RESOURCE_ATTRIBUTES=service.name=api,service.namespace=prod
验证与监控
- 后端命中:
- Loki中查看日志标签;Prometheus中观察指标;Tempo中查询trace。
- Collector健康:
- 观察Collector自暴露指标(otelcol_*)与处理队列;查看错误日志。
- 路由正确性:
- 确保各pipeline只向指定后端导出,避免混乱。
常见误区
- 未使用contrib版本导致缺少Loki exporter;需使用
otelcol-contrib。 - 资源标签缺失导致后端难以查询;应在
attributes处理器补充关键标签。 - 混用Prometheus exporter与remote_write;本示例为本地暴露,由Prometheus抓取。
结语
- 通过Collector统一管道,将日志/指标/追踪分别导出至对应后端,实现一致的可观测体系与易于维护的配置。

发表评论 取消回复