open-falcon之alarm、sender、links说明.md

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

posted @ 2017-04-17 13:10  Fuzengjie  阅读(3040)  评论(0编辑  收藏  举报