简单介绍一下edwin

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

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

 

一句话, 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的汇总.

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

edwin报警和监控平台开源了(python源码)的更多相关文章

  1. edwin报警和监控平台近期的更新(python源码)

    edwin从发布以来, 得到了不少关注, 获得了不少star. 最近又做了一些很有意义的改进, 同时完善了部分文档. 项目地址: https://github.com/harryliu/edwin , ...

  2. 点菜网---Java开源生鲜电商平台-系统架构图(源码可下载)

    点菜网---Java开源生鲜电商平台-系统架构图(源码可下载) 1.点菜网-生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台 ...

  3. Python优秀开源项目Rich源码解析

    这篇文章对优秀的开源项目Rich的源码进行解析,OMG,盘他.为什么建议阅读源码,有两个原因,第一,单纯学语言很难在实践中灵活应用,通过阅读源码可以看到每个知识点的运用场景,印象会更深,以后写代码的时 ...

  4. ubuntu编译python源码的坑

    在linux平台下编译python时只需要3条命令. 编译步骤 在github或https://www.python.org/downloads/中下载python源码 解压压缩包进路目录执行 1. ...

  5. python源码学习(一)——python的总体架构

    python源码学习(一)——python的总体架构 学习环境: 系统:ubuntu 12.04 STLpython版本:2.7既然要学习python的源码,首先我们要在电脑上安装python并且下载 ...

  6. Python 源码剖析(六)【内存管理机制】

    六.内存管理机制 1.内存管理架构 2.小块空间的内存池 3.循环引用的垃圾收集 4.python中的垃圾收集 1.内存管理架构 Python内存管理机制有两套实现,由编译符号PYMALLOC_DEB ...

  7. 开源项目Telegram源码 Telegram for Android Source

    背景介绍 Telegram 是一款跨平台的即时通信软件,它的客户端是自由及开放源代码软件.用户可以相互交换加密与自毁消息,发送照片.影片等所有类型文件.官方提供手机版.桌面版和网页版等多种平台客户端. ...

  8. 分位数回归及其Python源码

    分位数回归及其Python源码 天朗气清,惠风和畅.赋闲在家,正宜读书.前人文章,不得其解.代码开源,无人注释.你们不来,我行我上.废话少说,直入主题.o( ̄︶ ̄)o 我们要探测自变量 与因变量 的关 ...

  9. windows使用VS编译python源码

    使用VS2021编译python源码 说明,使用VS2019也是可以的. 环境准备 对于VS2019首要要安装必要的环境 到python官网下载源码压缩包以及解压(红色箭头任选一个都行) 打开下载好的 ...

随机推荐

  1. 【codevs1170】 双栈排序

    http://codevs.cn/problem/1170/ (题目链接) 题意 给出一个初始序列,判断能否通过两个栈的入栈和出栈操作构造出一个有序序列.若可以,输出字典序最小的方案. Solutio ...

  2. bzoj3262: 陌上花开(树套树)

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  3. POJ2001 Shortest Prefixes

    Description A prefix of a string is a substring starting at the beginning of the given string. The p ...

  4. POJ2010 Moo University - Financial Aid(二分法)

    题目地址 分析:如果用二分法,关键是score和aid分开排序,score排序是为了充分利用中位数的性质,这样就可以确定m左右必须各选N/2个,到这之后有人是用dp求最优解,可以再次按照aid排序一次 ...

  5. hihoCoder #1164 随机斐波那契

    时间限制:5000ms单点时限:1000ms内存限制:256MB描述 大家对斐波那契数列想必都很熟悉: $a_0 = 1, a_1 = 1, a_i = a_{i-1} + a_{i-2}, (i & ...

  6. persistent.xml hibernate 利用sql script 自定义生成 table 表

    <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http:// ...

  7. JS生成随机数的各种函数

    第一种方法 /* *@desc:生成随机字符串 *@remark:toString方法可以接收一个基数作为参数的原理,这个基数从2到36封顶.如果不指定,默认基数是10进制 */ function g ...

  8. JAVA通过md5方法进行加密

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /* * MD5 算法 * */ ...

  9. 蛋疼的vs

    这个vs2008 难用的很,要是叫我选肯定vs高版本的,vs2012或者直接vs2015

  10. Windows7、8无法访问其他计算机共享盘

    Windows7.8无法访问其他计算机共享盘 WIN7 访问共享的时候提示用户名和密码不正确,在XP系统上可以正常访问 一.win+r   gpedit.msc    进行组策略如图所示 二.wind ...