首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何监控(微)服务?

如何监控(微)服务?
EN

Stack Overflow用户
提问于 2016-07-27 22:00:08
回答 2查看 277关注 0票数 0

我有一套服务。每个服务都包含一些组件。

其中一些是无状态的,一些是有状态的,一些是同步的,一些是异步的。

我使用了不同的方法来监控和提醒。

基于日志的警报和指标收集。基于新的遗物。自己的自行车。

基本上,atm我正在寻找一种方法,如何在单一位置概括和聚合所有服务的重要指标。我想要的一件事是,我们监控更多的产品,而不是单独的服务。

作为最终结果,我认为它是一个带有少量小部件的单一仪表板,但看着这些小部件,我可以肯定地说,如果服务对最终客户有用。

也许有人可以向我推荐一些方法/方法。或者提供一些最佳实践的参考。

EN

回答 2

Stack Overflow用户

发布于 2016-07-28 01:44:49

我喜欢你正在努力实现的目标!除非对服务进行彻底的监控,否则它不能用于生产。

我相信您所描述的内容涉及到health-checkingmetrics的主题。

...我可以肯定地说,如果服务对最终客户是可用的。

然而,这两者都需要一点;-)为了确保您当前正在满足您的SLA,您必须确保您的服务a)都在运行,b)按照请求执行。有了这两个问题,我建议看看StatsD工具链。最初由Etsy开发,它已经成为收集指标的事实标准。

为了确保您的所有服务都在运行,我们正在转发Kubernetes。它需要我们描述什么应该运行,可以从外部访问等,并在我们的基础设施上托管。它还确保,如果事物死亡-它们将被重启。它在自动缩放等方面也很有帮助!令人惊叹的工具和对Google的赞誉!它确保这一点的方式是使用health-checks.有多种方法可以确保Kubernetes引导的服务节点处于活动状态(即HTTP调用和CLI脚本,但这应该是模块化的,如果您需要任何其他东西!)如果Kubernetes检测到不健康的节点,它会立即淘汰它们并启动另一个节点。

现在,要确保您的所有服务都能按预期运行,您需要收集一些指标。对于我们的所有服务(以及所有单独的端点),我们通过StatsD收集一些指标,例如:

返回的错误的

  • Requests/sec
  • number (404,etc...)
  • Response时间(平均值、中位数、百分位数,取决于服务级别协议) CPU有效负载大小(Average)
  • sometimes每个端点的并发请求数、当前的实例数以及主机当前的
  • 和内存使用率以及正常运行时间等指标。

我们收集了更多的指标,但这只是底线。由于StatsD更像是一个“协议规范”,而不是一个具体的产品,因此有无数的收集器、前端和后端可供选择。它们可以帮助您可视化您的系统状态,并且其中的许多功能都具有超出其阈值的某些指标或指标组合的警报。

让我知道,如果这是有帮助的!

票数 0
EN

Stack Overflow用户

发布于 2016-08-02 23:55:38

您至少需要监视3种类型的内容:部署服务的主机、组件本身和SLA,其中一些依赖于您正在使用的软件堆栈以及体系结构。

也就是说,例如,您可以使用Nagios监视部署服务的硬件,使用Splunk监视服务度量/SLA以及可能发生的任何错误。你也可以使用SNMP包,以防出现问题,并且你有一个更复杂的支持结构,这将是你的触发器。如果不知道您的基础架构/服务是如何设置的,就很难深入了解更深层次的细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38615132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档