一、环境准备

操作系统:centos7(minimal,www.centos.org下载的包是CentOS-7-x86_64-Minimal-1611.iso)

1.1 更换阿里yum(个人习惯)

步骤:

1)下载wget

yum install -y wget

2)备份默认的yum

mv /etc/yum.repos.d /etc/yum.repos.d.backup

3)设置新的yum目录

mkdir /etc/yum.repos.d

4)下载阿里yum配置到该目录中

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

5)重建缓存

yum clean all
yum makecache

6)升级所有包(改变软件设置和系统设置,系统版本内核都升级,故需要几分钟耐心等待)

yum update -y

1.2 安装vim(个人习惯)

yum install -y vim

1.3 安装git

yum install -y git

安装结束后安全起见,确认是否满足官方要求的Git >= 1.7.5

git version

1.4 安装go语言环境(因为官方yum和阿里yum都没有go的安装包,故只能通过fedora的epel仓库来安装)

yum install -y epel-release
yum install golang -y

安装结束后安全起见,确认是否满足官方要求的Go >= 1.6

go version

1.5 安装redis

由于部署go时已经安装了epel,故直接执行下面的安装命令(如果没有装epel,会提示No package redis available,也就是没有安装包可用,因为官方yum和阿里yum都没有redis,故只能通过fedora的epel仓库来安装)

yum install redis -y

启动redis

systemctl start redis

设置redis开机启动

systemctl enable redis

可以用下面的语句查看redis是否开启

systemctl status redis

1.6 安装mysql

步骤:

1)下载repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2)安装该rpm包(安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo)

rpm -ivh mysql-community-release-el7-5.noarch.rpm

3)安装mysql

yum install mysql-server -y

4)启动mysql

systemctl start mysql

可以用下面的语句查看mysql是否开启

systemctl status mysql

1.7 设置环境变量GOROOT和GOPATH

export GOROOT=/usr/lib/golang
export GOPATH=/home

1.8 将open-falcon的源码从github上get下来

步骤:

1)创建GOPATH下的一个本地的路径

mkdir -p $GOPATH/src/github.com/open-falcon

2)进入该路径

cd $GOPATH/src/github.com/open-falcon

3)将源码get到本地

git clone https://github.com/open-falcon/falcon-plus.git

1.9 初始化数据库

cd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql

再运行“mysql -h..................”时会提示“Enter password”,如果mysql的root没有设置密码,回车即可。

1.10 编译源码并打包

步骤:

1)进入本地源码路径下

cd $GOPATH/src/github.com/open-falcon/falcon-plus/

2)使用go get获取rrdtool工具包(make过程卡壳的一个点)

go get github.com/open-falcon/rrdlite

这一步是官方教程没有提到的内容,如果不获取该工具包make的时候会报错。

3)编译所有模块

make all

4)打包

make pack

在$GOPATH/src/github.com/open-falcon/falcon-plus/目录下就多了刚才的压缩包“open-falcon-v0.2.0.tar.gz”。

1.11 官方提供的安装包

https://book.open-falcon.org/zh_0_2/quick_install/prepare.html中官方有提供编译包,如果编译过程不顺利可以直接下载编译包。


二、部署后端

2.1 创建工作目录

export WORKSPACE=/home/work
mkdir -p $WORKSPACE

2.2 解压二进制包(包名根据实际进行修改) 

由于我是根据本教程编译源码获得的压缩包,故需要切换到“$GOPATH/src/github.com/open-falcon/falcon-plus/”路径下。

包名由于make pack的时候就是open-falcon-v0.2.0.tar.gz,具体根据实际情况(17/12/6再部署时发现官方已有0.2.1)。

cd $GOPATH/src/github.com/open-falcon/falcon-plus/
tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE

2.3 修改配置文件cfg.json

猜测部分模块依赖连接数据库,因为如果不修改配置文件,aggregator模块会出现无法启动,graph、hbs、nodata、api、alarm模块会出现开启不报错但是状态为开启失败的情况。(个人认为这块的设计值得作为open-falcon优化的一个点,连接本机mysql如果失败是可以收到错误提示的,第一时间有报错提示总比什么都不显示或显示开启但实际开启失败强,如果别人服务都不知道怎么开起来,系统功能再强大有多少人硬着头皮部署下去而不是选择换个系统试试呢)

如果需要每个模块都能正常启动,需要将上面模块的cfg.json的数据库信息进行修改。根据本教程的配置,需要修改配置文件所在的目录:

模块 配置文件所在路径
aggregator    /home/work/aggregator/config/cfg.json
graph /home/work/graph/config/cfg.json
hbs /home/work/hbs/config/cfg.json
nodata /home/work/nodata/config/cfg.json
api /home/work/api/config/cfg.json
alarm /home/work/alarm/config/cfg.json

1)修改aggregator的配置文件

vim /home/work/aggregator/config/cfg.json

mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。

2)修改graph的配置文件

vim /home/work/graph/config/cfg.json

mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。

3)修改hbs的配置文件

vim /home/work/hbs/config/cfg.json

mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。

4)修改nodata的配置文件

vim /home/work/nodata/config/cfg.json

mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。

5)修改api的配置文件

vim /home/work/api/config/cfg.json

mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。

6)修改alarm的配置文件

vim /home/work/alarm/config/cfg.json

mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。

2.4 启动后端模块

cd $WORKSPACE
./open-falcon start

可以用下面的命令检查各个模块的启动情况

./open-falcon check

更多命令的用法(命令的例子是启动agent模块)

# ./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 For debugging , You can check $WorkDir/$moduleName/log/logs/xxx.log

三、部署前端

3.1 创建工作目录

export FRONTSPACE=/home/front/open-falcon
mkdir -p $FRONTSPACE

