首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ECS的Prometheus DNS服务发现

使用ECS的Prometheus DNS服务发现
EN

Stack Overflow用户
提问于 2018-10-10 18:34:46
回答 2查看 2.3K关注 0票数 4

我在试着让ECS服务发现号和普罗米修斯合作。

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

代码语言:javascript
复制
+-----------------------------------------------+------+--------------------------------------------------------+
|                     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中,我会在路径53中获得更多的别名记录,名称为123456-7890-1234-5678-12345.my-service.local.

在我的Prometheus配置文件中,我在scrape_config下提供了以下内容

代码语言:javascript
复制
    - job_name: 'cadvisor'
      scrape_interval: 5s
      dns_sd_configs:
      - names:
        - 'my-service.local'
        type: 'SRV'

但是,当我在Prometheus中检查目标状态时,我看到以下内容:

代码语言:javascript
复制
Endpoint: http://123456-7890-1234-5678-12345.my-service.local:8080/metrics
State: Down
Error: context deadline exceeded

我不熟悉DNS服务发现是如何处理SRV记录的,所以我不确定问题具体出在哪里。看一下AWS ECS Service Discovery是如何添加记录的,它看起来像是my-service.local映射到123456-7890-1234-5678-12345.my-service.local:8080

然而,看起来普罗米修斯并没有试图找到映射到123456-7890-1234-5678-12345.my-service.local的本地it列表,而只是试图直接从其中抓取。

有没有什么配置选项是我错过了让它工作的,还是我在根本层面上误解了什么?

EN

回答 2

Stack Overflow用户

发布于 2018-10-11 10:27:31

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

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

现在一切似乎都正常了。

票数 1
EN

Stack Overflow用户

发布于 2020-09-26 19:13:36

使用类似Consul或ECS SD的“适当”服务发现的一个相当好的替代方案是依赖于AWS API。只要容器/任务的总数保持在几千个以下,这就是合适的,因为您受到AWS API请求上限的限制。

存在许多结合Prometheus文件发现来提供此功能的工具。例如https://pypi.org/project/prometheus-ecs-discoverer/https://github.com/teralytics/prometheus-ecs-discovery

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

https://stackoverflow.com/questions/52738249

复制
相关文章

相似问题

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