對於Open-Falcon 系統的部署,研究了一段時間才部署成功,文檔主要部署的爲v0.2.1版本,參考官網文檔。前端
關於該監控系統的部署分爲三個部分,1、環境準備;2、啓動後端;3、安裝前段。python
1、環境準備mysql
首先將服務器內部防火牆關閉,並關機開機啓動,並關閉selinux,此處不在贅述。
linux
1.1 安裝wget和vim軟件(我的習慣使用vim編輯文件)git
yum install -y wget vim
1.2 安裝gitgithub
yum install -y git
安裝結束後安全起見,確認是否知足官方要求的Git >=1.7.5golang
git version
1.3 安裝go語言環境(由於yum源中沒有go的安裝包,故經過fedora的epel倉庫來安裝)redis
yum install -y epel-release yum install golang -y
安裝結束後安全起見,確認是否知足官方要求的Go >= 1.6sql
go version
1.4 安裝redis(經過yum安裝便可)數據庫
yum install redis -y
啓動redis
systemctl start redis
設置redis開機啓動
systemctl enable redis
能夠用下面的語句查看redis是否開啓
systemctl status redis
1.5 安裝MySQL
步驟
1) 下載repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2) 安裝rpm包(安裝這個包後,會得到兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)
rpm -ivh mysql-community-release-el7-5.noarch.rpm
3)安裝mysql
yum install mysql-server -y
systemctl start mysql
能夠用下面的語句查看mysql是否開啓
systemctl status mysql
1.6 設置環境變量GOROOT和GOPATH
export GOROOT=/usr/lib/golang export GOPATH=/home
1.7 將open-falcon的源碼從github上get下來
步驟:
1)建立GOPATH下的一個本地的路徑
mkdir -p $GOPATH/src/github.com/open-falcon
2)進入該路徑
cd $GOPATH/src/github.com/open-falcon
3)將源碼get到本地
git clone https://github.com/open-falcon/falcon-plus.git
1.8 初始化數據庫
cd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sql mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql
再運行「mysql -h..................」時會提示「Enter password」,若是mysql的root沒有設置密碼,回車便可。
1.9 編譯源碼並打包
步驟:
1)進入本地源碼路徑下
cd $GOPATH/src/github.com/open-falcon/falcon-plus/
2)使用go get獲取rrdtool工具包(make過程卡殼的一個點)
go get github.com/open-falcon/rrdlite
這一步是官方教程沒有提到的內容,若是不獲取該工具包make的時候會報錯
3)編譯全部模塊
make all
4)打包
make pack
在$GOPATH/src/github.com/open-falcon/falcon-plus/目錄下就多了剛纔的壓縮包「open-falcon-v0.2.1.tar.gz」。
2、啓動後端
2.1 建立工做目錄
export WORKSPACE=/home/work mkdir -p $WORKSPACE
2.2 解壓二進制包(包名根據實際進行修改)
因爲我是根據本教程編譯源碼得到的壓縮包,故須要切換到「$GOPATH/src/github.com/open-falcon/falcon-plus/」路徑下。
cd $GOPATH/src/github.com/open-falcon/falcon-plus/ tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE
2.3 修改配置文件cfg.json
我這裏的MySQL密碼都爲空,若是密碼不爲空,在root後面加上密碼
1)修改aggregator的配置文件
vim /home/work/aggregator/config/cfg.json
2)修改graph的配置文件
vim /home/work/graph/config/cfg.json
3)修改hbs的配置文件
vim /home/work/hbs/config/cfg.json
4)修改nodata的配置文件
vim /home/work/nodata/config/cfg.json
5)修改api的配置文件
vim /home/work/api/config/cfg.json
6)修改alarm的配置文件
vim /home/work/alarm/config/cfg.json
2.4 啓動後端模塊
cd $WORKSPACE ./open-falcon start
能夠用下面的命令檢查各個模塊的啓動狀況
./open-falcon check
更多命令的用法(命令的例子是啓動agent模塊)
# ./open-falcon [start|stop|restart|check|monitor|reload] module./open-falcon start agent ./open-falcon check falcon-graph UP 53007 falcon-hbs UP 53014 falcon-judge UP 53020 falcon-transfer UP 53026 falcon-nodata UP 53032 falcon-aggregator UP 53038 falcon-agent UP 53044 falcon-gateway UP 53050 falcon-api UP 53056 falcon-alarm UP 53063 For debugging , You can check $WorkDir/$moduleName/log/logs/xxx.log
3、安裝前端
3.1 建立工做目錄
export FRONTSPACE=/home/front/open-falcon mkdir -p $FRONTSPACE
3.2 獲取前端代碼
cd $FRONTSPACE git clone https://github.com/open-falcon/dashboard.git
3.3 安裝依賴包
yum install -y python-virtualenv yum install -y python-devel yum install -y openldap-devel yum install -y mysql-devel yum groupinstall "Development tools" -y cd $FRONTSPACE/dashboard/ virtualenv ./env ./env/bin/pip install -r pip_requirements.txt
3.4 修改配置
根據本次記錄的配置,dashboard的配置文件在/home/front/open-falcon/dashboard/rrd/config.py,須要根據實際狀況對內部配置進行修改。
因爲前端後臺搭在一臺虛擬機裏,且暫時不接入LDAP,且數據庫root的密碼爲空,故先不修改配置文件。
3.5 在生產環境啓動
bash control start
3.6 以開發者模式啓動
./env/bin/python wsgi.py
4、登錄測試經過公網IP
經過公網IP及8081端口進行登錄測試。
dashbord沒有默認建立任何帳號包括管理帳號,須要你經過頁面進行註冊帳號。
想擁有管理全局的超級管理員帳號,須要手動註冊用戶名爲root的帳號(第一個賬號名稱爲root的用戶會被自動設置爲超級管理員)。
超級管理員能夠給普通用戶分配權限管理。
小提示:註冊帳號可以被任何打開dashboard頁面的人註冊,因此當給相關的人註冊完帳號後,須要去關閉註冊帳號功能。只須要去修改api組件的配置文件cfg.json,將signup_disable配置項修改成true,重啓api便可。當須要給人開帳號的時候,再將配置選項改回去,用完再關掉便可。
5、遇到的問題
5.1 遇到不能啓動dashboard問題,
提示沒有gunicorn,故中止。
針對此問題須要先安裝pip
安裝pip後使用pip安裝gunicorn
# pip install gunicorn
5.2 啓動dashboard遇到
此時在從新執行
virtualenv ./env 再啓動便可