3.2 获取前端代码

cd $FRONTSPACE
git clone https://github.com/open-falcon/dashboard.git
 

3.3 安装依赖包

yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools" -y cd $FRONTSPACE/dashboard/
virtualenv ./env ./env/bin/pip install -r pip_requirements.txt

3.4 修改配置

根据本次记录的配置,dashboard的配置文件在/home/front/open-falcon/dashboard/rrd/config.py,需要根据实际情况对内部配置进行修改。

由于前端后台搭在一台虚拟机里,且暂时不接入LDAP,且数据库root的密码为空,故先不修改配置文件。

 

3.5 开启8081端口

1)防火墙添加8081端口永久开放

firewall-cmd --add-port=8081/tcp --permanent

2)重新载入防火墙配置

firewall-cmd --reload

3.6 在生产环境启动

bash control start

由于虚拟机ip配置为192.168.3.1,故在浏览器中输入192.168.3.1:8081后跳转。

3.7 以开发者模式启动 

./env/bin/python wsgi.py

openfalcon的更多相关文章

  1. open-falcon 安装

    openfalcon 规划 拓扑图 transfer 配置文件 [root@openfalcon_transfer1 transfer]# cat cfg.json { "debug&quo ...

  2. Open-Falcon 监控系统监控 MySQL/Redis/MongoDB 状态监控

    背景: Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案,具体的安装和使用说明请见官网:http://open-falcon.org/,是一款比较全的监控.而且提供各种API ...

  3. Open-Falcon第七步安装报警模块(小米开源互联网企业级监控系统)

    sender调用各个公司提供的mail-provider和sms-provider,按照某个并发度,从redis中读取邮件.短信并发送,alarm生成的报警短信和报警邮件都是直接写入redis即可,s ...

  4. Open-Falcon第六步安装Dashboard(小米开源互联网企业级监控系统)

    安装Dashboard dashboard是面向用户的查询界面,在这里,用户可以看到push到graph中的所有数据,并查看其趋势图. yum install -y python-virtualenv ...

  5. Open-Falcon第五步安装Query(小米开源互联网企业级监控系统)

    安装Query query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户. cd /usr/local/open-falc ...

  6. Open-Falcon第四步安装Graph(小米开源互联网企业级监控系统)

    安装Graph graph组件是存储绘图数据.历史数据的组件.transfer会把接收到的数据,转发给graph. cd /usr/local/open-falcon/graph mv cfg.exa ...

  7. Open-Falcon第三步安装Agent (小米开源互联网企业级监控系统)

    安装Agent 每台机器上,都需要部署agent,agent会自动采集预先定义的各种采集项,每隔60秒,push到transfer. cd $WORKSPACE/agent/ mv cfg.examp ...

  8. Open-Falcon第二步安装绘图组件Transfer(小米开源互联网企业级监控系统)

    ----安装绘图组件---- 安装Transfer transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来. cd /usr/local/open-falc ...

  9. Open-Falcon第一步环境准备(小米开源互联网企业级监控系统)

    1.环境安装 本文采取rpm安装方式,大家也可以用源码包安装. wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release- ...

  10. 三大开源运维监控工具zabbix、nagios、open-falcon优缺点比较

    借鉴一下别人的,自己做个记录,我觉得推荐还是使用open-falcon,最重要的一点是有完善的中文帮助文档. 帮助文档地址:https://book.open-falcon.org/zh/index. ...

随机推荐

  1. Frogger POJ - 2253

    题意 给你n个点,1为起点,2为终点,要求所有1到2所有路径中每条路径上最大值的最小值. 思路 不想打最短路 跑一边最小生成树,再扫一遍1到2的路径,取最大值即可 注意g++要用%f输出!!! 常数巨 ...

  2. java设计模式-----11、代理模式

    Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问. 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代 ...

  3. (1)Deep Learning之感知器

    What is deep learning? 在人工智能领域,有一个方法叫机器学习.在机器学习这个方法里,有一类算法叫神经网络.神经网络如下图所示: 上图中每个圆圈都是一个神经元,每条线表示神经元之间 ...

  4. 3分钟anaconda安装Python框架Tensorflow,1行语句测试是否成功?

    Anaconda是一个用于科学计算的ython发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切换以及各种第三方包安装问 ...

  5. Oracle闪回恢复

    Oracle的闪回功能包括 1.闪回数据库(前提 归档模式下 启用闪回数据库) mount 下 alter database archivelog; alter database flashback ...

  6. NancyFX 第十章 身份验证

    如果你在采用某个Web框架来构建一个公共使用的Web服务,你可能需要对谁能访问上述的服务进行某种方式的控制. 它可能很简单,只需要在调用API时在HTTP头信息中加入一个验证字段,或者需要构建一个完善 ...

  7. JDK1.8源码(二)——java.lang.Integer 类

    上一篇博客我们介绍了 java.lang 包下的 Object 类,那么本篇博客接着介绍该包下的另一个类 Integer.在前面 浅谈 Integer 类 博客中我们主要介绍了 Integer 类 和 ...

  8. Linux设备驱动框架设计

    引子 Linux操作系统的一大优势就是支持数以万计的芯片设备,大大小小的芯片厂商工程师都在积极地向Linux kernel提交设备驱动代码.能让这个目标得以实现,这背后隐藏着一个看不见的技术优势:Li ...

  9. Cesium polygon中的height和extrudedHeight的区别

    1.height参数:  多边形和椭球表面之间的距离(以米为单位). 2.extrudedHeight参数:  多边形的挤压面与椭球面之间的距离(以米为单位).

  10. 《Linux命令行与shell脚本编程大全》- 读书笔记2 - 更多的bash shell命令

    更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户 ...