首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个荚多个度量端点的Prometheus scrape配置

每个荚多个度量端点的Prometheus scrape配置
EN

Stack Overflow用户
提问于 2018-02-06 15:02:22
回答 2查看 4K关注 0票数 3

我们有一个Kubernetes Pod,它提供多个度量端点(:3093/metrics:9113/metrics),但它也有一个端口,它不提供任何度量(:80)。

TL;DR:可以只刮端口30939113

我们使用示例配置进行刮擦配置:

代码语言:javascript
复制
- job_name: 'kubernetes-pods'
  tls_config:
    insecure_skip_verify: true
  kubernetes_sd_configs:
  - role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
    action: keep
    regex: true
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
  - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
    action: replace
    regex: ([^:]+)(?::\d+)?;(\d+)
    replacement: $1:$2
    target_label: __address__
  - action: labelmap
    regex: __meta_kubernetes_pod_label_(.+)
  - source_labels: [__meta_kubernetes_namespace]
    action: replace
    target_label: kubernetes_namespace
  - source_labels: [__meta_kubernetes_pod_name]
    action: replace
    target_label: kubernetes_pod_name

当启用此批注的刮取时,这些端点会被正确地刮除:

代码语言:javascript
复制
  annotations:
    prometheus.io/scrape: "true"

但这也有一个问题,那就是它还会刮掉端口:80,而它不应该这么做。

EN

回答 2

Stack Overflow用户

发布于 2022-04-28 12:56:47

概述的建议这里允许每个吊舱刮取多个端点。这样做的目的是为容器端口提供自定义名称,这些名称必须被刮掉,因此这些名称可以在重新标记阶段用于发现的目标。例如,下面的配置将prom-metrics名称添加到端口3093和9113,这些端口必须由Prometheus刮取。请注意,端口80没有prom-metrics名称,因此不会被刮掉。

代码语言:javascript
复制
containers:
- name: custom-app
  image: github.com/user/app:latest
  ports:
  - containerPort: 80
  - containerPort: 3093
    name: prom-metrics
  - containerPort: 9113
    name: prom-metrics

稍后,可以使用以下刮除配置来刮取具有prom-metrics名称的容器端口:

代码语言:javascript
复制
  - job_name: 'pods-with-prom-metrics'
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_container_port_name]
      regex: prom-metrics
      action: keep
    - source_labels: [__address__, __meta_kubernetes_pod_container_port_number]
      regex: ([^:]+)(?::\d+)?;(\d+)
      replacement: $1:$2
      target_label: __address__
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
    - source_labels: [__meta_kubernetes_pod_container_name]
      target_label: container
    - source_labels: [__meta_kubernetes_pod_name]
      target_label: pod
    - source_labels: [__meta_kubernetes_namespace]
      target_label: namespace
票数 1
EN

Stack Overflow用户

发布于 2018-02-13 08:30:02

我们创建了一个出口商,它合并了多个其他出口商的产出。它是非常阿尔法的,但它现在对我们有效。

https://github.com/rebuy-de/exporter-merger

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

https://stackoverflow.com/questions/48645986

复制
相关文章

相似问题

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