-
本文档记录了centos6.5下open-falcon监控系统的部署流程,以及一些需要注意的地方。
-
-
参考了官方文档 http://book.open-falcon.org/zh/
一、部署前的准备
设置环境变量
export WORKSPACE=/home/work/open-falcon
- 1
redis安装 - yum安装或源码安装
- yum安装
yum install redis-cli redis-server
- 2
- 源码安装
tar zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make && make install- 1
- 2
- 3
安装完之后,将源码目录下的redis.conf拷贝到/etc目录,并且修改,最后启动redis-server。
redis-server /etc/redis.conf
- 4
MySql安装
yum install mysql mysql-server php-mysql.x86_64
- 5
初始化Mysql脚本
git clone https://github.com/open-falcon/scripts.git
cd scripts
mysql -uroot -pxxx < db_schema/dashboard-db-schema.sql
mysql -uroot -pxxx < db_schema/graph-db-schema.sql
mysql -uroot -pxxx < db_schema/links-db-schema.sql
mysql -uroot -pxxx < db_schema/portal-db-schema.sql
mysql -uroot -pxxx < db_schema/uic-db-schema.sql
/* mysql如果有密码,需要指定密码.*/- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
下载open-falcon
直接使用官方编译好的二进制包, [地址](http://pan.baidu.com/s/1eR1cNj8)
DOWNLOAD="https://github.com/open-falcon/of-release/releases/download/v0.1.0/open-falcon-v0.1.0.tar.gz"
cd $WORKSPACE
mkdir ./tmp
#下载
wget $DOWNLOAD -O open-falcon-latest.tar.gz
#解压
tar -zxf open-falcon-latest.tar.gz -C ./tmp/
for x in `find ./tmp/ -name "*.tar.gz"`;do \
app=`echo $x|cut -d '-' -f2`; \
mkdir -p $app; \
tar -zxf $x -C $app; \
done- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
安装GoLang环境
如果不是源码编译安装,可以不装golang环境。
二、安装部署-绘图相关组件
1、安装agent
每台机器上,都需要部署agent,agent会自动采集预先定义的各种采集项,每隔60秒,push到transfer。
cd agent
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
/* 椒盐服务, 这里假定服务开启了1988的http监听端口。 在浏览器中打开下面的页面 */
goto --> http://127.0.0.1:1988- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2、安装hbs
心跳服务器,公司所有agent都会连到HBS,每分钟发一次心跳请求。
cd hbs
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/- 1
- 2
- 3
- 4
- 5
3、安装transfer
transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来。
cd transfer
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
/* 校验服务,这里假定服务开启了6060的http监听端口。检验结果为ok表明服务正常启动。 */
curl -s http://127.0.0.1:6060/health- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
4、安装graph
graph组件是存储绘图数据、历史数据的组件。transfer会把接收到的数据,转发给graph。
cd graph
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
/* 校验服务,这里假定服务开启了默认6071的http监听端口。检验结果为ok表明服务正常启动。 */
curl -s http://127.0.0.1:6071/health- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
5、安装query
query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户。
cd query
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/- 1
- 2
- 3
- 4
- 5
6、安装 dashboard
dashboard是面向用户的查询界面,在这里,用户可以看到push到graph中的所有数据,并查看其趋势图。
这里需要安装两个软件, pip 和virtualenv 。 如果软件仓库里面有,直接用yum安装,否则需要用源码来安装。
下面介绍用源码来安装 pip 和 virtualenv。
pip项目在github上面 https://github.com/pypa/pip。
安装过程如下:
wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
tar zxvf 1.5.5.tar.gz
cd pip-1.5.5
python ./setup.py install- 1
- 2
- 3
- 4
pip安装virtualenv
pip install virtualenv
- 1
install dependency
yum install -y python-virtualenv mysql-devel # run as root
cd dashboard
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt /*这里可能会报错,可能是系统没有安装某些软件包*/- 1
- 2
- 3
配置
dashboard的config的路径为 $WORKSPACE/dashboard/rrd/config.py,里面有数据库相关的配置信息,如有必要,请修改。默认情况下(所有组件都在同一台服务器上),保持默认配置即可
./control start
./control tail
goto ---> http://127.0.0.1:8081- 1
- 2
- 3
三、安装部署-报警相关组件
1、安装judgeJudge用于告警判断,agent将数据push给Transfer,Transfer不但会转发给Graph组件来绘图,还会转发给Judge用于判断是否触发告警。
cd judge
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置 这里要注意redis的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/- 1
- 2
- 3
- 4
- 5
2、安装portal
Portal是用来配置报警策略的
Portal是个Python的项目,无需像Go的项目那样去做编译。不过Go的项目是静态编译的,编译好了之后二进制无依赖,拿到其他机器也可以跑起来,Python的项目就需要安装一些依赖库了。cd portal
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt- 1
- 2
- 3
Portal的配置文件在frame/config.py
设置好配置文件之后就可以用下面的方式启动./control start
./control tail- 1
- 2
3、安装alarm
alarm模块是处理报警event的,judge产生的报警event写入redis,alarm从redis读取处理
cd alarm
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置 这里要注意redis的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/- 1
- 2
- 3
- 4
- 5
4、安装sender
Sender这个模块专门用于调用各公司提供的邮件、短信发送接口。
cd sender
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置 这里要注意redis的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/- 1
- 2
- 3
- 4
- 5
5、安装links
Links是为报警合并功能写的组件。如果你不想使用报警合并功能,这个组件是无需安装的。
cd links
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt- 1
- 2
- 3
Links的配置文件在frame/config.py,注意里面的配置。
6、安装fe
这是Go版本的UIC,也是一个统一的web入口,因为监控组件众多,记忆ip、port去访问还是比较麻烦。fe像是一个监控的hao123
cd fe
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置 这里要注意redis的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/- 1
- 2
- 3
- 4
- 5
安装完fe之后,需要设置一个root密码, 如下:
http://fe.example.com/root?password=abc -
-
-
-
出处 http://blog.csdn.net/soloopin/article/details/51799679