利用saltstack的api接口和modules实现实时监控

前言:

其实一说起实时监控,我就有很多的感想 ~ 以前也做过几个类似的全网流量监控的项目,用过websocket的模式的,还有就是redis pubsub模式,还有就是从同事的nagios获取流量数据(这个结果很郁闷,nagios加了Ndoutils插件后可以把数据存入到mysql里面,当时水平不到位,获取的数据有断链,原因不明)。 这些方法也都是大同小异,一般从nagios和zabbix获取的数据不太实时,,当然你也可以配置间隔时间,但那样的话,会造成你的一些个配置的改变,以及可能会出现利用率高的情况。 每个人都有自己的一套做法,我这边给大家再扩展出一个方案 salstack api的方式 !

saltstack 我也做过类似的方案,有些朋友可能看到我写的grains returners的方法 ~ 其实也是可以的,需要说明的是 grains 的数据,一般是启动minion的时候获取的,不太好做实时。 returners的话,是采用回调的方法,也就是说 我把想要的数据交给minion处理,这家伙搞到数据后,往另一个接口扔数据。我这个时候想看数据的话,就从库里面看,比如他扔给redis,我就从redis里面看 ~

有需求的朋友可以先瞅瞅我以前写的例子,大家要是觉得那里不对,咱们讨论下哈

websocket的模式:

redis pub sub的模式:

(咱们的saltstack api的模式也是属于pubsub的模式~)

第三方监控的扩展模式:

比如nagios的ndoutils插件~ 可以简单的mysql sql语句就可以获取数据 ~

获取监控项目

——————————-+——————-192.168.15.178 | CPU192.168.15.178 | Current Load192.168.15.178 | Current Users192.168.15.178 | HTTP192.168.15.178 | PING192.168.15.178 | Qcache_free192.168.15.178 | Root Partition192.168.15.178 | SSH192.168.15.178 | system swap192.168.15.178 | Total Processeslocalhost | CPU

简单描述下他的实现思路:

利用saltstack api 获取数据,然后插入到数据库里面,然后前端从后端来获取数据。

做这个东西,需要点其他的支撑,比如 基础的集群saltstack的使用,数据库的使用,前端样式的使用。 这些还算好学的,搜搜网上的文档也都可以搞定。

图标的数据暂时是模拟的,环境有点问题,我就简单模拟了一个server ! 原理都是那么回事 !

先放一个demo,这两天把项目的细节写出来 !!!

本文出自 “峰云,就她了。” 博客,谢绝转载!

为你的快乐而快乐的是朋友,为你的难过而难过的才是你的知己。

利用saltstack的api接口和modules实现实时监控

相关文章:

你感兴趣的文章:

标签云: