天天看點

open-falcon元件介紹

open-falcon 元件特性

  • 強大靈活的資料采集:自動發現,支援falcon-agent、snmp、支援使用者主動push、使用者自定義插件支援、opentsdb data model like(timestamp、endpoint、metric、key-value tags)
  • 強大水準擴充能力:支援每個周期上億次的資料采集、告警判定、曆史資料存儲和查詢
  • 強大高效率的告警政策管理:高效的portal、支援政策模闆、模闆繼承和覆寫、多種告警方式、支援callback調用
  • 強大人性化的告警設定:最大告警次數、告警級别、告警恢複通知、告警暫停、不同時段不同門檻值、支援維護周期
  • 強大高效率的graph元件:單機支撐200萬metric的上報、歸檔、存儲(周期為1分鐘)
  • 強大高效的曆史資料query元件:采用rrdtool的資料歸檔政策,秒級傳回上百個metric一年的曆史資料
  • 強大dashboard:多元度的資料展示,使用者自定義Screen
  • 強大高可用:整個系統無核心單點,易運維,易部署,可水準擴充
  • 強大開發語言: 整個系統的後端,全部golang編寫,portal和dashboard使用python編寫。

元件拓撲

open-falcon元件介紹

Agent

agent用于采集機器負載監控名額,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push給Transfer。agent與Transfer建立了長連接配接,資料發送速度比較快,agent提供了一個http接口/v1/push用于接收使用者手工push的一些資料,然後通過長連接配接迅速轉發給Transfer。

Transfer

transfer是資料轉發服務。它接收agent上報的資料,然後按照哈希規則進行資料分片、并将分片後的資料分别push給graph&judge等元件。

Graph

graph是存儲繪圖資料的元件。graph元件 接收transfer元件推送上來的監控資料,同時處理query元件的查詢請求、傳回繪圖資料。

Query

query元件,提供統一的繪圖資料查詢入口。query元件接收查詢請求,根據一緻性雜湊演算法去相應的graph執行個體查詢不同metric的資料,然後彙總拿到的資料,最後統一傳回給使用者。

Dashboard

dashboard是面向使用者的查詢界面。在這裡,使用者可以看到push到graph中的所有資料,并檢視其趨勢圖。

Sender

Sender這個子產品專門用于調用各公司提供的郵件、短信發送接口。

Fe

這是Go版本的UIC,也是一個統一的web入口,因為監控元件衆多,記憶ip、port去通路還是比較麻煩。fe像是一個監控的hao123

Portal

Portal是用來配置報警政策的

HBS(Heartbeat Server)

心跳伺服器,公司所有agent都會連到HBS,每分鐘發一次心跳請求。

Judge

Judge用于告警判斷,agent将資料push給Transfer,Transfer不但會轉發給Graph元件來繪圖,還會轉發給Judge用于判斷是否觸發告警。

Alarm

alarm子產品是處理報警event的,judge産生的報警event寫入redis,alarm從redis讀取處理

Links

Links是為報警合并功能寫的元件。如果你不想使用報警合并功能,這個元件是無需安裝的。

Alarm

alarm子產品是處理報警event的,judge産生的報警event寫入redis,alarm從redis讀取處理