zoukankan      html  css  js  c++  java
  • 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. 

    项目地址: 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的情况. 


  • 相关阅读:
    redis 配置文件说明
    Python 详解命令行解析
    Python 的字符编码
    pt-online-schema-change utf8mb4 错误解决方法【转】
    [MySQL 5.6] Innodb新特性之export/import 表文件
    查找数据库大小和表大小
    MySQL 增删列
    使用MySQL Shell创建MGR
    Qingcloud_MySQL Plus(Xenon) 高可用搭建实验
    MySQL事务提交流程
  • 原文地址:https://www.cnblogs.com/harrychinese/p/edwin_open_source.html
Copyright © 2011-2022 走看看