Open-falcon技术系列文章——安装部署open-falcon


前言

本文主要教大家如何安装部署open-falcon

一、通过yum方式部署open-falcon

1. 环境准备

1.1. 安装redis

代码如下(示例):

yum install -y redis

1.2. 安装mysql

代码如下(示例):

yum install -y mysql-server

如果提示找不到mysql没有可用包,可以按如下步骤进行下载安装mysql-community-release-el7-5.noarch.rpm包之后在运行安装Mysql命令

代码如下(示例):

yum -y install wget
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 
rpm -ivh mysql-community-release-el7-5.noarch.rpm

注意,请确保redis和MySQL已启动。

linux 启动mysql、redis服务命令

代码如下(示例):

# 启动redis服务
service redis start
# 启动mysql服务
service mysqld start

1.3. 初始化mysql表结构

代码如下(示例):

cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git 
cd /tmp/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
rm -rf /tmp/falcon-plus/

如果git clone 响应过慢的话可以试试直接访问

https://github.com/open-falcon/falcon-plus.git

在falcon-plus/scripts/mysql/db_schema/模块下,下载图上五个sql文件手动的链接服务器数据库创建表

Open-falcon技术系列文章——安装部署open-falcon_mysql

或者直接从我的蓝奏云这里下载我下好并打成压缩包的的sql文件 https://wwn.lanzouj.com/i8E5X020k27c

Open-falcon技术系列文章——安装部署open-falcon_mysql_02

下载完压缩包之后解压把sql文件倒入到部署open-falcon的服务器数据库中

Open-falcon技术系列文章——安装部署open-falcon_open-falcon_03

1.4. 下载编译好的二进制版本

编译好的二进制版本平台网址:https://github.com/open-falcon/falcon-plus/releases

Open-falcon技术系列文章——安装部署open-falcon_docker_04

打开之后选择版本下载类似文件名称的二进制压缩包,如果打不开github网站的话可以从我的蓝奏云盘上面进行下载,云盘文件版本v0.3,之所以用蓝奏云是因为不会像百度网盘一样限速。 https://wwn.lanzouj.com/io0k5020kp2f密码:878t

2. 启动后端

2.1. 创建工作目录

代码如下(示例):

export FALCON_HOME=/home/work
export WORKSPACE=$FALCON_HOME/open-falcon
mkdir -p $WORKSPACE

2.2. 解压二进制包

代码如下(示例):

tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE

注意确认解压后各个模块conf目录下的配置文件数据名称和密码是否正确数据库是否开放各种角色链接权限 日志文件在模块的log文件夹下,单独start该模块会有日志文件生成

2.3. 启动

代码如下(示例):

cd $WORKSPACE
./open-falcon start
检查所有模块的启动状况
./open-falcon check

3. 启动前端

3.1. 创建工作目录

代码如下(示例):

cd $WORKSPACE
./open-falcon start

3.2. 克隆前端组件代码

代码如下(示例):

cd $WORKSPACE
git clone https://github.com/open-falcon/dashboard.git

注意:如果响应时间过长请直接到该网址下载文件并上传到服务器上,github打不开的话可以去我的蓝奏云地址进行下载https://wwn.lanzouj.com/i3oz5020m2pc

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"
cd $WORKSPACE/dashboard/
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple

3.4. 修改配置

代码如下(示例):

dashboard的配置文件为: 'rrd/config.py',请根据实际情况修改
# API_ADDR 表示后端api组件的地址
API_ADDR = "http://127.0.0.1:8080/api/v1" 
# 根据实际情况,修改PORTAL_DB_*, 默认用户名为root,默认密码为""
# 根据实际情况,修改ALARM_DB_*, 默认用户名为root,默认密码为""

3.5. 以开发者模式启动

代码如下(示例):

./env/bin/python wsgi.py

在浏览器中输入IP地址+端口号即可启动前端例如,在云服务器上部署记得开放安全组127.0.0.1:8081

Open-falcon技术系列文章——安装部署open-falcon_redis_05

3.6. 在生产环境启动

代码如下(示例):

bash control start

在浏览器中输入IP地址+端口号即可启动前端例如,在云服务器上部署记得开放安全组127.0.0.1:8081

3.7. 停止dashboard运行

代码如下(示例):

bash control stop

3.8. 查看日志

代码如下(示例):

bash control tail

