Git Product home page Git Product logo

edwin's Introduction

简单介绍一下edwin

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

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

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

edwin 组件

  1. edwinServer.Web, 做为web service和 web 展现页面.
    需要部署在你的服务器上, 需要Python2.7, 具体见 requirements_Server.txt 文档
  2. edwinServer.Scripts, 有脚本专门发送告警
    部署在你的服务器上, 推荐和edwinServer.Web放在同一个机器上, 当然也可以不放在一起. 安装环境见 requirements_Server.txt 文档
  3. edwinAgent, 你的检查脚本即是一个agent, edwin已经提供了agent开发示例
    部署在你想要的机器上, 运行环境是jython2.7和python2.7, 考虑到jython安装非常方便, 推荐使用jython2.7

edwin是如何工作的

###首先声明两个概念, 下面的文档将会用到这两个概念.

  1. 检查状态, 即你的check item是否正常, 在edwin中, 有三种检查状态:正常/警告级异常/严重异常
  2. 检查结果, 分为两种: 即可以可量化的, 以及也不可量化的. 对于可量化的, 你的agent需要登记检查值, 对于不可量化的check item, 你的agent需要登记检查状态.

###edwin工作方式非常简单, 一共三步:

  1. 在客户端机器上运行你的agent脚本, 即完成检查, 通过web service将检查结果保存在服务器端.
  2. dwinServer.Scripts.send_alarm 组件定时查看检查结果, 如有异常会发出报警.
  3. edwinServer.Web 会在web页面上以醒目的方式展现检查结果.

guide 说明

  1. 对于可量化的check item, 你需要在数据库中设置警告级临界值和严重级临界值. 你的agent只需要登记实际检查值即可, 服务器端自动判断报警级别.
  2. 对于不可量化的check item, 你的agent程序需要给出检查状态, 即正常抑或警告或紧急.
  3. 告警发送方式
    *对于警告级异常, edwin会以email方式发出警告
    *对于紧急级异常, edwin会以邮件/短信/电话的方式发出警告, 当然可以禁掉短信/电话的告警方式
  4. 重复警告的处理 谁都不想收到一堆重复的警告, 尤其是不那么重要或者检查频率高的check item, edwin为每个check item提供三个开关来控制是否允许重复告警, 分别是ALLOW_REPEATED_MAIL_ALARM、ALLOW_REPEATED_SMS_ALARM和ALLOW_REPEATED_CALL_ALARM
  5. Web提供为每个check item提供基本的趋势图, 帮助我们回顾检查的结果

抓图

dashboard

page

edwin's People

Contributors

harryliu avatar

Stargazers

江光祥 avatar  avatar Chris Schnabel avatar Xu Xiaodong avatar  avatar  avatar ghostsf avatar 5l1v3r1 avatar Robert Wang avatar  avatar  avatar  avatar HelloPython avatar Scott Judson avatar  avatar Tang Zheng'en avatar youshaoping avatar zengkaimin avatar Lilei.Xuan avatar Feng Liu avatar  avatar Calvin Neo avatar abdullah azad avatar walterzhang avatar Paulzhousz avatar wangqi avatar 陈辉 avatar MIAN YANG avatar lyi avatar soulnix avatar 天飞 avatar  avatar Chrinide avatar pinjer avatar fangdaidai avatar  avatar  avatar  avatar Keep It Simple avatar ghv587 avatar  avatar 晓峰 avatar Cgruppo avatar  avatar Audric.S avatar leaeasy avatar  avatar  avatar  avatar robin avatar Charles avatar  avatar Wenjun Xiao avatar  avatar Zhong Chen avatar  avatar Nexpro avatar Bill Chang avatar qingqing avatar Pradyumna Joshi avatar  avatar libratears avatar Tuzi avatar  avatar vitowoo avatar lightyarn avatar DanielJia avatar Buttonwood avatar 0xFF avatar ScorpioNeal avatar Guo Jia avatar  avatar 文痞 avatar cinience avatar zhaoweiguo avatar David.Gao avatar Feng avatar tom zhou avatar  avatar Jinghao Li avatar Haidong Ji avatar None avatar kanako avatar 橘子 avatar  avatar ACoder avatar  avatar Kelvin avatar Lian Shuping avatar Baoz avatar L avatar  avatar  avatar Weitao Weng avatar  avatar  avatar  avatar  avatar shenwei avatar  avatar

Watchers

 avatar vitowoo avatar  avatar 0xFF avatar fivesix avatar SwhGo_oN avatar liuyuesheng avatar space avatar MIAN YANG avatar abdullah azad avatar biao qi avatar mad cid avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.