Как я могу сохранить узел видимым для Прометея через обнаружение службы Консула, когда агент этого узла выходит из строя? - PullRequest
0 голосов
/ 27 сентября 2019

Я использую сервисное обнаружение в Prometheus, используя Consul, и это в большинстве случаев работает хорошо.У меня есть экспортеры, работающие на моих узлах, агенты Consul, работающие на этих же узлах, и я зарегистрировал службы экспортеров в кластере Consul через агентов (используя вызовы REST для агентов).Прометей правильно находит зарегистрированных экспортеров и просматривает метрики.Кроме того, Прометей правильно отправляет сигнал тревоги, когда зарегистрированный сервис (экспортер) отключается.Но ... проблема в том, что когда узел теряет агента Консула (либо просто процесс агента, либо весь узел отключается), кластер Консул больше не видит узел вообще!Затем Прометей даже не знает об узле и, следовательно, даже не пытается очистить его экспортные метрики.Итак, я не получаю оповещения.Другими словами, когда агент выходит из строя на узле, он просто исчезает, и я даже не знаю об этом.Я попытался "выйти_on_terminate": false в конфигурации агента agent.json, но это не имеет значения.

Да, я знаю, что я могу также использовать записи службы DNS для обнаружения службы, что будетДержите узел видимым в Prometheus, даже когда агент Консула выходит из строя, но тогда я буду использовать двойную очистку метрик все остальное время, когда агент работает.Я хочу придерживаться только парадигмы Консула для обнаружения сервисов и не смешивать подход записи сервисов DNS.Я также хотел бы избежать мониторинга агентов отдельно (например, через экспортер черного ящика).

Есть идеи?Пожалуйста помоги.Спасибо!

...