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

简单介绍一下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的汇总.

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

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

时间: 2024-10-17 11:38:10

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

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

edwin从发布以来, 得到了不少关注, 获得了不少star. 最近又做了一些很有意义的改进, 同时完善了部分文档. 项目地址: https://github.com/harryliu/edwin , 欢迎fork或PR, 如果喜欢, 请打star. 再次介绍一下edwin项目 edwin是一个报警和监控平台, 可以使用它监控任意东西, 如有异常(分为警告级和严重级), 可以发出报警. 可以自定义报警的通知方式, 比如邮件/短信/电话. 另外, 它提供一个web UI, 能以dashboard形

Python:渗透测试开源项目【源码值得精读】

sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工具:HULK SSL安全扫描器:SSLyze 网络 Scapy: send, sniff and dissect and forge network packets. Usable interactively or as a library pypcap, Pcapy and pylibpcap: several different Python

《python源码剖析》笔记 pythonm内存管理机制

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.内存管理架构 Python的内存管理机制都有两套实现:debug模式和release模式 Python内存管理机制的层次结构: 图16-1 第0层是操作系统提供的内存管理接口,如malloc.free 第1层是Python基于第0层操作系统的内存管理接口包装而成的,主要是为了处理与平台相关的内存分配行为. 实现是一组以PyMem_为前缀的函数族 两套接口:函数和宏. 宏,可以避免函数调

《python源码剖析》笔记 python虚拟机中的函数机制

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.Python虚拟机在执行函数调用时会动态地创建新的 PyFrameObject对象, 这些PyFrameObject对象之间会形成PyFrameObject对象链,模拟x86平台上运行时栈 2.PyFuctionObject对象 typedef struct { PyObject_HEAD PyObject *func_code: //对应函数编译后的PyCodeObject对象 Py

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

python源码学习(一)——python的总体架构 学习环境: 系统:ubuntu 12.04 STLpython版本:2.7既然要学习python的源码,首先我们要在电脑上安装python并且下载python的源码,ubuntu 12.04 STL自带的python版本为2.7.3,这就可以了,接下来下载源码,下载python2.7.7的源代码,下载结束后解压文件,我们会看到如下文件结构:,接下来介绍一下,demo文件夹里放的是一些例子:Doc文件夹里放的是文档,Grammer是语法分析器,

[Python源码剖析]字符缓冲池intern机制

static PyStringObject *characters[UCHAR_MAX + 1]; ... /* This dictionary holds all interned strings. Note that references to strings in this dictionary are *not* counted in the string's ob_refcnt. When the interned string reaches a refcnt of 0 the st

《python源码剖析》笔记 Python虚拟机框架

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1. Python虚拟机会从编译得到的PyCodeObject对象中依次读入每一条字节码指令, 并在当前的上下文环境中执行这条字节码指令. Python虚拟机实际上是在模拟操作中执行文件的过程 PyCodeObject对象中包含了字节码指令以及程序的所有静态信息,但没有包含 程序运行时的动态信息--执行环境(PyFrameObject) 2.Python源码中的PyFrameObject

《python源码剖析》笔记 python虚拟机中的一般表达式

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.字节码指令 LOAD_CONST:从consts表中读取序号为i的元素并压入到运行时栈中 STORE_NAME:改变local名字空间.从符号表names取序号为i的元素作为变量名, 取运行时栈的栈顶元素作为变量值,完成从变量名到变量值的映射关系的创建. BUILD_MAP:创建一个空的PyDictObject对象,并压入运行时栈 DUP_TOP:将栈顶元素的引用计数增加1,并将它再次

Python源码分析(一)

最近想学习下Python的源码,希望写个系列博客,记录的同时督促自己学习. Python源码目录 从Python.org中下载源代码压缩包并解压,我下载的是Python2.7.12,解压后: 对于主要的文件夹做出介绍: Include:包含Python提供的所有头文件,如果需要自己使用C或者C++编写自定义模块扩展Python,就需要用到这里的头文件: Lib: 包含Python自带的所有标准库,全部由Python语言编写: Modules:包含了所有使用C语言编写的模块: Parser:Pyt