最近笔者在滴滴云上申请了一台免费的服务器使用。
Open-Falcon 是非常优秀的一款开源监控系统,正好最近想弄一个测试环境尝试下 Open-Falcon,把此次搭建的过程分享给大家。
准备滴滴云服务器
首先登陆滴滴云,申请一台滴滴云服务器。
具体的步骤就不讲了,大家可以参考滴滴云的帮助手册。
下面我们看到的,是我已经申请好的一台 2核4G的服务器 。
安装数据库
笔者只是用来测试,本地又有 400G 的数据盘,就直接手动安装 MySQL 了。
如果是生产环境,推荐使用滴滴云提供的云数据库服务。
由于云主机的系统是 CentOS 7.4,方便起见我就直接使用了 mariaDB。
#安装
sudo yum install -y mariadb-server mariadb
# 启动
systemctl start mariadb
# 停止
systemctl stop mariadb
安装 Go 环境
要编译安装 Open-Falcon,需要 Go 语言环境
。我们一步步来安装最新的 go1.11:
# 下载最新的go1.11安装包
wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz
# 解包
tar zxvf go1.11.2.linux-amd64.tar.gz
# 设置Go环境
mkdir -p ~/gopath
export GOPATH=$HOME/gopath
export PATH=$PATH:$PWD/go/bin/
此时,我们在机器上,执行 go version,就可以看到已经最新的 go 1.11 已经整装待发!
做 Open-Falcon 的编译准备
由于 Open-Falcon 组件众多,很多组件开发语言不同,有一些第三方依赖,需要我们提前安装。
根据 Open-Falcon 的安装文档,接下来我们会做一些编译准备:
# 安装第三方依赖
yum install -y redis
# 初始化编译目录
mkdir -p $GOPATH/src/github.com/open-falcon
cd $GOPATH/src/github.com/open-falcon
编译 Open-Falcon 源码
编译准备做完之后,我们进入 $GOPATH/src/github.com/open-falcon
目录,也就是我们要下载 Open-Falcon 源代码的目录。
接下来开始编译:
# 下载Open-Falcon源码
git clone https://github.com/open-falcon/falcon-plus.git
# 编译所有模块
make all
# 编译指定模块
make agent
# 打包编译好的二进制
make pack
打包完之后,我们会在当前目录下发现一个名为 open-falcon-vx.x.x.tar.gz
的文件,这就是我们打包好的部署包。
初始化数据库结构
启动服务之前,我们要先把数据库的结构都初始化好,方便模块连接:
# 进入数据库schema目录
cd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/
# 执行初始化
# 此处若有密码,可以使用-p参数来指定
mysql -h 127.0.0.1 -u root < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root < 5_alarms-db-schema.sql
安装 Open-Falcon
# 设置安装目录
export WorkDir="$HOME/open-falcon"
# 新建安装目录
mkdir -p $WorkDir
# 将刚才打包的文件,解包到安装目录
tar -zxvf $GOPATH/src/github.com/open-falcon/open-falcon-vx.x.x.tar.gz -C $WorkDir
此时,在安装目录下,Open-Falcon 系列的可执行文件和配置文件就都已经准备好了。
启动 Open-Falcon
进入安装目录后,启动方式如下:
# ./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
Open-Falcon 提供了非常人性化的启动工具 open-falcon
命令,使用方式可以通过 ./open-falcon -h
来查看。
安装绘图组件
Open-Falcon 绘图组件跟后台的基础组件是分开的,因此我们要单独安装绘图组件。
首先,我们将绘图组件的代码拉取下来:
cd $WorkDir && git clone https://github.com/open-falcon/dashboard.git
cd dashboard
接下来,安装 Dashboard 的周边依赖:
# 安装系统依赖
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 $HOME/open-falcon/dashboard/
virtualenv ./env
# 安装pip依赖包
./env/bin/pip install -r pip_requirements.txt
虚拟环境完善之后,我们就可以启动绘图组件了:
# 前台启动
./env/bin/python wsgi.py
# 后台启动
bash control start
使用 Open-Falcon
绘图组件启动后,我们可以通过我们滴滴云服务器的 8081 端口访问我们的服务。
我们注册一个用户,就可以直接使用了!