Opentelemetry 无法连接到 Kubernetes 上的 Prometheus

问题描述 投票:0回答:1

我有一个 kubernetes 集群,其中安装了 .net 7 中的应用程序。该集群还部署了 OpenTelemetry 并安装了 Prometheus 服务器。

opentelemetry 有一个值文件,如下所示

mode: deployment presets:   # enables the k8sattributesprocessor and adds it to the traces, metrics, and logs pipelines   kubernetesAttributes:
    enabled: true   # enables the kubeletstatsreceiver and adds it to the metrics pipelines   kubeletMetrics:
    enabled: true   # Enables the filelogreceiver and adds it to the logs pipelines   logsCollection:
    enabled: true

config:
     exporters:
    otlphttp/metrics:
      endpoint: http://prometheus-server.cmb.svc.cluster.local:9090
      tls:
         insecure: true
    prometheusremotewrite:
      endpoint: http://prometheus-server.cmb.svc.cluster.local:9091/api/v1/write
      tls:
         insecure: true   service:
    pipelines:      
      metrics:                
        exporters:
          - otlphttp/metrics

Opentelemetry Pod 启动并运行得很好,并且能够从集群上的所有应用程序接收指标,但无法写入 Prometheus 集群。产生的错误如下

2024-03-20T14:54:29.219Z 信息 exporterhelper/retry_sender.go:118 导出失败。将在间隔后重试请求。 {“种类”:“出口商”, “data_type”:“指标”,“名称”:“otlphttp /指标”,“错误”:“失败 发出 HTTP 请求:Post “http://prometheus-server.cmb.svc.cluster.local:9090/v1/metrics”: 超出上下文截止日期", "间隔": "6.716454422s"}

kubernetes configuration prometheus open-telemetry exporter
1个回答
0
投票

如果我正确读取您的配置,则您正在使用 OTLP/HTTP 导出器 将指标从 OpenTelemetry Collector 发送到 Prometheus 到端点 http://prometheus-server.cmb.svc.cluster.local: 9090。查看 Prometheus 文档,端点应该是 http://prometheus-server.cmb.svc.cluster.local:9090/api/v1/otlp/.

如这些文档中所述,您还需要确保您的 Prometheus 服务器至少为 2.47 版本,并且功能标志

otlp-write-receiver
已启用。

© www.soinside.com 2019 - 2024. All rights reserved.