Прометей метрики очистки докер задач в ECS - PullRequest
0 голосов
/ 09 января 2019

У меня есть несколько кластеров в ECS, каждый кластер имеет несколько сервисов, каждый сервис выполняет более 1 задачи. Каждая задача выставляет /metrics с разными значениями на случайном порту Я хотел бы сделать какое-то динамическое обнаружение и удалить эти метрики (каждая задача имеет свой порт и разные IP-адреса, потому что они выполняются на нескольких экземплярах контейнера), сгруппировать метрики задач из одной и той же службы и удалить их с помощью Prometheus. Как мне это сделать?

1 Ответ

0 голосов
/ 09 января 2019

У нас была одна и та же задача, и было два подхода:

  1. Пометить экземпляр EC2 на основе запущенных задач, а затем найти экземпляры EC2 в Prometheus на основе тегов. Это хорошо работает, когда у нас есть одна задача на экземпляр, потому что порт метрик известен. Возможно, есть способы расширить это и поддержать множество задач.
  2. Запускать задачу для каждого экземпляра EC2, который используется в качестве экспортера для всех задач, запущенных в этом экземпляре. Он опрашивает ECS, обнаруживает, что задачи и порты прослушивания для каждой задачи и очищает все задачи. В Prometheus вы можете найти все экземпляры EC2 в кластере и очистить этот экспортер в каждом. Очевидно, вам нужно будет пометить метрики в зависимости от задачи, из которой они были прочитаны.

если бы мне пришлось делать это снова, я бы подумал об использовании Consul для регистрации задач и их обнаружения в Prometheus. если вы уже пользуетесь консулом, вам стоит попробовать это направление.

Надеюсь, это поможет.

...