Open-falcon安裝(Open-Falcon超級詳細安裝步驟)

後開啟撒打發了發表於2017-12-20

一、go環境部署

1、go環境的安裝,安裝open-falcon之前配置go環境

下載go包,http://www.golangtc.com/download 老被牆沒辦法,百度最新安裝包,雲盤之類的下載一個對應系統版本下載即可。https://pan.baidu.com/s/1pL0Ca4V?errno=0&errmsg=Auth Login Sucess&&bduss=&ssnerror=0&traceid=#list/path=%2Fgo%2F1.9rc2

解壓下載好的go二進位制包會看到go目錄

[root@hadoop3 software]# pwd
/root/software
[root@hadoop3 software]# tar -zxvf go1.9.linux-amd64.tar.gz

配置go環境: 先建立一個gopath,在gopath目錄下分別建立src、pkg、bin目錄,這和go語言的執行機制相關,照做就是。

[root@hadoop3 software]# mkdir gopath
[root@hadoop3 software]# cd gopath/
[root@hadoop3 gopath]# mkdir src pkg bin

配置go環境的參考,在 .bash_profile 之類的環境檔案中新增下面設定,注意路勁一定要根據你自己路勁來。

export GOROOT=/root/software/go
export GOPATH=/root/software/gopath
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN:$GOROOT/bin

執行source ~/.bash_profile讓配置生效,之後你可以使用go env 、go version等命令檢視你的配置。

[root@hadoop3 software]# go env
GOARCH="amd64"
GOBIN="/root/software/gopath/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/software/gopath"
GORACE=""
GOROOT="/root/software/go"
GOTOOLDIR="/root/software/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build922399512=/tmp/go-build"
.................................

二、安裝open-falcon

原始碼安裝和直接下載編譯好的二進位制包都可以,下面分別介紹兩種方法

1、原始碼編譯安裝,open-falcon是go語言寫的,所以要用go環境來編譯。

使用go get命令下載原始碼,下載檔案會自動放到你配置的(export GOPATH=/root/software/gopath)go環境中gopath/src/github.com目錄下面 /root/software/gopath/src/github.com/open-falcon/falcon-plus

[root@hadoop3 dashboard]# go get github.com/open-falcon/falcon-plus
[root@hadoop3 falcon-plus]# pwd
/root/software/gopath/src/github.com/open-falcon/falcon-plus

cd $GOPATH/src/github.com/open-falcon/falcon-plus/

make all modules

make all

make specified module

make agent

pack all modules

make pack
使用make all編譯所有元件,然後使用make pack打包編譯好的元件,使用ll命令能看到你打包好的tar檔案open-falcon-v0.2.1.tar.gz

2、直接下載open-falcon-v0.2.1.tar.gz解壓到指定的目錄

下載open-falcon-v0.2.1.tar.gz
地址:https://github.com/open-falcon/falcon-plus/releases

建立open-falcon目錄,tar命令解壓到此目錄中。

[root@hadoop3 software]# mkdir open-falcon
[root@hadoop3 software]# tar -zxvf open-falcon-v0.2.1.tar.gz -C open-falcon

三、準備mysql

在$GOPATH/src/github.com/open-falcon/falcon-plus/scripts這個目錄中能到資料庫表建立的檔案
cd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/

[root@hadoop3 falcon-plus]# cd scripts/
[root@hadoop3 scripts]# ll
total 4
drwxr-xr-x 3 root root 4096 Dec 19 20:00 mysql
[root@hadoop3 scripts]# pwd
/root/software/gopath/src/github.com/open-falcon/falcon-plus/scripts
[root@hadoop3 scripts]# ll
total 4
drwxr-xr-x 3 root root 4096 Dec 19 20:00 mysql
[root@hadoop3 scripts]# cd mysql/
[root@hadoop3 mysql]# ll
total 20
drwxr-xr-x 2 root root  4096 Dec 20 09:33 db_schema
-rw-r--r-- 1 root root 11358 Dec 19 20:00 LICENSE
-rw-r--r-- 1 root root   462 Dec 19 20:00 NOTICE
[root@hadoop3 mysql]# cd db_schema/
[root@hadoop3 db_schema]# ll
total 24
-rw-r--r-- 1 root root 1952 Dec 19 20:00 1_uic-db-schema.sql
-rw-r--r-- 1 root root 7573 Dec 19 20:00 2_portal-db-schema.sql
-rw-r--r-- 1 root root 3391 Dec 19 20:00 3_dashboard-db-schema.sql
-rw-r--r-- 1 root root 1807 Dec 19 20:00 4_graph-db-schema.sql
-rw-r--r-- 1 root root 2560 Dec 19 20:00 5_alarms-db-schema.sql

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

pis:根據實際情況修改你的mysql配置,執行上面命令建立元件要使用到的資料庫表項。

四、安裝Dashboard

dashboard是面向使用者的查詢介面。在這裡,使用者可以看到push到graph中的所有資料,並檢視其趨勢圖。參考安裝:http://book.open-falcon.org/zh/install_from_src/dashboard.html

使用go get 命令下載dashboard,你會在go配置GOPATH目錄下/root/software/gopath/src/github.com/open-falcon/dashboard之類的目錄中看到下載的檔案。

[root@hadoop3 src]# go get github.com/open-falcon/dashboard

[root@hadoop3 open-falcon]# ll
total 4
drwxr-xr-x 6 root root 4096 Dec 19 17:56 dashboard
[root@hadoop3 open-falcon]# cd dashboard/

