Докер-Композит Кафка Healthcheck - PullRequest
0 голосов
/ 25 июня 2019

docker-compose ps печатает все сервисы внутри композиции.Мне нужно добавить проверку работоспособности для kafka.

Для приложений я добавил curl в образ докера и проверил их конечную точку работоспособности.Например, в Spring Boot я могу запустить активатор здоровья.

my-service-1:
  healthcheck:
    test: ["CMD", "curl", "-f", "http://my-service-1:8080/actuator/health"]
    interval: 8s
    timeout: 6s
    retries: 10

Для mongodb я добавил скрипт, который запускается из docker-compose healthcheck

if mongo --quiet "localhost/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then
    exit 0
fi

exit 1

Обратите внимание, мы также используем JMXАгент по сбору метрикса с кафки.Тем не менее, сейчас я ищу очень простое решение, которое просто говорит, здоров ли Кафка (работает, доступен).Для этой простой проверки мне все равно, использует ли она сообщения или заблокирована.

То, что я пробовал

kafka-topics --zookeeper zookeeper-1:2181 --list 2>& 1

, которая печатает все темы кафки.Как вернуть 1, если нет тем или kafka недоступен?

Что если у нас несколько экземпляров zookeper?

...