码迷,mamicode.com
首页 > 编程语言 > 详细

edwin报警和监控平台开源了(python源码)

时间:2014-08-11 00:18:11      阅读:403      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   io   strong   文件   数据   for   

简单介绍一下edwin

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

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

 

为啥开源?

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

项目地址: https://github.com/harryliu/edwin

 

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的汇总. bubuko.com,布布扣

 

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

bubuko.com,布布扣

edwin报警和监控平台开源了(python源码),布布扣,bubuko.com

edwin报警和监控平台开源了(python源码)

标签:blog   http   使用   io   strong   文件   数据   for   

原文地址:http://www.cnblogs.com/harrychinese/p/edwin_open_source.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!