Я пытаюсь заставить ECS Service Discovery работать с Prometheus.
В настоящее время мой контейнер ECS добавляется в маршрут 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, я бы получил больше записей Alias в 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 Service Discovery работает с записями SRV, поэтому я не уверен, в чем именно заключается проблема,Если посмотреть, как AWS ECS Service Discovery добавил записи, похоже, что my-service.local
отображается на 123456-7890-1234-5678-12345.my-service.local: 8080
Однако, похоже, что Прометей этого не делаетзатем попытайтесь найти список локальных IP-адресов, сопоставленных с 123456-7890-1234-5678-12345.my-service.local
, и просто попытайтесь извлечь из него данные напрямую.
Есть ли какой-либо параметр конфигурации, который мне не хватает, чтобы это сработало, или я что-то неправильно понял вфундаментальный уровень?