搭建小米的監(jiān)控系統(tǒng):open-falcon
SofM?2020-01-06 15:12:49
open-falcon的目標(biāo)是做最開放、最好用的互聯(lián)網(wǎng)企業(yè)級(jí)監(jiān)控產(chǎn)品。
一、環(huán)境準(zhǔn)備
1、配置防火墻
開放端口6030、8433、8081,允許任意IP訪問(wèn)
firewall-cmd --add-port=6030/tcp --permanent
firewall-cmd --add-port=8433/tcp --permanent
firewall-cmd --add-port=8081/tcp --permanent
firewall-cmd --reload
2、安裝wget、vim、git
yuminstall -y wget vim git
3、安裝golang、redis
yuminstall-y epel-release
yuminstall-y golang
yuminstall-y redis
#啟動(dòng)開機(jī)啟動(dòng)redis
systemctl start redis
systemctl enable redis
4、安裝mysql 5.6
#獲取repo
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#安裝rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#安裝MySQL
yum install -y mysql-server
#啟動(dòng)MySQL
systemctl start mysql
5、設(shè)置臨時(shí)位置變量
exportGOROOT=/usr/lib/golang
export GOPATH=/opt/git
6、在github下載后端
# 創(chuàng)建存放源碼文件的目錄
mkdir -p$GOPATH/src/github.com/open-falcon
cd$GOPATH/src/github.com/open-falcon
#克隆源碼
git clone https://github.com/open-falcon/falcon-plus.git
7、初始化數(shù)據(jù)庫(kù)
cd$GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema
#執(zhí)行5個(gè)腳本初始化數(shù)據(jù)庫(kù),提示“Enterpassword”,如果mysql的root沒有設(shè)置密碼,回車即可
mysql-h127.0.0.1-uroot-p<1_uic-db-schema.sql
mysql-h127.0.0.1-uroot-p<2_portal-db-schema.sql
mysql-h127.0.0.1-uroot-p<3_dashboard-db-schema.sql
mysql-h127.0.0.1-uroot-p<4_graph-db-schema.sql
mysql-h127.0.0.1-uroot-p<5_alarms-db-schema.sql
8、編譯后端源碼
cd$GOPATH/src/github.com/open-falcon/falcon-plus
#編譯
make all
#打包
make pack
二、部署后端
1、設(shè)置臨時(shí)位置變量
exportBACKSPACE=/opt/open-falcon/back
2、創(chuàng)建工作目錄
mkdir-p$BACKSPACE
3、解壓縮包
cd $GOPATH/src/github.com/open-falcon/falcon-plus
tar -xzvfopen-falcon-v0.2.1.tar.gz -C $BACKSPACE
4、修改各模塊配置文件cfg.json
①、vim /opt/open-falcon/back/aggregator/config/cfg.json
"database": {
"addr":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",
"idle":10,
"ids": [1, -1],
"interval":55
②、vim /opt/open-falcon/back/graph/config/cfg.json
"db": {
"dsn":"root:passwd@tcp(127.0.0.1:3306)/graph?loc=Local&parseTime=true",
"maxIdle":4
},
③、vim /opt/open-falcon/back/hbs/config/cfg.json
{
"debug": true,
"database":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",
"hosts":"",
"maxConns":20,
"maxIdle":15,
"listen":":6030",
"trustable": [""],
"http": {
"enabled": true,
"listen":"0.0.0.0:6031"
}
}
④、vim /opt/open-falcon/back/nodata/config/cfg.json
"config": {
"enabled": true,
"dsn":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true&wait_timeout=604800",
"maxIdle":4
},
⑤、vim /opt/open-falcon/back/api/config/cfg.json
{
"log_level":"debug",
"db": {
"falcon_portal":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?charset=utf8&parseTime=True&loc=Local",
"graph":"root:passwd@tcp(127.0.0.1:3306)/graph?charset=utf8&parseTime=True&loc=Local",
"uic":"root:passwd@tcp(127.0.0.1:3306)/uic?charset=utf8&parseTime=True&loc=Local",
"dashboard":"root:passwd@tcp(127.0.0.1:3306)/dashboard?charset=utf8&parseTime=True&loc=Local",
"alarms":"root:passwd@tcp(127.0.0.1:3306)/alarms?charset=utf8&parseTime=True&loc=Local",
"db_bug": true
},
⑥、vim /opt/open-falcon/back/alarm/config/cfg.json
"falcon_portal": {
"addr":"root:passwd@tcp(127.0.0.1:3306)/alarms?charset=utf8&loc=Local",
"idle":10,
"max":100
},
5、啟動(dòng)后端
cd /opt/open-falcon/back
./open-falcon start
三、部署前端
1、設(shè)置臨時(shí)位置變量
exportFRONTSPACE=/opt/open-falcon/front
2、創(chuàng)建工作目錄
mkdir-p$FRONTSPACE
3、從github上克隆前端源碼
cd$FRONTSPACE
gitclonehttps://github.com/open-falcon/dashboard.git
4、安裝依賴
yuminstall-y python-virtualenv
yuminstall-y python-devel
yuminstall-y openldap-devel
yuminstall-y mysql-devel
yum groupinstall -y"Development tools"
# 通過(guò)virtualenv創(chuàng)建目錄env作為獨(dú)立的運(yùn)行環(huán)境
cd $FRONTSPACE/dashboard
virtualenv ./env
# 生成 requirements.txt 并安裝依賴
./env/bin/pip install -r pip_requirements.txt
5、編輯dashboard配置文件config.py
29# portal database
30# TODO:readfrom api instead of db
31PORTAL_DB_HOST =os.environ.get("PORTAL_DB_HOST","127.0.0.1")
32PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306))
33PORTAL_DB_USER =os.environ.get("PORTAL_DB_USER","root")
34PORTAL_DB_PASS =os.environ.get("PORTAL_DB_PASS","passwd")
35PORTAL_DB_NAME =os.environ.get("PORTAL_DB_NAME","falcon_portal")
6、啟動(dòng)前端
cd$FRONTSPACE/dashboard
bash control start
四、使用openfalcon
1、訪問(wèn)openfalcon頁(yè)面
瀏覽器訪問(wèn)http://服務(wù)器IP地址:8081
PS:具體的監(jiān)控項(xiàng)添加參考官方文檔:
https://book.open-falcon.org/zh/