facon 安装部署要点详细记录
对于Open-Falcon 系统的部署,研究了一段时间才部署成功,部署的为v0.3版本,
文档主要参考https://blog.51cto.com/zhanx/2059434,本文是在此文章基础上作更新和注释方式记录部署过程。
同时参考官网文档http://book.open-falcon.com/zh_0_2/。
部署分为三个部分,一、环境准备[redis、mysql];二、启动后端[go];三、安装前端[python]。
一、环境准备
首先将服务器内部防火墙关闭,并关机开机启动,并关闭selinux,此处不在赘述。
[此处没有管它]
1.1 安装wget和vim软件(个人习惯使用vim编辑文件) [此处没有管它]
#yum install -y wget vim
1.2 安装git
#yum install -y git
安装结束后安全起见,确认是否满足官方要求的Git >=1.7.5
#git version
1.3 安装go语言环境(因为yum源中没有go的安装包,故通过fedora的epel仓库来安装)
#yum install -y epel-release
#yum install golang -y
安装结束后安全起见,确认是否满足官方要求的Go >= 1.6
#go version
在这里插入代码片
{…另一种安装go的方式:
*解压go语言包到目标路径:
#tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
*设置环境变量GOROOT和GOPATH
#mkdir -p /usr/local/gopath/{src,bin,pkg}
#echo -e 'export GOROOT=/usr/local/go\nexport GOPATH=/usr/local/gopath\nexport
GOBIN=$GOPATH/bin\nexport PATH=$PATH:$GOBIN:$GOROOT/bin' >>/etc/profile
*上面是一长句,执行一次即可
#source /etc/profile
…}
1.4 安装redis(通过yum安装即可)
#yum install redis -y
启动redis
#systemctl start redis
设置redis开机启动
#systemctl enable redis
可以用下面的语句查看redis是否开启
#systemctl status redis
1.5 安装MySQL
[我是直接到网站下的mysql5.7版本,网上搜索安装方法]
步骤
- 下载repo源 [此处没有管它]
#wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- 安装rpm包(安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo) [此处没有管它]
#rpm -ivh mysql-community-release-el7-5.noarch.rpm
3)安装mysql [此处没有管它]
yum install mysql-server -y
systemctl start mysql
可以用下面的语句查看mysql是否开启
#systemctl status mysql
1.6 设置环境变量GOROOT和GOPATH
#export GOROOT=/usr/lib/golang
#export GOPATH=/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到本地
git clone https://github.com/open-falcon/falcon-plus.git
1.8 初始化数据库
#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
注意:在运行“mysql -h…”时会提示“Enter password”,输入密码,如果没有设置密码,回车即可。
1.9 编译源码并打包
步骤:
1)进入本地源码路径下
#cd $GOPATH/src/github.com/open-falcon/falcon-plus/
2)使用go get获取rrdtool工具包(make过程卡壳的一个点)
#go get github.com/open-falcon/rrdlite
这一步是官方教程没有提到的内容,如果不获取该工具包make的时候会报错
3)编译所有模块
#make all
4)打包
#make pack
在$GOPATH/src/github.com/open-falcon/falcon-plus/目录下就多了刚才的压缩包“open-falcon-v0.2.1.tar.gz”。
二、部署并启动后端
2.1 创建后端工作目录
#export WORKSPACE=/home/falcon-work [定义后端运行工作空间]
#mkdir -p $WORKSPACE
2.2 解压二进制包(包名根据实际进行修改)
由于我是根据本教程编译源码获得的压缩包,故需要切换到“$GOPATH/src/github.com/open-falcon/falcon-plus/”路径下。
#cd $GOPATH/src/github.com/open-falcon/falcon-plus/
#tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE
[总之把执行包解压到实际运行工作空间]
#mkdir data
[/open-falcon/falcon-plus/下新建个data,将来存放rrd数据]
2.3 修改配置文件cfg.json
我这里的MySQL密码都为空,如果密码不为空,在root后面加上密码
1)修改aggregator的配置文件
#vim /home/falcon-work/aggregator/config/cfg.json
[编辑我都用的vi命令]
2)修改graph的配置文件
#vim /home/falcon-work/graph/config/cfg.json
3)修改hbs的配置文件
#vim /home/falcon-work/hbs/config/cfg.json
4)修改nodata的配置文件
#vim /home/falcon-work/nodata/config/cfg.json
5)修改api的配置文件
#vim /home/falcon-work/api/config/cfg.json
6)修改alarm的配置文件
#vim /home/falcon-work/alarm/config/cfg.json
2.4 启动后端模块
#cd $WORKSPACE
#./open-falcon start
[注意 /前有个点 ./]
可以用下面的命令检查各个模块的启动情况
#./open-falcon check
[注意 /前有个点 ./]
./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 W o r k D i r / WorkDir/ WorkDir/moduleName/log/logs/xxx.log
更多命令的用法:
整体服务的启动、停止、状态查询
./open-falcon start
./open-falcon stop
./open-falcon status
./open-falcon [start|stop|restart|check|monitor|reload] module [针对某一模块的命令公式]
./open-falcon start agent [linux下重启agent]
三、安装前端
前端后台搭在同一台远程机里centos7,暂时不接入LDAP。。 [LDAP:轻量级目录访问协议],
3.1 创建工作目录
#export FRONTSPACE=/home/front/open-falcon
[新建前端工作空间,前后端分离,可分别部署]
#mkdir -p $FRONTSPACE
3.2 获取前端代码 [我是提前下载,直接上传使用前端代码dashboard-master]
#cd $FRONTSPACE
#git clone https://github.com/open-falcon/dashboard.git
3.3 安装依赖包
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,需要根据实际情况对内部配置进行修改。
复制备份下再修改,以防失误。
3.5 在生产环境启动
#cd $FRONTSPACE/dashboard/
#bash control start
[我用这个]
3.6 以开发者模式启动 [这个没用]
./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
#pip install gunicorn
5.2 启动dashboard遇到
重启动环境
#virtualenv ./env
再启动前端即可
#bash control stop
#bash control start
#bash control status
*运行启动后关心的事:
1。rrd时序数据文件位置: