对于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