docker-compose ps
打印组合中的所有服务。
我需要为卡夫卡添加健康检查。
对于应用程序,我在docker映像中添加了 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收集metrix。但是,现在我正在寻找一个非常简单的解决方案,仅说明kafka是否健康(运行中,可用)。对于这种简单的检查,我不在乎它是否消耗了消息或被阻止了。
我尝试过的
kafka-topics --zookeeper zookeeper-1:2181 --list 2>& 1
会打印所有kafka主题。如果没有主题或kafka不可用,如何返回1?
如果我们有多个Zookeper实例怎么办?