Prometheus DNS Service Обнаружение с ECS - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь заставить 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, и просто попытайтесь извлечь из него данные напрямую.

Есть ли какой-либо параметр конфигурации, который мне не хватает, чтобы это сработало, или я что-то неправильно понял вфундаментальный уровень?

1 Ответ

0 голосов
/ 11 октября 2018

Оказывается, проблема заключалась в том, что мне нужно было добавить правило группы безопасности, чтобы мой экземпляр Prometheus мог общаться с моим кластером ECS, поскольку оба они находились в общедоступной подсети.

Также масштабирование нужного числа в ECSПри кластеризации вверх создается еще одна запись SRV и связанная запись A на маршруте 53 (а не только одна дополнительная запись A, как я думал ранее).

Кажется, что теперь все работает.

...