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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM