用python开发的云监控平台_edwin报警和监控平台开源了(python源码)

简单介绍一下edwin

edwin是一个报警和监控平台, 可以使用它监控任意东西, 如有异常(分为警告级和严重级), 可以发出报警. 可以自定义报警的通知方式, 比如邮件/短信/电话. 另外, 它提供一个web UI, 能以dashboard形式展现监控指标的状态.

edwin对于监控项目的组织形式, 由小到大是: check item -> pagelet -> page -> dashboard. 另外,可以为 check item指定一个或多个 team 来负责. 这样灵活的组织形式, 使得edwin非常适合管理大量监控条目.

一句话, edwin 是一个非常适合团队使用的监控报警平台, 而且也适合多个团队共用.

为啥开源?

edwin是我历时半年的成果, 当然单从功能上讲, 其实用不了这么长时间来开发. 主要是我对代码做了很多次重构了, 不断琢磨我认为python项目的best practice. 今天开源出来, 希望有更多的python爱好者能从中学到点什么. 如果你的这个项目感兴趣, 欢迎fork或PR, 如果喜欢, 请打个star.

edwin同时也是我所有python项目的模版项目

对, 它同时也是我所有python项目的模版项目, 看看下面的特性, 就知道它是一个很全面的项目, 适应性做的也不错. 我的新项目基本上都是在edwin基础上做必要裁剪.

特性有:它是一个console和web application的组合体.

console部分同时支持jython和python. web部分需要python.

包含了bat和sh模版脚本, 帮助启动python程序.

web application这块使用了flask框架.

使用了flask blueprint来分割不同的web 模块.

包含了一些web api的设计.

web端支持CherryPy部署, 当然也支持其它wsgi服务器.

前端基于bootstrap, 同时考虑了对于IE的支持.

亮点或best practice有:它有比较好的logging处理方式, 包括log文件存放位置, rotate机制, 允许多进程同时写入

它的数据库处理模块, 同时支持jython/python, 同时支持console/web application, 并且不用担心线程安全问题.

它没有使用sqlalchemy, 而是使用了我的pyDbRowFactory框架, 可以发挥你的SQL水平,避免了ORM框架性能上的overhead

有图有真相

dashboard 页面能看到所有的监控item的汇总.

用python开发的云监控平台_edwin报警和监控平台开源了(python源码)_第1张图片

UnitTest分页, 能看到该page下所有的监控item的情况.

用python开发的云监控平台_edwin报警和监控平台开源了(python源码)_第2张图片

你可能感兴趣的:(用python开发的云监控平台)