实时收集、分析服务器状态

之前写过,如果CMDB可以实时收集到服务器的性能状态和指定的运行数据,并存储了每种业务部署方式或某种工作的执行方式,就可以通过程序自动根据服务器状态对指定的服务器进行新业务的部署或功能切换、服务关闭等等事情,也可以部署在云计算服务器平台,根据这2部份分数据开启新的虚拟机部署业务或关闭虚拟机节省资源。

在部署业务的方式,我们是参考RightScale实现的服务器模版,任务script,任务队列; 也可以直接通过复制已部署好的镜像操作系统来实现。

在服务器性能数据收集部分,我和同事khsing采用collectd来收集。

所有服务器本身已经部署了collectd client用于汇报服务器的性能数据来生成监控图表,但都是rrd文件,由于collectd本身存储rrd文件会有10-15分钟延迟,因此直接读取rrd数据不仅麻烦,而且延迟大,这种延迟不能用在对服务器状态进行实时分析的业务上,出图还行。

但是collectd client的本身的数据实际是根据collectd所带的监控脚步本身设置的汇报时间来工作的,一般的cpu , interface等插件都是10秒汇报一次,实时性满足需求,因此我们为collectd配置了httpwrite插件,该插件可以实时将collectd server收到的汇报数据通过http方式转发给其它接口,因此在该接口增加一次过滤就可以获得到最新的所需要性能数据。

collectd client汇报的数据格式是

PUTVAL hostname/pluginname/pluginsubjobname unixtime:data

计算方法 每次汇报的都是当前时间的数据,不能直接使用,必须要用前后2个汇报数据的差才是在间隔周期内的数据变化。

 

有了这部分数据就可以对执行的服务器状态进行实时分析,通过程序对系统做出决策。


猜你喜欢

转载自icej.iteye.com/blog/1345176
今日推荐