针对时间变化很大的系统集体的监控/度量收集(又名云计算)

当你的服务器机队没有及时改变时,比如当你使用裸机托pipe时,经典的监控和度量收集解决scheme(Nagios,Munin)运行良好。

但是,如果系统数量变化很大,并且实际上可能变化很快,那么传统软件就更难以设置和使用。 例如,试图让Nagios(监控)跟上快速发展的基础架构可能会很麻烦。 穆宁(度量收集)也一样。 这不仅仅是configuration,而且信息传递给用户或显示的方式对于云来说也是不够的。

什么是一些可能的替代scheme与云运作良好? 目标是收集和显示指标(类似于Munin),并在特定指标超出限制或特定服务不可用时(与Nagios类似)生成警报,并以云环境友好的方式执行所有操作。

一些云提供商将监控/度量收集作为服务提供,但并不总是如此。如果您使用多个提供商,则不希望过度依赖一家供应商。 因此需要独立于提供者的解决scheme。

编辑:我以普遍的方式提出这个问题 – 不限于任何给定的云基础设施(如OpenStack),但在使用任意云提供商的一般情况下。

对于寿命短或者基础设施变化频繁的系统,我使用两种不同的工具来处理监控。 我添加了一个评论,询问哪些指标对您最重要,似乎您正在寻找基本的“ 什么时候发生了什么? ”监测统计与一些警报…

由于系统和硬件通过云服务和虚拟化被抽象化,一些传统的监控工具不太有用,因为您可能不关心物理硬件资源和健康状况。 应用程序和虚拟资源(从VM /实例/容器的angular度来看)是重要的。

我在下面给出的两个例子都是完全放手的,在我的环境中是默认的。 由木偶加强,我可以确保所有的系统捕获和报告他们的performance。

select#1 – 新的遗物

New Relic监控是基于代理的,很容易融入configuration或configurationpipe理系统。 在我的情况下,我部署的每个服务器都获得了一个Puppetized New Relicconfiguration ,使用我的New Relic帐户注册自己,并且在安装后大约30-60秒的监视仪表板中可用。 主机通过标准端口推送数据,所以这在各种环境下都能正常工作。 系统可以在拆解时取消注册。

主要优点是60秒粒度,实时仪表板/信息亭视图,它可以免费进行服务器监控,并且以最终用户和客户可以接受的方式清洁和呈现。

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明


挑选#2 – Monit和M / Monit

Monit对于应用程序和基本的系统监控非常方便。 Monit是一个通过本地操作系统包pipe理轻松安装在目标系统上的代理。 可以定制它来监视自定义应用程序及其相关参数,并根据这些指标采取行动。 M / Monit为Monit检查添加了一定程度的集中化,并允许您汇总数据进行分析和绘图。

以代理为基础,以自动方式将configuration推送到主机也很容易。 我也使用Puppet为这个,有一些创造性的诱惑build立的confutations文件。 初始化后,新服务器将通过http / https端口向中央M / Monit守护进程注册,因此防火墙和多个位置的监控不成问题。

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明

我不确定这是否可以回答,因为云系统是如此的多样化(我实际上已经把它标记为太宽),但是我的想法在下面。

就系统度量标准而言,您需要服务器上的代理将度量标准推送到中央集合端点,以确保自动添加新服务器,并且旧服务器被修剪,或者在端点终止时停止传输度量标准。

您可以自己推出自己的产品(但是也有一个关于云基础架构监控云基础架构的潜在问题 – 当Amazon决定淘汰您的collectd服务器时会发生什么?),或者您可以使用多个第三方托pipe提供商( StackDriver , NewRelic , Boundary , HostedGraphite等等 – SaaS解决scheme通常与IaaS平台并驾齐驱)。

您当然可以在您的云基础架构中pipe理自己的Nagios服务器,而使用导出资源的Puppet等可以使这非常容易 – 如果您使用云技术,至less应该已经使用某种自动化工具。

如果您需要自上而下的基础架构监视/警报平台,NewRelic和StackDriver都具有此function,至less对于Amazon云来说,并且可以插入像PagerDuty这样的通知机制 – 但我并不知道全局“统治所有人的一个解决scheme”。

如果您正在谈论云标准软件,即OpenStack,这些组件是众所周知的。

要收集云计算的历史数据: https : //wiki.openstack.org/wiki/Ceilometer

监测 – 敏感

编辑:

云高仪是特定于OpenStack的,但是Sensu是一个通用的监视框架。 此外,collectd还是一个相当标准的收集指标的系统,您可以反过来将其添加到仙人掌或石墨中,以生成趋势图。 为了进一步增强function,您可以合并报告服务器,如Jasper Reports,但是您必须自己创buildCTL。 总之,这里有很多select,这个问题确实太广泛了,不能简洁地回答。