prometheus relabel 机制

举报
yd_224301282 发表于 2023/07/24 11:52:05 2023/07/24
【摘要】 k8s-prometheus relabel为了更好的识别监控指标,便于后期调用数据绘图、告警等需求,prometheus支持对发现的目标进行label修改,可以在目标被抓取之前动态重写目标的标签集。每个抓取配置可以配置多个重新标记步骤。它们按照它们在配置文件中出现的顺序应用于每个目标的标签集。除了配置的每个目标标签之外,prometheus还会自动添加几个标签:job标签:设置为job_n...

k8s-prometheus

relabel

  • 为了更好的识别监控指标,便于后期调用数据绘图、告警等需求,prometheus支持对发现的目标进行label修改,可以在目标被抓取之前动态重写目标的标签集。每个抓取配置可以配置多个重新标记步骤。它们按照它们在配置文件中出现的顺序应用于每个目标的标签集。

  • 除了配置的每个目标标签之外,prometheus还会自动添加几个标签:

    • job标签:设置为job_name相应的抓取配置的值。

    • instance标签:__address__设置为目标的地址<host>:<port>。重新标记后,如果在重新标记期间未设置标签,则默认将__address__标签值赋值给instance。

    • schema:协议类型

    • __metrics_path:抓取指标数的url

    • scrape_interval:scrape抓取数据时间间隔(秒)

    • scrape_timeout:scrape超时时间(秒)

  • __meta_:在重新标记阶段可能会提供带有前缀 __meta_ 的附加标签。它们由提供目标的服务发现机制设置,并且因机制而异

  • __ :目标重新标记完成后,将从标签集中删除以 __ 开头的标签。

  • 重新标记的阶段

    • relabel_configs:在采集之前(比如在采集数据之前重新定义元标签),可以使用relabel_configs添加一些标签、也可以只采集特定目标或过滤目标
    • metric_relabel_configs:如果是已经抓取到指标数据时,可以使用metric_relabel_configs做最后的重新标记和过滤

img

  • relabel_configs的配置

    • image-20230724111839154
  • metric_relabel_configs的配置

    • 与relabel_configs的参数基本一样
  • 普通的静态抓取配置

    • scrape_configs:
        # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
        - job_name: "prometheus"
       
          # metrics_path defaults to '/metrics'
          # scheme defaults to 'http'.
       
          static_configs:
            - targets: ["localhost:9090"]
       
        - job_name: "nodes"
          static_configs:
            - targets:
              - 192.168.88.201:9100
              labels:
                __hostname__: node01				配置抓取源的标签
                __region_id__: "shanghai"
                __zone__: a
            - targets:
              - 192.168.88.202:9100
              labels:
                __hostname__: node02
                __region_id__: "beijing"
                __zone__: b
      

kubernetes_sd_config

  • kubernetes_sd_configs是prometheus的一种服务发现机制,在Kubernetes下,Prometheus 通过与 Kubernetes API 集成主要支持5种服务发现模式,分别为:Node、Service、Pod、Endpoints、Ingress。

  • Kubernetes的服务发现很好配置,只需要按照这样的配置,prometheus就可以监控相应的资源

    •   kubernetes_sd_configs:
      	# 角色为 endpoints
      	- role: endpoints
      
  • 每种服务发现配置的预置标签

    • image
    • image
    • image
    • image
    • image

参考
https://www.cnblogs.com/zhangpeiyao/p/17242200.html
https://www.cnblogs.com/zhrx/p/15978104.html

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。