跳转至

导出器

常用导出器

logging 导出器

日志导出器,用于将数据导出到标准输出,主要用于调试阶段。

prometheus 导出器

Prometheus 导出器,该导出器可以指定一个端点,将从接收器接收到的指标数据通过这个端点进行导出,这样 Prometheus 只需要从这个端点拉取数据即可。而 prometheusremotewrite 导出器则是将指标数据直接远程写入到指定的地址,这个地址是支持 Prometheus 远程写入协议的地址。(经测试当前版本远程写入的导出器有一定问题)

这里的配置如下:

prometheus:
  endpoint: 0.0.0.0:9090
  metric_expiration: 180m
  resource_to_telemetry_conversion:
    enabled: true
  • endpoint:指标将通过路径 /metrics 暴露的地址,也就是我们想通过上面地址来访问指标数据,我们这里表示想在 9090 端口来暴露指标数据。
  • metric_expiration(默认值= 5m):定义了在没有更新的情况下暴露的指标的时间长度。
  • resource_to_telemetry_conversion(默认为 false):如果启用为 true,则所有资源属性将默认转换为指标标签。

所以最后可以在 Prometheus 中去采集 OpenTelemetry Collector 在 9090 端口暴露的指标数据,只需要创建一个如下所示的 ServiceMonitor 对象即可:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: otel-prom
  namespace: kube-otel
  labels:
    release: prometheus
spec:
  endpoints:
    - interval: 10s
      port: prom # 我们在helm values 中定义了一个 prom 的 Service 端口
      path: metrics
  selector:
    matchLabels:
      component: agent-collector
      app.kubernetes.io/instance: opentelemetry-collector

创建后就可以在 Prometheus 中找到 OpenTelemetry Collector 暴露的指标数据了。