对于Open-Falcon 系统的部署,研究了一段时间才部署成功,文档主要部署的为v0.2.1版本,参考官网文档。
关于该监控系统的部署分为三个部分,一、环境准备;二、启动后端;三、安装前段。
一、环境准备
首先将服务器内部防火墙关闭,并关机开机启动,并关闭selinux,此处不在赘述。
1.1 安装wget和vim软件(个人习惯使用vim编辑文件)
yuminstall-ywgetvim
1.2 安装git
yuminstall-ygit
安装结束后安全起见,确认是否满足官方要求的Git >=1.7.5
gitversion
1.3 安装go语言环境(因为yum源中没有go的安装包,故通过fedora的epel仓库来安装)
yuminstall-yepel-release yuminstallgolang-y
安装结束后安全起见,确认是否满足官方要求的Go >= 1.6
goversion
1.4 安装redis(通过yum安装即可)
yuminstallredis-y
启动redis
systemctlstartredis
设置redis开机启动
systemctlenableredis
可以用下面的语句查看redis是否开启
systemctlstatusredis
1.5 安装MysqL
步骤
1)下载repo源
wgethttp://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)
rpm-ivhMysqL-community-release-el7-5.noarch.rpm
3)安装MysqL
yuminstallMysqL-server-y
systemctlstartMysqL
可以用下面的语句查看MysqL是否开启
systemctlstatusMysqL
1.6设置环境变量GOROOT和GOPATH
exportGOROOT=/usr/lib/golang exportGOPATH=/home
1.7将open-falcon的源码从github上get下来
步骤:
1)创建GOPATH下的一个本地的路径
mkdir-p$GOPATH/src/github.com/open-falcon
2)进入该路径
cd$GOPATH/src/github.com/open-falcon
3)将源码get到本地
gitclonehttps://github.com/open-falcon/falcon-plus.git
1.8初始化数据库
cd$GOPATH/src/github.com/open-falcon/falcon-plus/scripts/MysqL/db_schema/
MysqL-h127.0.0.1-uroot-p<1_uic-db-schema.sql MysqL-h127.0.0.1-uroot-p<2_portal-db-schema.sql MysqL-h127.0.0.1-uroot-p<3_dashboard-db-schema.sql MysqL-h127.0.0.1-uroot-p<4_graph-db-schema.sql MysqL-h127.0.0.1-uroot-p<5_alarms-db-schema.sql
再运行“MysqL -h..................”时会提示“Enter password”,如果MysqL的root没有设置密码,回车即可。
1.9编译源码并打包
步骤:
1)进入本地源码路径下
cd$GOPATH/src/github.com/open-falcon/falcon-plus/
2)使用go get获取rrdtool工具包(make过程卡壳的一个点)
gogetgithub.com/open-falcon/rrdlite
这一步是官方教程没有提到的内容,如果不获取该工具包make的时候会报错
3)编译所有模块
makeall
4)打包
makepack
在$GOPATH/src/github.com/open-falcon/falcon-plus/目录下就多了刚才的压缩包“open-falcon-v0.2.1.tar.gz”。
二、启动后端
2.1 创建工作目录
exportWORKSPACE=/home/work mkdir-p$WORKSPACE
2.2 解压二进制包(包名根据实际进行修改)
由于我是根据本教程编译源码获得的压缩包,故需要切换到“$GOPATH/src/github.com/open-falcon/falcon-plus/”路径下。
cd$GOPATH/src/github.com/open-falcon/falcon-plus/ tar-xzvfopen-falcon-v0.2.0.tar.gz-C$WORKSPACE
我这里的MysqL密码都为空,如果密码不为空,在root后面加上密码
vim/home/work/aggregator/config/cfg.json
vim/home/work/graph/config/cfg.json
vim/home/work/hbs/config/cfg.json
vim/home/work/nodata/config/cfg.json
vim/home/work/api/config/cfg.json
vim/home/work/alarm/config/cfg.json
2.4 启动后端模块
cd$WORKSPACE ./open-falconstart
可以用下面的命令检查各个模块的启动情况
./open-falconcheck
更多命令的用法(命令的例子是启动agent模块)
#./open-falcon[start|stop|restart|check|monitor|reload]module./open-falconstartagent ./open-falconcheck falcon-graphUP53007 falcon-hbsUP53014 falcon-judgeUP53020 falcon-transferUP53026 falcon-nodataUP53032 falcon-aggregatorUP53038 falcon-agentUP53044 falcon-gatewayUP53050 falcon-apiUP53056 falcon-alarmUP53063 Fordebugging,Youcancheck$WorkDir/$moduleName/log/logs/xxx.log
三、安装前端
3.1 创建工作目录
exportFRONTSPACE=/home/front/open-falcon mkdir-p$FRONTSPACE
cd$FRONTSPACE gitclonehttps://github.com/open-falcon/dashboard.git
3.3 安装依赖包
yuminstall-ypython-virtualenv yuminstall-ypython-devel yuminstall-yopenldap-devel yuminstall-yMysqL-devel yumgroupinstall"Developmenttools"-y cd$FRONTSPACE/dashboard/ virtualenv./env ./env/bin/pipinstall-rpip_requirements.txt
3.4 修改配置
根据本次记录的配置,dashboard的配置文件在/home/front/open-falcon/dashboard/rrd/config.py,需要根据实际情况对内部配置进行修改。
由于前端后台搭在一台虚拟机里,且暂时不接入LDAP,且数据库root的密码为空,故先不修改配置文件。
3.5 在生产环境启动
bashcontrolstart
3.6 以开发者模式启动
./env/bin/pythonwsgi.py
四、登陆测试通过公网IP
通过公网IP及8081端口进行登陆测试。
dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
超级管理员可以给普通用户分配权限管理。
小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可。
五、遇到的问题
5.1 遇到不能启动dashboard问题,
提示没有gunicorn,故停止。
针对此问题需要先安装pip
安装pip后使用pip安装gunicorn
#pipinstallgunicorn
5.2 启动dashboard遇到
此时在重新执行
virtualenv./env再启动即可