1. 程式人生 > >CentOS 7單機部署Open-Falcon監控

CentOS 7單機部署Open-Falcon監控

變量 api version rpm包 left 遇到的問題 能夠 pip安裝 vpd

對於Open-Falcon 系統的部署,研究了一段時間才部署成功,文檔主要部署的為v0.2.1版本,參考官網文檔。

關於該監控系統的部署分為三個部分,一、環境準備;二、啟動後端;三、安裝前段。

一、環境準備

首先將服務器內部防火墻關閉,並關機開機啟動,並關閉selinux,此處不在贅述。

1.1 安裝wgetvim軟件(個人習慣使用vim編輯文件)

yum install -y wget vim

1.2 安裝git

yum install -y git

安裝結束後安全起見,確認是否滿足官方要求的Git >=1.7.5

git version

技術分享圖片

1.3 安裝go語言環境(因為yum源中沒有go的安裝包,故通過

fedoraepel倉庫來安裝)

yum install -y epel-release
yum install golang -y

安裝結束後安全起見,確認是否滿足官方要求的Go >= 1.6

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的源碼從githubget下來

步驟:

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.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.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

四、登陸測試通過公網IP

通過公網IP及8081端口進行登陸測試。

技術分享圖片


技術分享圖片


dashbord沒有默認創建任何賬號包括管理賬號,需要你通過頁面進行註冊賬號。
想擁有管理全局的超級管理員賬號,需要手動註冊用戶名為root的賬號(第一個帳號名稱為root的用戶會被自動設置為超級管理員)。
超級管理員可以給普通用戶分配權限管理。

小提示:註冊賬號能夠被任何打開dashboard頁面的人註冊,所以當給相關的人註冊完賬號後,需要去關閉註冊賬號功能。只需要去修改api組件的配置文件cfg.json,將signup_disable配置項修改為true,重啟api即可。當需要給人開賬號的時候,再將配置選項改回去,用完再關掉即可。

五、遇到的問題

5.1 遇到不能啟動dashboard問題,

技術分享圖片

提示沒有gunicorn,故停止。

針對此問題需要先安裝pip

技術分享圖片

技術分享圖片

安裝pip後使用pip安裝gunicorn

# pip install gunicorn

技術分享圖片

5.2 啟動dashboard遇到

技術分享圖片

此時在重新執行

 virtualenv ./env  再啟動即可

技術分享圖片


CentOS 7單機部署Open-Falcon監控