环境准备
安装redis
yum install -y redis
如出现以下错误:No package redis available.
下载EPEL对应的版本和安装
版本寻找地址:http://fedoraproject.org/wiki/EPEL
我需要的是centos64位,我直接找到源后wget下载到当前目录:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
然后进行安装:
rpm -ivh epel-release-6-8.noarch.rpm
安装redis
yum install -y redis
安装mysql
yum install -y mysql-server
注:centos7中mysql改为mariadb。
注:请确保redis和MySQL已启动。
初始化MySQL表结构
yum install -y git
cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git
cd /tmp/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p < portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p < graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p < dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p < alarms-db-schema.sql
rm -rf /tmp/falcon-plus/
如果你是从v0.1.0升级到当前版本v0.2.0,那么只需要执行如下命令
mysql -h 127.0.0.1 -u root -p < alarms-db-schema.sql
从源码编译
请确保你已经安装好了golang环境,如果没有安装,请参考 https://golang.org/doc/install
cd $GOPATH/src/github.com/open-falcon/falcon-plus/
make all # make all modules
make pack # pack all modules
下载编译好的二进制版本
启动后端
创建工作目录
export HOME=/home/work
export WORKSPACE=$HOME/open-falcon
mkdir -p $WORKSPACE
解压二进制包
tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE
在一台机器上启动所有的后端组件
cd $WORKSPACE
./open-falcon start
./open-falcon check # 检查所有模块的启动状况
安装前端
创建工作目录
export HOME=/home/work
export WORKSPACE=$HOME/open-falcon
mkdir -p $WORKSPACE
cd $WORKSPACE
克隆前端组件代码
cd $WORKSPACE
git clone https://github.com/open-falcon/dashboard.git
安装依赖包
yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"
cd $WORKSPACE/dashboard/
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
修改配置
dashboard的配置文件为: ‘rrd/config.py’,请根据实际情况修改
API_ADDR 表示后端api组件的地址
API_ADDR = “http://127.0.0.1:8080/api/v1”
根据实际情况,修改PORTAL_DB_*, 默认用户名为root,默认密码为”“
根据实际情况,修改ALARM_DB_*, 默认用户名为root,默认密码为”“
以开发者模式启动
./env/bin/python wsgi.py #open http://127.0.0.1:8081 in your browser.
在生产环境启动
bash control start #open http://127.0.0.1:8081 in your browser.
停止dashboard运行
bash control stop
查看日志
bash control tail
如mysql的用户名或密码与默认信息不相同则需要修改需要使用mysql模块的配置信息
例:
vim aggregator/config/cfg.json
"database": {
"addr": "root:@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true", #root为用户名 :后为密码
"idle": 10,
"ids": [1, -1],
"interval": 55
},
继续修改其他模块的mysql配置信息
可通过查询日志来查看模块是否正常启动
当模块的端口已被占用时需要修改模块使用的端口信息以及使用此模块的其他模块的配置信息
例:dashboard的8081与8080经常被java进程所占用,这时可修改dashboard模块的端口为8000和8001或其他未使用的端口
vim dashboard/wsgi.py
...
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8001, debug=True) #修改端口为8001
...
修改API端口
vim api/config/cfg.json
...
"web_port": "0.0.0.0:8000", #修改端口为8000
...
修改dashboard配置信息
vim dashboard/rrd/config.py
...
Falcon+ API
API_ADDR = os.environ.get("API_ADDR","http://127.0.0.1:8000/api/v1") #修改端口为8000
...