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

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

再次介绍一下edwin项目

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

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



一句话, edwin 是一个非常适合团队使用的监控报警平台, 而且也适合多个团队共用.

主要改进点:
1. 增加了一个新的api, 用来获取check item的配置信息  
   在agent编写和运行过程中, 很可能需要了解check item在DB中的配置信息, 比如是否已经在server端被禁掉, 或者根据server设定的检查指令, 适时作出检查逻辑的调整.

2. 服务端升级了第三方库 pypyodbc到1.3版本.  
   原先使用了pypyodbc 1.2版, 实际运行后, 发现了比较严重的memory leak. 升级后, 经长期观察, edwin内存消耗非常平稳.
   
3. 在登记检查结果的api中, 增加了新的参数 check_notification_msg  
  原来只有一个检查结果的文字描述, 即check_detail_msg, 如果检查结果异常, 这个文字描述将出现在web展现和报警邮件中. 在实际使用中, 渐渐发现使用一个文字描述不太恰当. 比如报警邮件中, 我们总是希望在邮件中即能看到最详尽的信息(比如报警的极限值等等), 这样收件人看邮件就知道发生了什么. 而web展现中, 因为报警极限值等信息已有展现, 文字检查结果应该是直接了当.
  所以增加了一个新的文本检查结果属性, 即check_notification_msg, 该属性将出现在邮件报警中, 而原有的check_detail_msg, 将专用于web展现中.

4. 检查结果的文字描述属性启用的html写法  
  check_detail_msg和check_notification_msg 原来没有启用html写法, 展现时, 文字信息经常是长长的一串, 简单的排版都做不到, 比如换行. 现在启用了html写法, web展现和邮件正文就更美观, 当然你需要自己处理html特殊字符的转义, 比如显示小于号, 需要做html转义.

文档的清单
1. 默认的readme使用了中文介绍, 已完成, 链接 readme.md
2. check item 的配置介绍, 已完成, 链接 check_item_cfg.md
3. 安装部署, 英文已完成, 链接 install_and_deploy.md
4. 如何开发agent程序, 未完成, 链接 write_your_own_agent.md

时间: 2024-11-08 22:18:41

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

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

简单介绍一下edwin edwin是一个报警和监控平台, 可以使用它监控任意东西, 如有异常(分为警告级和严重级), 可以发出报警. 可以自定义报警的通知方式, 比如邮件/短信/电话. 另外, 它提供一个web UI,  上, 能以dashboard形式展现监控指标的状态. edwin对于监控项目的组织形式, 由小到大是:  check item -> pagelet ->page -> dashboard.  另外,可以为 check item指定一个或多个 team 来负责.  这样

Java开源生鲜电商平台-销售管理设计与架构(源码可下载)

Java开源生鲜电商平台-销售管理设计与架构(源码可下载) 说明:在Java开源生鲜电商平台中,销售人员我们称为跟餐饮店老板沟通与下载APP的一类地推人员.(所谓地推指的就是一个一个上门拜访.) 由于销售人员有以下几类特性: 1. 时间随意性,他们并不类似技术或者性质人员,需要天天呆在办公室,他们是需要去外面,时间上具有随意性. 2. 行动随意性 ,他们的行动过于随意,每天也不用来打卡,每天就是按照计划去拜访客户,然后推销生鲜电商APP,让客户来进行下单,那么行为很随意,站在公司的角度 我们是没

Java微信公众平台开发模式+自定义按钮源码

首先,想用开放模式需要先成为开发者.成为开发者有两种写法. 一是:通过jsp页面,用out.print("echostr")//SHA1加密的字符串: 二是:通过Servlet.doGet返回exhostr,给微信平台. 这里我只写第二种方式的请求(这里的请求是以get方式请求),代码如下: import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.ut

Java开源生鲜电商平台-用户表的设计(源码可下载)

Java开源生鲜电商平台-用户表的设计(源码可下载) 说明:由于该系统属于B2B平台,不设计到B2C的架构. 角色分析:买家与卖家. 由于买家与卖家所填写的资料都不一样,需要建立两站表进行维护,比如:buyer,seller. 这样进行数据库的解耦,任何一方的变动都互不影响,但是我想集中式管理,以及一些业务个性化要求,我就增加了一个users表.表结构如下: 账号唯一键,所以做了唯一键索引, 账号的准确性采用手机短信验证. 根据类型区分买家与卖家,登陆的时候,采用的就是users这种表进行维护

CentOS7 宝塔搭配git 实时更新项目源码

上一篇文章 介绍了如何在CentOS7上 搭建GIT环境 详见链接:https://www.cnblogs.com/mverting/p/10206532.html 本章主要介绍git如何和wdcp搭配 , 做到实时提交修改 如果按照网上常见的教程, 一般都是要新建git用户和用户组, 而wdcp里站点默认的用户是www组里的www用户, 如果强制把站点用户改成git , 很多项目会无法正常运行, 所以本章就介绍如果以www这个用户作为git的默认用户, 并实现git的仓库和代码分离 一. 需要

windows 平台使用 VS2017 编译 libevent 源码

一 依赖库编译先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 VS2017 编译 openssl 源码参考前面的文章openssl 默认编译到 C:\Program Files (x86)\OpenSSL 目录,包含收文件,lib文件和dll文件,待会需要配置此路径,或者直接把编译好的openssl库复制到指定路径中.2)使用 VS2017 编译 zlib 源

跟我一起学extjs5(32--加入模块和菜单定义[4更新菜单(源码下载)])

跟我一起学extjs5(32--加入模块和菜单定义[4根据后台信息更新菜单]) 这一节根据后台传递过来的菜单分组和菜单定义,以及模块定义来更新4种类型的菜单. 按钮菜单和标准菜单的数据格式是一样的,生成的函数都在MainModel.js中,下面将其改一下: // 根据data.tf_MenuGroups生成菜单条和菜单按钮下面使用的菜单数据 getMenus : function() { var items = [], me = this; Ext.Array.each(this.get('tf

分享拉菲平台搭建教程材料拉菲源码一份服务器域名

今天向大家分享一套拉菲源码的搭建教程,该教程为自己结合自身经验所编制的,如果疑问可以咨询QQ:212303635,如果在搭建方面有不懂的也可以咨询我! 现在向大家讲述所需的材料 首先: 1.服务器(要求Windows2008 R2)64位操作系统 2.环境要求:zkeysPHP的环境组件 3.PHPstyle 4.Mysql数据库 5..最重要的是拉菲源码一份(这边可以先大家分享一下下载链接:http://aqiulian.com/forum.php?mod=viewthread&tid=247

怎么开发一对一直播平台系统?一对一直播源码重点功能

一对一直播平台系统是直播行业发展至今,作为一种全新的"直播+社交"形式出现在人们视野里的软件系统.那么一对一直播平台系统该如何开发呢?与传统的直播平台开发又有哪些不同呢?一对一直播系统,它的直播实现流畅同传统的视频直播实现流程是一致的,都需要经过采集.编码.推流.分发.拉流.解码.观看的流程.因此,所用到的开发框架.开发语言.业务服务等方面也与传统的直播平台开发基本一致.在开发框架上可以采用Thinkphp框架,针对于开发语言,根据应用终端的不同,手机Android端采用Java语言开