java 单机接口限流处理方案
482
2022-09-05
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.
项目地址: 它同时也是我所有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
有图有真相
UnitTest分页, 能看到该page下所有的监控item的情况.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~