3.9. dashbord用户管理

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

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

二、docker方式部署

部署采用v0.3版本

1.安装docker(如果已经安装完毕请跳过这步)

1.1. 依次运⾏以下命令添加yum源

代码如下(示例):

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

1.2. 安装并运⾏Docker。

代码如下(示例):

yum install docker-io -y
systemctl start docker

1.3. 检查安装结果。

代码如下(示例):

docker info

1.4. 启动使⽤Docker

代码如下(示例):

systemctl start docker #运⾏Docker守护进程
systemctl stop docker #停⽌Docker守护进程
systemctl restart docker #᯿启Docker守护进程

1.5. 修改镜像仓库

代码如下(示例):

vim /etc/docker/daemon.json
#改为下⾯内容,然后重启docker
{
"debug":true,"experimental":true,"registry-mirrors":
["https://pb5bklzr.mirror.aliyuncs.com","https:
//hub
mirror.c.163.com","https://docker.mirrors.ustc.
edu.cn"]
}

1.6. 查看信息

代码如下(示例):

docker info

2.部署Mysql并导入open-falcon需要的表结构

2.1.部署mysql

代码如下(示例):

docker run -itd \
    --name falcon-mysql \
    -v /home/work/mysql-data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=test123456 \
    -p 3306:3306 \
    mysql:5.7

2.2.导入表结构

代码如下(示例):

## init mysql table before the first running
cd /tmp && \
git clone --depth=1 https://github.com/open-falcon/falcon-plus.git && \
cd /tmp/falcon-plus/ && \
for x in `ls ./scripts/mysql/db_schema/*.sql`; do
echo init mysql table $x ...;
docker exec -i falcon-mysql mysql -uroot -ptest123456 < $x;
done
rm -rf /tmp/falcon-plus/

或者根据上文yum安装方法那里下载蓝奏云网盘的表结构直接导入

3.部署redis

代码如下(示例):

docker run --name falcon-redis -p6379:6379 -d redis:4-alpine3.8

4.部署open-falcon后端

4.1.拉取open-falcon后端镜像

代码如下(示例):

## pull images from hub.docker.com/openfalcon
docker pull openfalcon/falcon-plus:v0.3

4.2.启动服务

代码如下(示例):

## run falcon-plus container
docker run -itd --name falcon-plus \
--link=falcon-mysql:db.falcon \
--link=falcon-redis:redis.falcon \
-p 8433:8433 \
-p 8080:8080 \
-e MYSQL_PORT=root:test123456@tcp\(db.falcon:3306\) \
-e REDIS_PORT=redis.falcon:6379 \
-v /home/work/open-falcon/data:/open-falcon/data \
-v /home/work/open-falcon/logs:/open-falcon/logs \
openfalcon/falcon-plus:v0.3

4.3.启动后端的各个模块

代码如下(示例):

## start falcon backend modules, such as graph,api,etc.
docker exec falcon-plus sh ctrl.sh start \
graph hbs judge transfer nodata aggregator agent gateway api alarm

4.4.检查模块的运行状态

代码如下(示例):

## check status of backend modules
docker exec falcon-plus ./open-falcon check

4.5.查看运行日志

代码如下(示例):

ls -l /home/work/open-falcon/logs/

5.部署open-falcon前端

代码如下(示例):

docker run -itd --name falcon-dashboard \
-p 8081:8081 \
--link=falcon-mysql:db.falcon \
--link=falcon-plus:api.falcon \
-e API_ADDR=http://api.falcon:8080/api/v1 \
-e PORTAL_DB_HOST=db.falcon \
-e PORTAL_DB_PORT=3306 \
-e PORTAL_DB_USER=root \
-e PORTAL_DB_PASS=test123456 \
-e PORTAL_DB_NAME=falcon_portal \
-e ALARM_DB_HOST=db.falcon \
-e ALARM_DB_PORT=3306 \
-e ALARM_DB_USER=root \
-e ALARM_DB_PASS=test123456 \
-e ALARM_DB_NAME=alarms \
-w /open-falcon/dashboard openfalcon/falcon-dashboard:v0.2.1 \
'./control startfg'

总结

以上就是如何安装部署open-falcon的全部内容,如果对你有所帮助的话请点个关注,我会不定时更新技术分享,对于文章中内容有问题的地方可以在下面留言,看到我会及时回复。