Open-Falcon 是小米運維部開源的一款互聯網企業級監控系統解決方案.
github:https://github.com/open-falcon/of-release
Highlights and features
數據採集免配置:agent自發現、支持Plugin、主動推送模式
容量水平擴展:生產環境每秒50萬次數據收集、告警、存儲、繪圖,可持續水平擴展。
告警策略自發現:Web界面、支持策略模板、模板繼承和覆蓋、多種告警方式、支持回調動作。
告警設置人性化:支持最大告警次數、告警級別設置、告警恢復通知、告警暫停、不同時段不同閾值、支持維護週期,支持告警合併。
歷史數據高效查詢:秒級返回上百個指標一年的歷史數據。
Dashboard人性化:多維度的數據展示,用戶自定義Dashboard等功能。
架構設計高可用:整個系統無核心單點,易運維,易部署。
Quick Install
Open-Falcon,整體可以分爲兩部分,即繪圖組件、告警組件。其中:
安裝繪圖組件 負責數據的採集、收集、存儲、歸檔、採樣、查詢、展示(Dashboard/Screen)等功能,可以單獨工作,作爲time-series data的一種存儲展示方案。
安裝告警組件 負責告警策略配置(portal)、告警判定(judge)、告警處理(alarm/sender)、用戶組管理(uic)等,可以單獨工作。
如果你熟悉docker,想快速搭建並體驗Open-Falcon的話,請參考 使用Docker鏡像安裝Open-Falcon
安裝部署Open-Falcon:
1.1 環境準備
yum
install
redis -y
yum
install
mysql-server -y
1.2 創建工作目錄
export
HOME=
/home/work
export
WORKSPACE=$HOME
/open-falcon
mkdir
-p $WORKSPACE
cd
$WORKSPACE
1.3 初始化mysql表結構
# open-falcon所有組件都無需root賬號啓動,推薦使用普通賬號安裝,提升安全性。此處我們使用普通
賬號:work來安裝部署所有組件
# 當然了,使用yum安裝依賴的一些lib庫的時候還是要有root權限的。
git clone https:
//github
.com
/open-falcon/scripts
.git
cd
.
/scripts/
mysql -h localhost -u root --password=
""
< db_schema
/graph-db-schema
.sql
mysql -h localhost -u root --password=
""
< db_schema
/dashboard-db-schema
.sql
mysql -h localhost -u root --password=
""
< db_schema
/portal-db-schema
.sql
mysql -h localhost -u root --password=
""
< db_schema
/links-db-schema
.sql
mysql -h localhost -u root --password=
""
< db_schema
/uic-db-schema
.sql
1.4 下載編譯好的組件
下載地址:http://pan.baidu.com/s/1eR1cNj8
DOWNLOAD=
"https://github.com/open-falcon/of-release/releases/download/v0.1.0/open-falcon-v0.1.0.tar.gz"
cd
$WORKSPACE
mkdir
.
/tmp
#下載
wget $DOWNLOAD -O
open
-falcon-latest.
tar
.gz
#解壓
tar
-zxf
open
-falcon-latest.
tar
.gz -C .
/tmp/
for
x
in
`
find
.
/tmp/
-name
"*.tar.gz"
`;
do
\
app=`
echo
$x|
cut
-d
'-'
-f2`; \
mkdir
-p $app; \
tar
-zxf $x -C $app; \
done
2.1 安裝繪圖組件
export
HOME=
/home/work
export
WORKSPACE=$HOME
/open-falcon
mkdir
-p $WORKSPACE
2.2 安裝Transfer
transfer默認監聽在:8433端口上,agent會通過jsonrpc的方式來push數據上來。
cd
$WORKSPACE
/transfer/
mv
cfg.example.json cfg.json
# 默認情況下(所有組件都在同一臺服務器上),保持cfg.json不變即可
# cfg.json中的各配置項,可以參考 https://github.com/open-falcon/transfer/blob/master/README.md
# 如有必要,請酌情修改cfg.json
# 啓動transfer
./control start
# 校驗服務,這裏假定服務開啓了6060的http監聽端口。檢驗結果爲ok表明服務正常啓動。
curl -s "http://127.0.0.1:6060/health"
#查看日誌
./control tail
# 停止transfer
./control stop