open falcon集群安裝

2021-10-09 10:40:32 字數 1668 閱讀 9395

背景:公司一直使用falcon進行監控伺服器,最近因為機器增加太多,導致open-falcon的負載比較高,為了應對與日俱增的伺服器,決定將單台open-falcon做成集群,分擔部分元件之間壓力

思路:要實現open-falcon集群安裝,首先,我們需要了解open-falcon各元件之間的關係。

可參考官方文件

分析:通過官方文件,我們可以了解到各元件的作用

falcon-agent:安裝與被監控端,用於採集機器負載監控指標,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push給transfer。agent與transfer建立了長連線,資料傳送速度比較快,agent提供了乙個http介面/v1/push用於接收使用者手工push的一些資料,然後通過長連線迅速**給transfer。

transfer:資料**服務。它接收agent上報的資料,然後按照雜湊規則進行資料分片、並將分片後的資料分別push給graph&judge等元件。(該元件需要接受所有被監控端的資料傳送請求,所以壓力比較大,我們在此將transfer元件分出來安裝,阿里雲使用者有條件的可以建立slb,將多台transfer元件加入到後端伺服器,與之連線的元件如agent,graph,judge配置檔案改為slb的內網位址。物理伺服器建議,使用lvs+heartbeat組成高可用,連線的各元件改為lvs的vip)。

judge:用於告警判斷,agent將資料push給transfer,transfer不但會**給graph元件來繪圖,還會**給judge用於判斷是否觸發告警。

graph:儲存繪圖資料的元件。graph元件 接收transfer元件推送上來的監控資料,同時處理api元件的查詢請求、返回繪圖資料。transfer元件將所有agent收集到的資料都傳給graph來儲存,壓力大且重要,所以,該元件也有必要單獨安裝,可單機,也可集群化

api:提供統一的restapi操作介面。比如:api元件接收查詢請求,根據一致性雜湊演算法去相應的graph例項查詢不同metric的資料,然後彙總拿到的資料,最後統一返回給使用者。

dashbord:用於接收api的查詢結果,並將結果展示給使用者

heartbeat server:心跳伺服器,公司所有agent都會連到hbs,每分鐘發一次心跳請求。用來檢測被監控端的falcon-agent是否存活,並將結果返回給judge,進行判斷處理。有條件可以單獨安裝。

實施:通過分析,我們需要將重要的元件,集群化安裝,如transfer和graph。其他的有條件可以單獨拿出來

具體安裝以官方文件為參考:

transfer

多台的話多台都需要安裝,配置

注意:單獨拿出來的元件需要修改,與之連線的配置檔案的ip,集群化的元件對其他元件暴露的ip為,slb的ip(或lvs的vip)。不修改的話元件之間通訊會中斷

在此,我們的transfer和graph元件均使用阿里雲的slb,每個元件分流量到兩台ecs上,即可hold住

open falcon 安裝以及配置

環境準備 請參考環境準備 同時,請再次檢查當前的工作目錄設定 export home home work export workspace home open falcon mkdir p workspace transfer預設監聽在 8433埠上,agent會通過jsonrpc的方式來push資...

open falcon 學習一二

執行到啟動dashboard的時候一直報錯.env bin python wsgi.py 解決思路是缺少mysql相關包 執行解除安裝mysql python,然後在安裝 建議把dashboard停止,control stop 然後在解除安裝和安裝,否則就會出現我碰到的情況,mysql包一直認不到 ...

open falcon實現郵件報警

2.安裝mail provider 安裝方法 編譯成功之後,修改cfg.json檔案相關資訊,使用 使用curl命令,驗證是否能發郵件,返回success的話就是成功了 curl d tos 你的郵箱 subject 報警測試 content 這是一封測試郵件 success 3.安裝sender ...