项目地址: https://github.com/harryliu/edwin , 欢迎fork或PR, 如果喜欢, 请打star.
再次介绍一下edwin项目
edwin是一个报警和监控平台, 可以使用它监控任意东西, 如有异常(分为警告级和严重级), 可以发出报警. 可以自定义报警的通知方式, 比如邮件/短信/电话. 另外, 它提供一个web UI, 能以dashboard形式展现监控指标的状态.
edwin对于监控项目的组织形式, 由小到大是: check item -> pagelet -> page -> dashboard. 另外,可以为 check item指定一个或多个 team 来负责. 这样灵活的组织形式, 使得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