alarm

功能

  • 处理judge 产生的告警event

  • 区分告警优先级,优先处理级别比较高的告警

  • 为用户提供回调接口

  • 生成告警msg

  • 展示未恢复的告警

配置文件


{ "debug": true, "uicToken": "", "http": { "enabled": true, "listen": "0.0.0.0:9912" # 未恢复的告警就是通过alarm的http页面来看的 }, "queue": { "sms": "/sms", # 需要与sender配置成相同的,维持默认即可 "mail": "/mail" }, "redis": { "addr": "127.0.0.1:6379", # 与judge、sender相同的redis地址 "maxIdle": 5, "highQueues": [ "event:p0", "event:p1" ], "lowQueues": [ "event:p2", "event:p3", "event:p4", "event:p5", "event:p6" ], "userSmsQueue": "/queue/user/sms", # 这两个queue维持默认即可 "userMailQueue": "/queue/user/mail" }, "api": { "portal": "http://falcon.example.com", # 内网可访问的portal的地址 "uic": "http://uic.example.com", # 内网可访问的uic(或fe)的地址 "links": "http://link.example.com" # 外网可访问的links的地址 } }

Alarm模块收到告警事件的处理流程

  • 高优先级

    • 从redis list中获取事件

    • 将事件记录在map(g.Events, event id -> event)中

    • 处理callback

    • 根据UIC获取这个team的手机和邮箱列表

    • 生成短信和邮件内容

    • 如果优先级 < 3,则发送短信 (设置的比较死板)

    • 将内容写入『发送list』(alarm模块只负责将需要发送的短信/邮件push至redis中,使用方自行决定如何发送)

  • 低优先级(基本同上,只是会对短信/邮件进行合并)

    • 前面相同步骤,略

    • 通过UIC获得这个team的成员

    • 对于每一个用户,将内容push至一个『中间list』

    • 每一分钟将『中间list』中的短信和邮件进行合并,然后再写入『发送list』

sender

功能

调用指定的http接口发送告警信息

配置文件


{ "debug": true, "http": { "enabled": true, "listen": "0.0.0.0:6066" }, "redis": { "addr": "127.0.0.1:6379", # 此处配置的redis地址要和后面的judge、alarm配置成相同的 "maxIdle": 5 }, "queue": { "sms": "/sms", # 短信队列名称,维持默认即可,alarm中也会有一个相同的配置 "mail": "/mail" # 邮件队列名称,维持默认即可,alarm中也会有一个相同的配置 }, "worker": { "sms": 10, # 调用短信接口的最大并发量 "mail": 50 # 调用邮件接口的最大并发量 }, "api": { "sms": "http://11.11.11.11:8000/sms", # 各公司自行提供的短信发送接口,11.11.11.11这个ip只是个例子喽 "mail": "http://11.11.11.11:9000/mail" # 各公司自行提供的邮件发送接口 } }

links

功能

展示聚合后的告警, 当同类报警信息比较多时,alarm会把聚合后的信息发送到link,link负责展示

配置文件


# 修改一下数据库配置,数据库schema文件在scripts目录 DB_HOST = "127.0.0.1" DB_PORT = 3306 DB_USER = "root" DB_PASS = "" DB_NAME = "falcon_links" # SECRET_KEY尽量搞一个复杂点的随机字符串 SECRET_KEY = "4e.5tyg8-u9ioj" SESSION_COOKIE_NAME = "falcon-links" PERMANENT_SESSION_LIFETIME = 3600 * 24 * 30 # 我们可以cp config.py local_config.py用local_config.py中的配置覆盖config.py中的配置 # 嫌麻烦的话维持默认即可,也不用制作local_config.py try: from frame.local_config import * except Exception, e: print "[warning] %s" % e

open-falcon之alarm、sender、links说明.md的更多相关文章

  1. 【Open-Falcon】Linux下安装Open-Falcon

    一.Open-Falcon组件简述 [Open-Falcon绘图相关组件] Agent:  部署在目标机器采集机器监控项 Transfer : 数据接收端,转发数据到后端Graph和Judge Gra ...

  2. 监控 | open-falcon | 安装

    监控 | open-falcon | 安装 1. 简介 主要看中了它的水平扩展,画图比zabbix要友好,告警支持简单压缩. 绿色:基础组件: 蓝色:作图链路 红色:报警链路 橙色:域名 架构 1.1 ...

  3. 2015 年最热门的国人开发开源软件 TOP 50

    开源中国在 2015 年得到了快速的发展,单开源软件收藏量就接近 40000 款,其中不乏优质的国产开源项目.本文从软件的收藏.下载.访问等多角度挑选出了 2015 年最热门的国产开源软件前五十名,让 ...

  4. 2015年热门的国产开源软件TOP 50

    2015年热门的国产开源软件TOP 50 开源中国在 2015 年得到了快速的发展,单开源软件收藏量就接近 40000 款,其中不乏优质的国产开源项目.本文从软件的收藏.下载.访问等多角度挑选出了 2 ...

  5. C# 代理/委托 Delegate

    本文转载自努力,努力,努力 1. 委托的定义:委托是函数的封装,它代表一"类"函数.他们都符合一定的签名:拥有相同的参数列表,返回值类型.同时,委托也可以看成是对函数的抽象,是函数 ...

  6. springJdbc(jdbcTemplate)事物拦截失效问题解决

    先贴上web.xml和spring-jdbc.xml代码: web.xml代码: <context-param> <param-name>contextConfigLocati ...

  7. 命令行打印文件树列表: tree

    Linux & Mac 1.下载tree lib //mac brew install tree //centos yum install tree //ubuntu apt-get inst ...

  8. 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus

    前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...

  9. 开源系统监控工具Nagios、Zabbix和Open-Falcon的功能特性汇总及优缺点比较

    Nagios Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强 ...

随机推荐

  1. 用Python中的tkinter模块作图

    tkinter 可以用来创建完整的应用程序,比如简单的字处理软件,还有简单的绘图软件. 一.创建一个可以点的按钮 用tkinter创建一个带按钮的简单程序,代码如下: >>> fro ...

  2. LintCode #3 统计数字

    解题思路请参考 代码(可以通过,不过很乱,需要整理): /// <summary> /// 计算n在数组[targetNum]中出现的次数 /// 形如:[0, 1, 2, 3, 4, 5 ...

  3. vncviewer 通过ipv6连接

    vncserver 填为: [ipv6-address]:port 即可,例如 [:da8::81f:f292:1cff:fe07:da3c]:

  4. Linux网卡eth0变成eth1修改方法

    由于换了主板,集成网卡mac地址变了,70-persistent-net.rules中仍然保留了老网卡的内容,新网卡则被识别为eth1. 将表示老网卡的行注释掉,然后将表示新网卡的行中eth1改成et ...

  5. Springmvc 的post请求的json格式参数

    背景: 这两天在项目中遇到了一个问题.我的环境是springmvc4.1.9,写了几个可以用ajax请求的接口(ajax.jsonp 调用正常).突然一时兴起就用 HTTP 请求的工具(比如火狐浏览器 ...

  6. mysql 字段区分大小写

    默认情况下, mysql中的字段是不区分大小写的,所以"aa"与"AA"被认为是一样的. 那么有些特殊情况下,我们希望它区分大小写呢,这时应该怎么办,说出来其实 ...

  7. SVN中图标符号的含义

    黄色感叹号(有冲突): 这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人的 ...

  8. 在eclipse中查看sources源码和JavaDoc帮助文档

    今天学习Netty的过程中,从官网下载的netty里面的内容如下: 其中jar文件夹里面的内容如下: 可以看到每一个具体的jar包就对应有一个sources.jar包,然后所有的帮助文档在javaDo ...

  9. Ubuntu下安装配置redis

    安装redis apt-get install redis-server 查看是否启动 ps -aux|grep redis 客户端连接 注: 安装Redis服务器,会自动地一起安装Redis命令行客 ...

  10. NAS 创建大文件

      不是很懂,但是管用.先记录下来. http://www.111cn.net/sys/linux/55537.htm