Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案.

github:https://github.com/open-falcon/of-release

Highlights and features

  •  数据采集免配置:agent自发现、支持Plugin、主动推送模式

  •  容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。

  •  告警策略自发现:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。

  •  告警设置人性化:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。

  •  历史数据高效查询:秒级返回上百个指标一年的历史数据。

  •  Dashboard人性化:多维度的数据展示,用户自定义Dashboard等功能。

  •  架构设计高可用:整个系统无核心单点,易运维,易部署。

Quick Install

Open-Falcon,整体可以分为两部分,即绘图组件、告警组件。其中:

  •  安装绘图组件 负责数据的采集、收集、存储、归档、采样、查询、展示(Dashboard/Screen)等功能,可以单独工作,作为time-series data的一种存储展示方案。

  • 安装告警组件 负责告警策略配置(portal)、告警判定(judge)、告警处理(alarm/sender)、用户组管理(uic)等,可以单独工作。

  • 如果你熟悉docker,想快速搭建并体验Open-Falcon的话,请参考 使用Docker镜像安装Open-Falcon

安装部署Open-Falcon:

1.1 环境准备

yum install redis -y
yum install mysql-server -y

       1.2 创建工作目录

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

1.3 初始化mysql表结构

# open-falcon所有组件都无需root账号启动,推荐使用普通账号安装,提升安全性。此处我们使用普通

账号:work来安装部署所有组件

# 当然了,使用yum安装依赖的一些lib库的时候还是要有root权限的。

git clone https: //github .com /open-falcon/scripts .git
cd . /scripts/
mysql -h localhost -u root --password= "" < db_schema /graph-db-schema .sql
mysql -h localhost -u root --password= "" < db_schema /dashboard-db-schema .sql
 
mysql -h localhost -u root --password= "" < db_schema /portal-db-schema .sql
mysql -h localhost -u root --password= "" < db_schema /links-db-schema .sql
mysql -h localhost -u root --password= "" < db_schema /uic-db-schema .sql

1.4 下载编译好的组件

下载地址: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


       2.1 安装绘图组件

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

2.2 安装Transfer

transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来。

cd $WORKSPACE /transfer/
mv cfg.example.json cfg.json

# 默认情况下(所有组件都在同一台服务器上),保持cfg.json不变即可

# cfg.json中的各配置项,可以参考 https://github.com/open-falcon/transfer/blob/master/README.md

# 如有必要,请酌情修改cfg.json

# 启动transfer

        ./control start

        # 校验服务,这里假定服务开启了6060的http监听端口。检验结果为ok表明服务正常启动。

        curl -s "http://127.0.0.1:6060/health"

        #查看日志

        ./control tail

        # 停止transfer

        ./control stop