CentOS 7环境下Open-Falcon安装部署文档

Hi, Everyone!Welcome to DQF's Blog,For technical exchange, Please add QQ: 905030209,Thanks!

一、环境说明

[root@falcon ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@falcon ~]# uname -r
3.10.0-693.el7.x86_64
[root@falcon ~]# getenforce 
Disabled

二、环境准备

2.1 配置清华Yum源并重建缓存

yum install -y epel-release
yum clean all
yum makecache
yum update

2.2 安装git

yum install -y git
git version # 安装结束后安全起见,确认是否满足官方要求的Git >= 1.7.5

2.3 安装go语言

下载go1.11.1.linux-amd64.tar.gz并解压

tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

2.4 设置环境变量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

2.5 将open-falcon的源码从github上get下来

mkdir -p $GOPATH/src/github.com/open-falcon/
cd $GOPATH/src/github.com/open-falcon
git clone https://github.com/open-falcon/falcon-plus.git

2.6 安装Redis、Mysql并启动

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y redis mysql-server
systemctl restart redis mysql
systemctl status redis mysql

2.7 初始化数据库

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”,如果mysql的root没有设置密码,回车即可

2.8 编译源码并打包

cd $GOPATH/src/github.com/open-falcon/falcon-plus/
go get github.com/open-falcon/rrdlite # 如果不获取该工具包make的时候会报错
make all
make pack

备注:_在$GOPATH/src/github.com/open-falcon/falcon-plus/目录下就多了刚才的压缩包“open-falcon-v0.2.0.tar.gz”,如果编译过程出现错误请下载此编译好的二进制版本open-falcon-v0.2.0.tar.gz并放置在此目录下备用。

三、部署后端

3.1 创建工作目录

echo -e 'export FALCON_HOME=/home/work\nexport WORKSPACE=$FALCON_HOME/open-falcon' >>/etc/profile # 执行一次即可
source /etc/profile
mkdir -p $WORKSPACE

3.2 解压二进制包

cd $GOPATH/src/github.com/open-falcon/falcon-plus/
tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE

3.3 修改配置文件cfg.json

如果需要每个模块都能正常启动,需要将上面模块的cfg.json的数据库信息进行修改。根据本教程的配置,需要修改配置文件所在的目录:

| 模块 | 配置文件所在路径 |
| – | – |
aggregator | /home/work/open-falcon/aggregator/config/cfg.json
graph | /home/work/open-falcon/graph/config/cfg.json
hbs | /home/work/open-falcon/hbs/config/cfg.json
nodata | /home/work/open-falcon/nodata/config/cfg.json
api | /home/work/open-falcon/api/config/cfg.json
alarm | /home/work/open-falcon/alarm/config/cfg.json

    1. 修改aggregator的配置文件
vim /home/work/open-falcon/aggregator/config/cfg.json


mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”

    1. 修改graph的配置文件
vim /home/work/open-falcon/graph/config/cfg.json


mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”

    1. 修改hbs的配置文件
vim /home/work/open-falcon/hbs/config/cfg.json


mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”

    1. 修改nodata的配置文件
vim /home/work/open-falcon/nodata/config/cfg.json


mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”

    1. 修改api的配置文件
vim /home/work/open-falcon/api/config/cfg.json


mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”

    1. 修改alarm的配置文件
vim /home/work/open-falcon/alarm/config/cfg.json


mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”

3.4 启动后端模块

cd $WORKSPACE
./open-falcon start

可以用下面的命令检查各个模块的启动情况

./open-falcon check

更多命令的用法(命令的例子是启动agent模块)

# ./open-falcon [start|stop|restart|check|monitor|reload] module
./open-falcon start agent

./open-falcon check

        falcon-graph         UP            6908 
          falcon-hbs         UP            6917 
        falcon-judge         UP            6925 
     falcon-transfer         UP            6931 
       falcon-nodata         UP            6937 
   falcon-aggregator         UP            6944 
        falcon-agent         UP            6952 
      falcon-gateway         UP            6959 
          falcon-api         UP            6965 
        falcon-alarm         UP            6977 

For debugging , You can check $WorkDir/$moduleName/log/logs/xxx.log

四、部署前端

4.1 创建工作目录

echo -e 'export FRONTSPACE=$FALCON_HOME/front' >>/etc/profile #执行一次即可
source /etc/profile

4.2 获取前端代码

mkdir -p $FALCON_HOME/front
cd $FRONTSPACE
git clone https://github.com/open-falcon/dashboard.git

4.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

4.4 修改rrd/config.py配置

vim /home/work/front/dashboard/rrd/config.py


mysql的root密码为空,则不需要改动文件,若不为空,则用root密码替换“password”

4.5 开启8081端口

    1. 防火墙添加8081端口永久开放
firewall-cmd --add-port=8081/tcp --permanent
    1. 重新载入防火墙配置
firewall-cmd --reload

4.6 在生产环境启动和关闭

bash control start # 开启
bash control stop # 关闭
bash control tail # 查看日志

在浏览器中输入IP:8081后跳转

4.7 以开发者模式启动

./env/bin/python wsgi.py

4.8 dashbord用户管理

dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
超级管理员可以给普通用户分配权限管理。

小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。
只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。
当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可。

五、客户端agent配置

5.1 创建工作目录

mkdir /home/work/open-falcon -p

5.2 配置agent文件

下载agent.tar.gz并解压

tar xf agent.tar.gz -C /home/work/open-falcon/
vim /home/work/open-falcon/agent/config/cfg.json

5.3 启动agent

下载open-falcon并启动agent

cd /home/work/open-falcon
./open-falcon start agent  # 启动进程
./open-falcon stop agent  # 停止进程
./open-falcon monitor agent  # 查看日志

5.4 验证

看var目录下的log是否正常,或者浏览器访问其1988端口。另外agent提供了一个–check参数,可以检查agent是否可以正常跑在当前机器上

cd /home/work/open-falcon/agent/bin
./falcon-agent --check

访问falcon界面能查询到监控主机即配置成功

六、参考文献

Open-Falcon官方文档
centos7部署open-falcon 0.2.0
go语言官方文档

Leave a Reply

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Blog Theme: FreeDom by DQF.