首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何区分度量和不同的服务

如何区分度量和不同的服务
EN

Stack Overflow用户
提问于 2021-04-02 20:12:30
回答 1查看 803关注 0票数 2

我正在使用OpenTelemetry,并有这样一个设置:

高朗,船坞组合,3项服务,1独立开放遥测收集器,1普罗米修斯.

我收集了一些系统指标给一个独立的开放遥测收集器。这些度量是从3个不同的服务中收集的,并且度量具有相同的名称。然后,普罗米修斯从远程遥测收集器获得数据。问题是,我无法区分Prometheus中的不同服务,因为所有的度量都具有相同的“实例”值,这相当于开放遥测收集器的主机。

我知道我可以将带有服务名称的标签添加到度量记录中,然后根据标签区分度量,但我正在寻找另一种解决方案,因为并不总是能够将标签添加到每个度量中。也许,类似于http中间件,但是对于度量标准,或者在基础设施级别上。

服务是用Golang编写的,但是我很高兴看到任何其他语言的解决方案。

otel收集器-配置:

代码语言:javascript
运行
复制
receivers:
  otlp:
    protocols:
      grpc:
      http:

exporters:
  prometheus:
    endpoint: otel-collector:8889
    const_labels:
      label1: value1
    send_timestamps: true
    metric_expiration: 5m

processors:
  batch:

service:
  pipelines:
    metrics:
      receivers: [ otlp ]
      processors: [ batch ]
      exporters: [ prometheus ]

Prometheus配置:

代码语言:javascript
运行
复制
scrape_configs:
  - job_name: 'otel-collector'
    scrape_interval: 5s
    static_configs:
      - targets: ['otel-collector:8889']

码头工人-组成:

代码语言:javascript
运行
复制
version: "3.9"
services:

  service1:
    build:
      context: ./service1
      network: host
    environment:
      - TELEMETRY_COLLECTOR_ADDR=otel-collector:55681
    ports:
      - "8094:8080"
    expose:
      - "8080"

  service2:
    build:
      context: ./service2
      network: host
    environment:
      - TELEMETRY_COLLECTOR_ADDR=otel-collector:55681
    ports:
      - "8095:8080"
    expose:
      - "8080"

  service3:
    build:
      context: ./service3
      network: host
    environment:
      - TELEMETRY_COLLECTOR_ADDR=otel-collector:55681
    expose:
      - "8080"
    ports:
      - "8096:8080"

  prometheus:
    image: prom/prometheus:v2.26.0
    volumes:
      - ./prometheus.yaml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"

  otel-collector:
    image: otel/opentelemetry-collector:0.23.0
    command: [ "--config=/etc/otel-collector-config.yaml" ]
    expose:
      - "55681" # HTTP otel receiver
      - "8889" # Prometheus exporter metrics
    volumes:
      - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml

更新1.我发现一些新的参数被添加到exporter https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper中。其中之一是适合我的:resource_to_telemetry_conversion。但正如我所看到的,prometheusexporterprometheusremotewriteexporter在配置中不支持该字段。

EN

回答 1

Stack Overflow用户

发布于 2021-08-21 00:20:50

您提到的resource_to_telemetry_conversion是自版本0.26.0 (发布#2498)以来prometheusexporter的一部分,它将根据代理设置添加service_name标签,以区分度量和不同服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66924732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档