我一直在马拉松中为我的所有应用程序配置http健康检查工作得很好,麻烦就是马拉松将继续踩踏并重新启动一个容器而不能进行健康检查,除非我碰巧在Marathon UI中查看,否则我不会知道。
有没有办法检索健康检查失败的所有应用程序,以便我可以发送电子邮件警报或类似的?
Marathon使用event bus公开有关健康检查失败的信息,因此您可以编写一个简单的服务,使用Marathons HealthChecks事件("eventType": "instance_health_changed_event"
)并将其转换为公制,提醒您命名。
作为参考,我可以推荐allegro/appcop。这是缩减不健康应用程序的服务。它的代码可以很容易地改变,以做你想要的。