最近的想法就是将各个服务器或者监控终端的数据做一个接口,统一发送到一个服务器来做做个统一的界面,做告警收敛、设备集中监控,同时收集各个系统的数据留带后续分析。那么其实难点最大的就是做接口,各个系统数据乱七八糟,有接口的,还有没有接口的,那么怎么才能将各个数据做一个接口到统一的服务器呢?
针对不同的业务做接口,有下几点可以实现。
1、有接口的业务。此类业务就很好处理了,只需要根据接口的协议对其进行询问返回数据即可。如果是硬件接口,业务简单的花,那么其实就可以抛弃采集系统,直接将接口接入新集中系统。
2、业务时经过网页提供的,但是无需知道网页的内容,此类业务只需要知道网页连通性,延迟等,那么命令行工具curl等模拟登录网页是个不错的选择。
3、需要知道网页状态和内容的,此类业务稍显复杂,最直接的就是读取原系统的数据库来达到数据共享的目的,或者通过python爬取网页数据来获取数据,curl也可以实现网页内容的获取。
4、桌面应用程序的接口,此类业务数据分享就比较麻烦,如果是自研系统那么升级一下将采集的的数据进行广播或者组播等方式来共享。如果是没有接口的打包的程序,那么可将其日志或者access数据库中的数据读取然后共享,或者在简单点将本地文件夹做成共享文件,在新的集中系统中进行访问即可。
5、抓包获取数据。最后一项就是将原系统服务的数据通过python、wireshark、CommMonitor等工具抓取数据,再分享出去,此类方法可以不受限制的完成数据采集,但是底层数据量较大,拿到需要的数据并不是那么容易。
6、图像识别技术。可考虑将原系统的显示接口图像截图识别获取数据,但此类需要界面简单,无法处理复杂的终端。
网友评论