Привет, Хабр! В нашей инфраструктуре развернуто более 40 сервисов в docker-compose, и с ростом числа контейнеров возникла необходимость в централизованном мониторинге их состояния. Основным требованием стало получение информации о состоянии контейнеров в Grafana и предупреждения о проблемах. Несмотря на существование healthcheck в Docker, он не предоставляет метрики для дальнейшего анализа. Мы изучили имеющиеся решения, но многие из них устарели или не подходят под наши задачи. В итоге было принято решение разработать собственного экспортера, который будет собирать данные о состоянии контейнеров без частых запросов к Docker API. Экспортер формирует снапшот состояния контейнеров, что позволяет Prometheus эффективно собирать метрики. Основные статусы контейнеров включают healthy, unhealthy и running без healthcheck. Также учитываются одноразовые контейнеры, чтобы избежать ложных алертов. Мы создали дашборд в Grafana для визуализации статусов контейнеров и настроили алерты для автоматического мониторинга. Этот инструмент стал open-source, так как проблема мониторинга распространена, и мы хотим поделиться решением с сообществом.