open-falcon小米监控安装部署

时间:2022-09-17 19:01:54

本文档记录了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、安装judge

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 /*查看启动日志*/
  • 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