对于Open-Falcon 系统的部署,研究了一段时间才部署成功,文档主要部署的为v0.2.1版本,参考官网文档。
关于该监控系统的部署分为三个部分,一、环境准备;二、启动后端;三、安装前段。
一、环境准备
首先将服务器内部防火墙关闭,并关机开机启动,并关闭selinux,此处不在赘述。
1.1 安装wget和vim软件(个人习惯使用vim编辑文件)
1
|
yum install -y wget vim
|
1.2 安装git
1
|
yum install -y git
|
安装结束后安全起见,确认是否满足官方要求的Git >=1.7.5
1
|
git version |
1.3 安装go语言环境(因为yum源中没有go的安装包,故通过fedora的epel仓库来安装)
1
2
|
yum install -y epel-release
yum install golang -y
|
安装结束后安全起见,确认是否满足官方要求的Go >= 1.6
1
|
go version |
1.4 安装redis(通过yum安装即可)
1
|
yum install redis -y
|
启动redis
1
|
systemctl start redis |
设置redis开机启动
1
|
systemctl enable redis
|
可以用下面的语句查看redis是否开启
1
|
systemctl status redis |
1.5 安装MySQL
步骤
1) 下载repo源
1
|
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)
1
|
rpm -ivh mysql-community-release-el7-5.noarch.rpm |
3)安装mysql
1
|
yum install mysql-server -y
|
1
|
systemctl start mysql |
可以用下面的语句查看mysql是否开启
1
|
systemctl status mysql |
1.6 设置环境变量GOROOT和GOPATH
1
2
|
export GOROOT= /usr/lib/golang
export GOPATH= /home
|
1.7 将open-falcon的源码从github上get下来
步骤:
1)创建GOPATH下的一个本地的路径
1
|
mkdir -p $GOPATH /src/github .com /open-falcon
|
2)进入该路径
1
|
cd $GOPATH /src/github .com /open-falcon
|
3)将源码get到本地
1
|
git clone https: //github .com /open-falcon/falcon-plus .git
|
1.8 初始化数据库
1
|
cd $GOPATH /src/github .com /open-falcon/falcon-plus/scripts/mysql/db_schema/
|
1
2
3
4
5
|
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)进入本地源码路径下
1
|
cd $GOPATH /src/github .com /open-falcon/falcon-plus/
|
2)使用go get获取rrdtool工具包(make过程卡壳的一个点)
1
|
go get github.com /open-falcon/rrdlite
|
这一步是官方教程没有提到的内容,如果不获取该工具包make的时候会报错
3)编译所有模块
1
|
make all
|
4)打包
1
|
make pack
|
在$GOPATH/src/github.com/open-falcon/falcon-plus/目录下就多了刚才的压缩包“open-falcon-v0.2.1.tar.gz”。
二、启动后端
2.1 创建工作目录
1
2
|
export WORKSPACE= /home/work
mkdir -p $WORKSPACE
|
2.2 解压二进制包(包名根据实际进行修改)
由于我是根据本教程编译源码获得的压缩包,故需要切换到“$GOPATH/src/github.com/open-falcon/falcon-plus/”路径下。
1
2
|
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的配置文件
1
|
vim /home/work/aggregator/config/cfg .json
|
2)修改graph的配置文件
1
|
vim /home/work/graph/config/cfg .json
|
3)修改hbs的配置文件
1
|
vim /home/work/hbs/config/cfg .json
|
4)修改nodata的配置文件
1
|
vim /home/work/nodata/config/cfg .json
|
5)修改api的配置文件
1
|
vim /home/work/api/config/cfg .json
|
6)修改alarm的配置文件
1
|
vim /home/work/alarm/config/cfg .json
|
2.4 启动后端模块
1
2
|
cd $WORKSPACE
. /open-falcon start
|
可以用下面的命令检查各个模块的启动情况
1
|
. /open-falcon check
|
更多命令的用法(命令的例子是启动agent模块)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# ./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 创建工作目录
1
2
|
export FRONTSPACE= /home/front/open-falcon
mkdir -p $FRONTSPACE
|
3.2 获取前端代码
1
2
|
cd $FRONTSPACE
git clone https: //github .com /open-falcon/dashboard .git
|
3.3 安装依赖包
1
2
3
4
5
6
7
8
9
|
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 在生产环境启动
1
|
bash control start
|
3.6 以开发者模式启动
1
|
. / 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
1
|
# pip install gunicorn |
5.2 启动dashboard遇到
此时在重新执行
1
|
virtualenv . /env 再启动即可
|
本文转自 Bill_Xing 51CTO博客,原文链接:http://blog.51cto.com/zhanx/2059434