虽然open-falcon是采用了前后端分离的架构,但是为了方便部署,服务端的后端与前端均部署在同一个虚拟机内,本记录是从centos刚刚装完后的初始环境开始部署,安装全程选择的用户为root。


一、环境准备

操作系统: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-releaseyum 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           53014falcon-judge         UP           53020falcon-transfer         UP           53026falcon-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-falconmkdir -p $FRONTSPACE

3.2 获取前端代码

cd $FRONTSPACEgit 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" -ycd $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

参考资料:

1.https://book.open-falcon.org/zh_0_2/quick_install/index.html

2.http://www.cnblogs.com/comexchan/p/5815869.html

3.http://www.jiloc.com/42528.html

4.http://www.cnblogs.com/lanblogs/p/6104834.html

转载于:https://www.cnblogs.com/gaoguangjun/p/8513112.html

centos 7 部署 open-falcon 0.2.0相关推荐

  1. centos mysql部署_CentOS下MySQL 8.0安装部署,超详细!

    MySQL 8正式版8.0.11已发布,官方表示MySQL8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!到底谁最牛呢?请看:MySQL 5.7 vs 8.0,哪个性能更牛? Mysq ...

  2. Centos containerd和kubernetes v 1.24.0部署

    containerd和kubernetes v 1.24.0 install method 1.24版本包含2项重要变更: 1,移除Dockershim 2,默认关闭各Beta APIs Centos ...

  3. Spark2.1.0 + CarbonData1.0.0集群模式部署及使用入门

    1 引言 Apache CarbonData是一个面向大数据平台的基于索引的列式数据格式,由华为大数据团队贡献给Apache社区,目前最新版本是1.0.0版.介于目前主流大数据组件应用场景的局限性,C ...

  4. 阿里云k8s一键部署有状态StatefulSet nacos2.0.3

    阿里云k8s一键部署有状态StatefulSet nacos2.0.3 项目目录 centos 配置连接集群 kubectl 客户端执行k8s脚本 kubectl 执行结果,一键生成StatefulS ...

  5. CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署

    CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署 by:授客 QQ:1033553122 目录 一.         实践环境... ...

  6. 关于K8s中Ansible AWX(awx-operator 0.30.0)平台Helm部署的一些笔记

    写在前面 整理一些K8s中通过Helm的方式部署AWX的笔记分享给小伙伴 博文内容为部署过程和遇到问题的解决过程 食用方式: 需要了解K8s 需要预置的K8s+Helm环境 需要科学上网 理解不足小伙 ...

  7. Apache Spark学习:将Spark部署到Hadoop 2.2.0上

    本文介绍的是如何将Apache Spark部署到Hadoop 2.2.0上,如果你们的Hadoop是其他版本,比如CDH4,可直接参考官方说明操作. 需要注意两点:(1)使用的Hadoop必须是2.0 ...

  8. vcenter6.0+EXSI6.0 部署虚拟机win10,安装vmtools后不能显示桌面

    vcenter6.0+EXSI6.0的环境,发现部署了一台win10虚拟机,安装vmtools后就显示不了桌面了.安装的vmtool版本是:9536 重新下载了版本:10346.安装后可正常显示 下载 ...

  9. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2

    说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...

  10. 如何在CentOS上设置MariaDB Galera Cluster 10.0

     原作者:Jijo 转载:https://www.unixmen.com/setup-mariadb-galera-cluster-10-0-centos/ 如何在CentOS上设置MariaDB G ...

最新文章

  1. 开发者都想收藏的深度学习脑图,我们抢先曝光了!
  2. vue中的keep-alive
  3. linux 的基本命令
  4. IBM连续两年大数据市场占有率全球第一
  5. notepad++节点_在C ++中删除链接列表的中间节点
  6. 网工视频13第13章.计算机系统开发运行与配置疑难问题
  7. JAVA的BIT数组
  8. 面试准备每日系列:计算机底层之并发编程(二)缓存行、一致性协议、伪共享、disruptor、CAS等待
  9. linux查看服务器mib,Linux MIB目录的打开和查看
  10. java 准备 解析_深入理解JAVA虚拟机学习笔记24——类加载的准备和解析
  11. PostgreSQL下载地址
  12. 理解服务器证书 CASSL
  13. 【调色台】达芬奇调色台系列
  14. FreeRTOS笔记篇:第七章 -- 资源管理(互斥锁、二进制信号量、死锁)
  15. 画廊效果的ViewPager实现(附带无限自动轮播)
  16. 神经网络、目标检测学习
  17. 2022年起重机司机(限桥式起重机)新版试题及起重机司机(限桥式起重机)作业考试题库
  18. Python 二维数据
  19. 时间序列分析中resample函数
  20. 用C/C++编程实现挖金子游戏「含项目源码」

热门文章

  1. 《JavaScript框架设计》——1.3 数组化
  2. Shiro 权限框架使用总结
  3. jQuery 插件开发实例(二)
  4. 关于delete和delete[]
  5. 30个 Web 设计者 必备的免费 PSD UI 工具包
  6. C++,那些可爱的小陷阱(一)
  7. android progressbar 不显示_Android多线程技术选型最全指南(1)
  8. linux 安装rpm no key,yum 安装报 关于Public key for *.rpm is not installed 的解决方法
  9. Git安装教程(Windows安装)
  10. JESD204B与LVDS接口并行 管线式ADC延迟问题分析及解答