Ubuntu下安裝open-falcon-v0.2.1

在Ubuntu下安裝open-falcon和Centos下安裝的方法有點區別,由於Ubuntu使用的包管理器是apt-get,而Centos下使用的是Yum,建議不要再Ubuntu下使用yumhtml

建議本身下載源碼打包二進制包來安裝,由於官方給出的二進制包應該是再centos下打包的,再Ubuntu下運行可能會出現問題前端

1.安裝Go,首先去官網下載,須要fqpython

https://golang.org

順便安裝Goland,註冊服務器 http://idea.youbbs.orgmysql

2.在/etc/profile中添加,後source /etc/profilelinux

#Go
export GOROOT=/home/lintong/software/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPATH=/home/lintong/software/gopath

驗證是否安裝成功git

go version
go version go1.10.2 linux/amd64

接下來參考github

Ubuntu 16.04 部署 open-falcongolang

運維監控系統之Open-Falconredis

Open-falcon的官方READMEsql

 3.安裝redis和mysql

sudo apt-get install redis-server
sudo apt-get install mysql-server

 確保兩個服務已經啓動

systemctl status mysql redis-server

 

4.下載open-falcon源碼,地址

https://github.com/open-falcon/falcon-plus

 初始化MySQL表結構

mkdir -p $GOPATH/src/github.com/open-falcon
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

5. 編譯二進制包

cd $GOPATH/src/github.com/open-falcon/falcon-plus/
# make all modules
make all
# make specified module
make agent
# pack all modules
make pack

 打包成功,在目錄下多了文件open-falcon-v0.2.1.tar.gz

lintong@lintong-B250M-DS3H:~/software/go/src/github.com/open-falcon/falcon-plus$ make all
go build -o bin/agent/falcon-agent ./modules/agent
go build -o bin/aggregator/falcon-aggregator ./modules/aggregator
go build -o bin/graph/falcon-graph ./modules/graph
go build -o bin/hbs/falcon-hbs ./modules/hbs
go build -o bin/judge/falcon-judge ./modules/judge
go build -o bin/nodata/falcon-nodata ./modules/nodata
go build -o bin/transfer/falcon-transfer ./modules/transfer
go build -o bin/gateway/falcon-gateway ./modules/gateway
go build -o bin/api/falcon-api ./modules/api
go build -o bin/alarm/falcon-alarm ./modules/alarm
go build -ldflags "-X main.GitCommit=`git rev-parse --short HEAD` -X main.Version=0.2.1" -o open-falcon
lintong@lintong-B250M-DS3H:~/software/go/src/github.com/open-falcon/falcon-plus$ make agent
go build -o bin/agent/falcon-agent ./modules/agent
lintong@lintong-B250M-DS3H:~/software/go/src/github.com/open-falcon/falcon-plus$ make pack
go build -ldflags "-X main.GitCommit=`git rev-parse --short HEAD` -X main.Version=0.2.1" -o open-falcon
tar -C out -zcf open-falcon-v0.2.1.tar.gz .

 6.解壓到安裝目錄

mkdir ~/software/open-falcon-v0.2.1
tar -zxvf open-falcon-v0.2.1.tar.gz -C ~/software/open-falcon-v0.2.1/

 7.安裝open-falcon的前端框架dashboard

cd ~/software/open-falcon-v0.2.1
git clone https://github.com/open-falcon/dashboard.git

8.修改數據庫密碼,由於open-falcon須要操做數據庫,這一步是官方教程中沒有提到的

若是沒有進行修改的話,在open-falcon-v0.2.1目錄下使用./open-falcon start命令進行啓動以後,使用./open-falcon check檢查組件的狀態,有些使用mysql的組件的狀態是down

下面列出了使用mysql的組件,總共有6個:aggregator,graph、hbs、nodata、api、alarm模塊

須要對這些組件的配置文件進行修改:

vim ~/software/open-falcon-v0.2.1/aggregator/config/cfg.json

修改爲

 

其餘配置文件的修改方式相似

vim graph/config/cfg.json

vim hbs/config/cfg.json

vim nodata/config/cfg.json

 

vim api/config/cfg.json # 5處所有修改

vim alarm/config/cfg.json

接下來須要在前端組件中,配置數據庫密碼

