【问题标题】:Monitoring & Alerting on production applications [closed]生产应用程序的监控和警报[关闭]
【发布时间】:2015-08-20 11:17:54
【问题描述】:
我一直在寻找有关监控和警告生产应用程序的方法的讨论,但没有找到任何压倒性的信息。
我正在将应用程序的庞然大物转换为更小的微服务,我认为现在是实施对该应用程序进行更好监控的好时机。有哪些方法(最好不使用付费应用程序)来监控整个应用程序和各个微服务的运行状况?
我考虑过的一些可能性。
- 构建一个定期检查或接收心跳的小型应用程序。
- 在 openstack 上使用 kabana 设置 logstash 以监控服务吐出的各种日志。
Aaaannnddd 这就是我所得到的。
【问题讨论】:
标签:
performance
architecture
monitoring
【解决方案1】:
有多种方法可以监控您的生产服务器,您可以使用一些免费的受限服务器监控器,例如 Nagios,它难以配置且工作不简单。或者你可以看看这个市场上的一些参与者,比如 Stackify、LogicMonitor 或其他几个。如果你想要额外的工具,比如代码级监控,那么你需要寻找提供 APM(应用程序性能管理)的供应商,例如 Stackify、New Relic、AppDynamics 你会发现巨大的价格差异和功能,所以它真的是关于你有什么要求。
【解决方案2】:
我们正在运行一个相当大的环境(数百台服务器),它基于微服务/docker、多层、高可用性和完全弹性。
在监控和警报方面,我们使用了两种不同的工具:
所以当出现重大问题时,Nagios 会发出警报,我们会跳入 Log Analytics 控制台尝试查找问题。在某些情况下,当问题开始出现在 Nagios 上之前,ELK 会发出警报。这样我们就可以防止问题恶化。您可以在此处阅读有关在 AWS 上设置自己的 ELK 设置的更多信息 - http://logz.io/blog/deploy-elk-production/
显然有许多商业工具可用于监控、警报和日志分析,但由于您正在寻找免费/开源工具,我推荐这些工具。
**作为免责声明,我是 Logz.io 的 CEO 和联合创始人,其中包括提供 Enterprise-ELK 即服务
【解决方案3】:
有两个要监控的元素:
可用性 - 它会起作用吗
性能 - 是否正常工作
可用性很容易,有数百种工具可以进行综合交易。您可以使用服务(我可以提供特定的生活,但从 pingdom 到 24x7 站点,再到各种其他点解决方案,有很多)
如果您想了解性能,请查看 APM 技术。它们的范围从关注最终用户和组件级别性能的更简单的跟踪产品到实际将整个事务路径(包括浏览器数据)缝合在一起的更复杂的工具。
Gartner 对这两个市场都有研究(我在离开之前写了很多)。我在一家 AppDynamics 公司工作,该公司在一个产品中完成上述所有工作,包括应用程序可用性和性能(移动或网络)。我们提供解决方案 SaaS,或者您可以在内部安装它。最后,我们还将包括日志在内的数据拉到一个后端。
您可以构建可用性监控和日志收集,还可以收集客户端数据和您发出的其他遥测数据,但是没有好的开源 APM 工具可用于真正的事务跟踪技术。还有你想花多少时间来管理 ELK、opentsdb、graphite、statsd、collectd、Nagios 等来完成这项工作......