ES業務監控系統的設計

2021-08-28 19:09:29 字數 1977 閱讀 6488

es告警有2個選擇:

1:watcher

2:elastalert 工具早與watcher

這篇文章主要介紹elastalert

elastalert是yelp公司開源的一套python2.6寫的報警框架

屬於後來elastic.co公司出品的watcher同類產品

any: 只要有匹配就報警;

blacklist: compare_key 欄位的內容匹配上 blacklist 陣列裡任意內容;

whitelist: compare_key 欄位的內容乙個都沒能匹配上 whitelist 陣列裡內容;

change: 在相同 query_key 條件下,compare_key 欄位的內容,在 timeframe 範圍內傳送變化;

frequency: 在相同 query_key 條件下,timeframe 範圍內有 num_events 個被過濾出來的異常;

spike: 在相同 query_key 條件下,前後兩個 timeframe 範圍內資料量相差比例超過 spike_height。其中可以通過 spike_type 設定具體漲跌方向是up, down, both。還可以通過`threshold_ref 設定要求上乙個週期資料量的下限,threshold_cur 設定要求當前週期資料量的下限,如果資料量不到下限,也不觸發;

flatline: timeframe 範圍內,資料量小於 threshold 閾值;

new_term: fields 欄位新出現之前 terms_window_size(預設 30 天) 範圍內最多的 terms_size(預設 50) 個結果以外的資料;

cardinality: 在相同 query_key 條件下,timeframe 範圍內 cardinality_field 的值超過 max_cardinality 或者低於 min_cardinality。```

enhancements方式

match_enhancements配置,設定乙個陣列,在報警內容傳送到 alert 之前修改具體資料。elastalert 預設不提供具體的 enhancements 實現,需要自己擴充套件。 不過,作為通用方式,elastalert 提供幾個便捷選項,把 kibana 位址加入報警:generate_kibana_link: 自動生成乙個 kibana3 的臨時儀錶盤附在報警內容上。use_kibana_dashboard: 採用現成的 kibana3 儀錶盤附在報警內容上。use_kibana4_dashboard`: 採用現成的 kibana4 儀錶盤附在報警內容上。

alert配置

alert 配置是乙個陣列,目前支援 command, email,jira,opsgenie,sns,hipchat,slack 等方式。

此外,alert 還有一系列控制報警風暴的選項,從屬於 rule:

aggregation:設定乙個時長,則該時長內所有報警最終合在一起發一次;

realert:設定乙個時長,則該時長內,相同 query_key 的報警只發乙個;

exponential_realert:設定乙個時長,必須大於 realert 設定。則在 realert 到 exponential_realert 之間,每次報警後,realert 自動翻倍。

alert command方式
command 最靈活也最簡單。缺省會採用%(fieldname)s格式:

command: ["/bin/send_alert", 「–username」, 「%(username)s」, 「–time」, 「%(key_as_string)s」]

如果要用的比較多,可以開啟pipe_match_json引數,會把整個過濾到的內容,以一整個 json 字串的方式管道輸入指定指令碼。

alert email方式

設計討論 監控系統,監控什麼?

乙個監控系統要監控些什麼?從粒度上,從小到大可以列出 一兩行 乙個方法 乙個服務介面 乙個服務的呼叫鏈 乙個應用服務 應用埠 jvm的cpu和記憶體占用等 硬體 cpu 網絡卡 硬碟等 對一兩行 進行監控,不可避免的要侵入到被監控端。對方法 服務介面的監控,可以利用在適當位置織入aop的切面。乙個服...

系統設計中的業務驗證設計4

業務驗證 的框架結構 業務驗證處理委託 public delegate function rulehandler byval target as object,byval e as ruleargs as boolean target 要處理的資料物件 e 驗證規則引數,該引數將指導驗證方法的執行。...

應用系統業務撤銷設計

撤銷機制 1 系統設計時,每個業務表,都有兩個編號,乙個日誌編號,乙個失效日誌編號,每個表對應乙個歷史業務表,使用者儲存本業務表的歷史操作記錄。類圖中abstractentity 代表的是業務表,his abstractentity 代表的是業務表的歷史記錄表。2 日誌表 存放日誌編號,乙個業務乙個...