安裝依賴包 yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"

[root@hadoop3 dashboard]# yum install -y python-virtualenv

如果安裝不了按照下面的方法安裝:使用pip安裝pip install virtualenv

[root@hadoop3 pip-1.5.4]# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
[root@hadoop3 software]# tar -zxvf pip-1.5.4.tar.gz
[root@hadoop3 software]# cd  pip-1.5.4
[root@hadoop3 pip-1.5.4]# python setup.py install
[root@hadoop3 db_schema]# pip install virtualenv
[root@hadoop3 dashboard]# virtualenv ./env
[root@hadoop3 dashboard]# ./env/bin/pip install -r pip_requirements.txt

五、修改各個配置檔案和啟動專案

1、進入到下面的目錄中,即open-falcon-v0.2.1.tar.gz解壓的目錄中。

[root@hadoop3 open-falcon]# ll
total 3936
drwxr-xr-x 7 1002 1002    4096 Jun 19  2017 agent
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 aggregator
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 alarm
drwxr-xr-x 6 1002 1002    4096 Jun 19  2017 api
drwxr-xr-x 3 root root    4096 Dec 20 09:52 data
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 gateway
drwxr-xr-x 6 1002 1002    4096 Jun 19  2017 graph
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 hbs
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 judge
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 nodata
-rwxr-xr-x 1 1002 1002 3983373 Jun 19  2017 open-falcon
lrwxrwxrwx 1 1002 1002      16 Dec 19 17:47 plugins -> ./agent/plugins/
lrwxrwxrwx 1 1002 1002      15 Dec 19 17:47 public -> ./agent/public/
drwxr-xr-x 5 1002 1002    4096 Jun 19  2017 transfer

修改各個元件config目錄下面cfg.json,這些元件包含agent、aggregator、alarm、api、gateway、graph、hbs、judge、nodata、open-falcon、transfer

例如:vim aggregator/config/cfg.json ,修改database中mysql連線的使用者和密碼ip之類的,每個配置檔案中都需要根據實際情況修改,參考如下:

[root@hadoop3 open-falcon]# vim aggregator/config/cfg.json 
{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6055"
    },
    "database": {
        "addr": "root:123456@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",
        "idle": 10,
        "ids": [1, -1],
        "interval": 55
    },
    "api": {
        "connect_timeout": 500,
        "request_timeout": 2000,
        "plus_api": "http://127.0.0.1:8080",
        "plus_api_token": "default-token-used-in-server-side",
        "push_api": "http://127.0.0.1:1988/v1/push"
    }
}

pis:再次強調,根據mysql配置依次修改每個元件配置檔案中資料連線使用者和密碼,ip之類的。

完成修改之後啟動服務:

./open-falcon start

# check modules status
./open-falcon check

2、進入到Dashboard目中修改配置檔案。

[root@hadoop3 dashboard]# cd $GOPATH/src/github.com/open-falcon/dashboard
[root@hadoop3 dashboard]# ll
total 80
-rw-r--r--  1 root root    97 Dec 19 17:56 babel.cfg
-rwxr-xr-x  1 root root  2125 Dec 19 17:56 control
-rw-r--r--  1 root root   567 Dec 19 17:56 Dockerfile
-rw-r--r--  1 root root   319 Dec 19 17:56 entrypoint.sh
drwxr-xr-x  5 root root  4096 Dec 19 18:51 env
-rw-r--r--  1 root root   170 Dec 19 17:56 gunicorn.conf
-rw-r--r--  1 root root  1235 Dec 19 17:56 i18n.md
-rw-r--r--  1 root root 11358 Dec 19 17:56 LICENSE
-rw-r--r--  1 root root   462 Dec 19 17:56 NOTICE
-rw-r--r--  1 root root   140 Dec 19 17:56 pip_requirements.txt
-rw-r--r--  1 root root  5247 Dec 19 17:56 README.md
drwxr-xr-x 10 root root  4096 Dec 20 09:02 rrd
drwxr-xr-x  2 root root  4096 Dec 19 17:56 screenshots
drwxr-xr-x  2 root root  4096 Dec 19 17:56 scripts
drwxr-xr-x  2 root root  4096 Dec 20 09:53 var
-rwxr-xr-x  1 root root   916 Dec 19 17:56 wsgi.py
-rw-r--r--  1 root root   621 Dec 19 18:54 wsgi.pyc

修改資料庫的連線,參考如下:

PORTAL_DB_HOST = os.environ.get("PORTAL_DB_HOST","192.168.0.154")
PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306))
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","123456")
PORTAL_DB_NAME = os.environ.get("PORTAL_DB_NAME","falcon_portal")

啟動dashboard

服務部署

部署dashboard,包括配置修改、啟動服務、停止服務等。在此之前,需要進入dashboard的部署目錄,然後執行下列步驟

# 修改配置。各配置的含義,見下文。
vim ./gunicorn.conf
vim ./rrd/config.py

# 啟動服務
./control start

# 校驗服務
# TODO

...
# 停止服務
./control stop

六、前端web頁面訪問

開啟地址: http://192.168.0.154:8081/

pis:如果某些頁面提示訪問不了,檢查一下資料庫是否可以連線;修改mysql任意地址任意ip可以遠端登入。以及在本機上(服務和mysql在同一臺機器上)是否一定需要密碼登入?有時候mysql在本機不需要密碼而你確使用密碼登入會造成訪問不了。自行測試。



相關文章