本文档记录了centos6.4下open-falcon监控系统的部署流程,以及一些需要注意的地方。
参考了官方文档 http://book.open-falcon.org/zh/
export WORKSPACE=/root/open-falcon
yum install redis-cli redis-server
tar zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make && make install
安装完之后,将源码目录下的redis.conf拷贝到/etc目录,并且修改,最后启动redis-server。
redis-server /etc/redis.conf
yum install mysql mysql-server php-mysql.x86_64
git clone https://github.com/open-falcon/scripts.git
cd scripts
mysql -uroot < db_schema/dashboard-db-schema.sql
mysql -uroot < db_schema/graph-db-schema.sql
mysql -uroot < db_schema/links-db-schema.sql
mysql -uroot < db_schema/portal-db-schema.sql
mysql -uroot < db_schema/uic-db-schema.sql
/* mysql如果有密码,需要指定密码.*/
直接使用官方编译好的二进制包, [地址](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
如果不是源码编译安装,可以不装golang环境。
每台机器上,都需要部署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
心跳服务器,公司所有agent都会连到HBS,每分钟发一次心跳请求。
cd hbs
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
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
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
query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户。
cd query
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
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
pip安装virtualenv
pip install virtualenv
install dependency
cd dashboard
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt /*这里可能会报错,可能是系统没有安装某些软件包*/
配置
dashboard的config的路径为 $WORKSPACE/dashboard/rrd/config.py,里面有数据库相关的配置信息,如有必要,请修改。默认情况下(所有组件都在同一台服务器上),保持默认配置即可
./control start
./control tail
goto ---> http://127.0.0.1:8081
Judge用于告警判断,agent将数据push给Transfer,Transfer不但会转发给Graph组件来绘图,还会转发给Judge用于判断是否触发告警。
cd judge
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置 这里要注意redis的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
Portal是用来配置报警策略的
Portal是个Python的项目,无需像Go的项目那样去做编译。不过Go的项目是静态编译的,编译好了之后二进制无依赖,拿到其他机器也可以跑起来,Python的项目就需要安装一些依赖库了。
cd portal
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
Portal的配置文件在frame/config.py
设置好配置文件之后就可以用下面的方式启动
./control start
./control tail
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 /*查看启动日志*/
Sender这个模块专门用于调用各公司提供的邮件、短信发送接口。
cd sender
mv cfg.example.json cfg.json
vim cfg.json /*编辑cfg.json, 修改对应的配置 这里要注意redis的配置*/
./control start /*启动*/
./control tail /*查看启动日志*/
Links是为报警合并功能写的组件。如果你不想使用报警合并功能,这个组件是无需安装的。
cd links
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
Links的配置文件在frame/config.py,注意里面的配置。
这是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 /*查看启动日志*/
安装完fe之后,需要设置一个root密码, 如下:
http://fe.example.com/root?password=abc