cd ~/software/open-falcon-v0.2.1/dashboard/rrd
vim config.py

 

9.安裝Python的依賴,在Ubuntu下不要使用Yum

sudo apt-get install python-pip python-virtualenv
sudo apt-get install python-dev
sudo apt-get install ldap-utils
sudo apt-get install libmysqld-dev

10.安裝virtualenv的運行環境,在服務器上是不建議直接pip安裝的,由於Python包的衝突可能會影響到別人的服務

~/software/open-falcon-v0.2.1/dashboard
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple

 若是出現 Failed building wheel for python-ldap 的問題
請參考      Installing python-ldap in Ubuntu 

sudo apt-get install python-dev
sudo apt-get install libldap2-dev
sudo apt-get install libsasl2-dev
# 而後再
./env/bin/pip install python-ldap

請確保每一個Python包都安裝到位,成功以下

./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Requirement already satisfied: Flask==0.10.1 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 1)) (0.10.1)
Requirement already satisfied: Flask-Babel==0.9 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 2)) (0.9)
Requirement already satisfied: Jinja2==2.7.2 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 3)) (2.7.2)
Requirement already satisfied: Werkzeug==0.9.4 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 4)) (0.9.4)
Requirement already satisfied: gunicorn==19.1.1 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 5)) (19.1.1)
Requirement already satisfied: python-dateutil==2.2 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 6)) (2.2)
Requirement already satisfied: requests==2.3.0 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 7)) (2.3.0)
Requirement already satisfied: mysql-python in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 8)) (1.2.5)
Requirement already satisfied: python-ldap in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 9)) (3.0.0)
Requirement already satisfied: itsdangerous>=0.21 in ./env/lib/python2.7/site-packages (from Flask==0.10.1->-r pip_requirements.txt (line 1)) (0.24)
Requirement already satisfied: speaklater>=1.2 in ./env/lib/python2.7/site-packages (from Flask-Babel==0.9->-r pip_requirements.txt (line 2)) (1.3)
Requirement already satisfied: Babel>=1.0 in ./env/lib/python2.7/site-packages (from Flask-Babel==0.9->-r pip_requirements.txt (line 2)) (2.5.3)
Requirement already satisfied: markupsafe in ./env/lib/python2.7/site-packages (from Jinja2==2.7.2->-r pip_requirements.txt (line 3)) (1.0)
Requirement already satisfied: six in ./env/lib/python2.7/site-packages (from python-dateutil==2.2->-r pip_requirements.txt (line 6)) (1.11.0)
Requirement already satisfied: pyasn1-modules>=0.1.5 in ./env/lib/python2.7/site-packages (from python-ldap->-r pip_requirements.txt (line 9)) (0.2.1)
Requirement already satisfied: pyasn1>=0.3.7 in ./env/lib/python2.7/site-packages (from python-ldap->-r pip_requirements.txt (line 9)) (0.4.2)
Requirement already satisfied: pytz>=0a in ./env/lib/python2.7/site-packages (from Babel>=1.0->Flask-Babel==0.9->-r pip_requirements.txt (line 2)) (2018.4)

11.啓動open-falcon的後端,注意check的時候,每一個組件須要都是up狀態,down狀態說明出了問題

cd ~/software/open-falcon-v0.2.1
./open-falcon start

[falcon-graph] 16736
[falcon-hbs] 16749
[falcon-judge] 16763
[falcon-transfer] 16774
[falcon-nodata] 16786
[falcon-aggregator] 16797
[falcon-agent] 16809
[falcon-gateway] 16819
[falcon-api] 16829
[falcon-alarm] 16844

./open-falcon check

        falcon-graph         UP           16736 
          falcon-hbs         UP           16749 
        falcon-judge         UP           16763 
     falcon-transfer         UP           16774 
       falcon-nodata         UP           16786 
   falcon-aggregator         UP           16797 
        falcon-agent         UP           16809 
      falcon-gateway         UP           16819 
          falcon-api         UP           16829 
        falcon-alarm         UP           16844

 以開發者模式啓動前端組件

./env/bin/python wsgi.py

12.訪問 127.0.0.1:8081,註冊一個本身的帳號和密碼,而後登陸,成功

 

相關文章
相關標籤/搜索