prometheus relabel 机制
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做最后的重新标记和过滤
relabel_configs的配置
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
每种服务发现配置的预置标签
参考
https://www.cnblogs.com/zhangpeiyao/p/17242200.html
https://www.cnblogs.com/zhrx/p/15978104.html
- 点赞
- 收藏
- 关注作者
评论(0)