我有一套服务。每个服务都包含一些组件。
其中一些是无状态的,一些是有状态的,一些是同步的,一些是异步的。
我使用了不同的方法来监控和提醒。
基于日志的警报和指标收集。基于新的遗物。自己的自行车。
基本上,atm我正在寻找一种方法,如何在单一位置概括和聚合所有服务的重要指标。我想要的一件事是,我们监控更多的产品,而不是单独的服务。
作为最终结果,我认为它是一个带有少量小部件的单一仪表板,但看着这些小部件,我可以肯定地说,如果服务对最终客户有用。
也许有人可以向我推荐一些方法/方法。或者提供一些最佳实践的参考。
发布于 2016-07-28 01:44:49
我喜欢你正在努力实现的目标!除非对服务进行彻底的监控,否则它不能用于生产。
我相信您所描述的内容涉及到health-checking和metrics的主题。
...我可以肯定地说,如果服务对最终客户是可用的。
然而,这两者都需要一点;-)为了确保您当前正在满足您的SLA,您必须确保您的服务a)都在运行,b)按照请求执行。有了这两个问题,我建议看看StatsD工具链。最初由Etsy开发,它已经成为收集指标的事实标准。
为了确保您的所有服务都在运行,我们正在转发Kubernetes。它需要我们描述什么应该运行,可以从外部访问等,并在我们的基础设施上托管。它还确保,如果事物死亡-它们将被重启。它在自动缩放等方面也很有帮助!令人惊叹的工具和对Google的赞誉!它确保这一点的方式是使用health-checks.有多种方法可以确保Kubernetes引导的服务节点处于活动状态(即HTTP调用和CLI脚本,但这应该是模块化的,如果您需要任何其他东西!)如果Kubernetes检测到不健康的节点,它会立即淘汰它们并启动另一个节点。
现在,要确保您的所有服务都能按预期运行,您需要收集一些指标。对于我们的所有服务(以及所有单独的端点),我们通过StatsD收集一些指标,例如:
返回的错误的
我们收集了更多的指标,但这只是底线。由于StatsD更像是一个“协议规范”,而不是一个具体的产品,因此有无数的收集器、前端和后端可供选择。它们可以帮助您可视化您的系统状态,并且其中的许多功能都具有超出其阈值的某些指标或指标组合的警报。
让我知道,如果这是有帮助的!
https://stackoverflow.com/questions/38615132
复制相似问题