gpt4 book ai didi

amazon-ecs - 使用 ECS 进行 Prometheus DNS 服务发现

转载 作者:行者123 更新时间:2023-12-04 21:30:41 33 4
gpt4 key购买 nike

关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。












想改进这个问题?更新问题,使其成为 Stack Overflow 的 on-topic

1年前关闭。




Improve this question




我正在尝试让 ECS 服务发现与 Prometheus 一起工作。

目前我的 ECS 容器被添加到 Route 53,如下所示:

+-----------------------------------------------+------+--------------------------------------------------------+
| Name | Type | Value |
+-----------------------------------------------+------+--------------------------------------------------------+
| my-service.local. | SRV | 1 1 8080 123456-7890-1234-5678-12345.my-service.local. |
| 123456-7890-1234-5678-12345.my-service.local. | A | 10.0.11.111 |
+-----------------------------------------------+------+--------------------------------------------------------+

我假设如果我向 ECS 添加更多正在运行的容器,我会在 Route 53 中获得更多名为 123456-7890-1234-5678-12345.my-service.local. 的别名记录

在我的 Prometheus 配置文件中,我在 scrape_config 下提供了以下内容:
    - job_name: 'cadvisor'
scrape_interval: 5s
dns_sd_configs:
- names:
- 'my-service.local'
type: 'SRV'

但是,当我在 Prometheus 中检查目标状态时,我看到以下内容:
Endpoint: http://123456-7890-1234-5678-12345.my-service.local:8080/metrics
State: Down
Error: context deadline exceeded

我不熟悉 DNS 服务发现如何与 SRV 记录一起工作,所以我不确定问题到底出在哪里。查看 AWS ECS 服务发现如何添加记录,看起来 my-service.local 映射到 123456-7890-1234-5678-12345.my-service.local:8080

但是,看起来 Prometheus 并没有尝试查找映射到 123456-7890-1234-5678-12345.my-service.local 的本地 IP 列表,而是尝试直接从中抓取。

我是否缺少一些配置选项来完成这项工作,或者我在基本层面上误解了一些东西?

最佳答案

原来问题是我需要添加一个安全组规则以允许我的 Prometheus 实例与我的 ECS 集群通信,因为两者都在公共(public)子网中。

此外,在 ECS 集群中向上扩展所需的计数会在 Route 53 中创建另一个 SRV 记录和一个关联的 A 记录(而不是我之前认为的一个额外的 A 记录)。

现在一切似乎都正常了。

关于amazon-ecs - 使用 ECS 进行 Prometheus DNS 服务发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52738249/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com