Prometheus:根据其他标签添加标签

标签 prometheus amazon-ecs

我已将 Prometheus 设置为使用 prometheus-ecs-discovery 中的文件 sd :

scrape_configs:
- job_name: ecs
  file_sd_configs:
    - files:
      - /prometheus/ecs_file_sd.yml

这会将任务 arn 添加为标签:

container_label_com_amazonaws_ecs_task_arn=
"arn:aws:ecs:us-west-1:xxxxxx:task/2c1655cd-36b7-4db9-4326-ee90537b6271"

在grafana中,我想使用任务ID(在我的示例中为2c1655cd-36b7-4db9-4326-ee90537b6271)作为我的大部分统计数据的图例,可以从任务 arn。我可以以某种方式添加新标签吗?

最佳答案

这可以使用 relabel_configs 来实现。这将允许您从源标签创建新的目标标签。

scrape_configs:
- job_name: ecs
  file_sd_configs:
    - files:
      - /prometheus/ecs_file_sd.yml
  relabel_configs:
    - source_labels: [container_label_com_amazonaws_ecs_task_arn]
      regex: '.*\/(.*)'
      replacement: '${1}'
      target_label: task_id

上面的代码将创建一个名为 task_id 的新标签,其值是 container_label_com_amazonaws_ecs_task_arn 标签的 / 之后的部分。

关于Prometheus:根据其他标签添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634935/

相关文章:

python - 如何在 pytest test_functions 之间重置 Python 运行时?

amazon-web-services - 通过 CloudFormation 使用 AWS ECS 将 Docker 容器与多个其他容器链接

amazon-web-services - 使用 AWS ECS 服务和 Elastic LoadBalancer 向多个公共(public)端口公开

prometheus - 当指标数据丢失时,普罗米修斯不能解决警报吗?

amazon-web-services - Traefik 集群还没有准备好用于生产吗?

amazon-web-services - 无法使用 awsvpc 网络类型与 ECS Fargate 上同一任务中的另一个容器通信

amazon-web-services - ECS服务: can't pull docker image from ECR registry without assign public ip to service tasks

docker - 在Grafana中为Docker容器构建CPU使用率图

monitoring - 如何使用 1GB RAM 运行 Prometheus 监控?

kubernetes - Kubernetes/Prometheus指标不匹配