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