Open-Falcon 是小米運維部開源的一款互聯網企業級監控系統解決方案.mysql
github:https://github.com/open-falcon/of-releasegit
數據採集免配置:agent自發現、支持Plugin、主動推送模式github
容量水平擴展:生產環境每秒50萬次數據收集、告警、存儲、繪圖,可持續水平擴展。redis
告警策略自發現:Web界面、支持策略模板、模板繼承和覆蓋、多種告警方式、支持回調動做。sql
告警設置人性化:支持最大告警次數、告警級別設置、告警恢復通知、告警暫停、不一樣時段不一樣閾值、支持維護週期,支持告警合併。docker
歷史數據高效查詢:秒級返回上百個指標一年的歷史數據。json
Dashboard人性化:多維度的數據展現,用戶自定義Dashboard等功能。安全
架構設計高可用:整個系統無核心單點,易運維,易部署。bash
Open-Falcon,總體能夠分爲兩部分,即繪圖組件、告警組件。其中:服務器
安裝繪圖組件 負責數據的採集、收集、存儲、歸檔、採樣、查詢、展現(Dashboard/Screen)等功能,能夠單獨工做,做爲time-series data的一種存儲展現方案。
安裝告警組件 負責告警策略配置(portal)、告警斷定(judge)、告警處理(alarm/sender)、用戶組管理(uic)等,能夠單獨工做。
若是你熟悉docker,想快速搭建並體驗Open-Falcon的話,請參考 使用Docker鏡像安裝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