centos 7 部署 open-falcon 0.2.0
===============================================
2019/4/29_第3次修改 ccb_warlock
更新说明:
2019/4/29:增加了“centos7 部署 open-falcon 0.2.1”的内容。
2017/12/06:由于open-falcon已有0.2.1,增加文字说明,避免命令一路执行下来出现问题(例如“2.2 解压二进制包”)。
===============================================
2019/4/29,我重新对open-falcon的部署进行了整理,更正了之前整理的不合理的描述,尽我的能力使部署的逻辑更加严谨且有条理。
centos7 部署 open-falcon 0.2.1:https://www.cnblogs.com/straycats/p/10787916.html
我也是因为工作需要刚刚接触linux,有些内容也是一知半解无法描述清楚,只能日后再进行补充。
官方和github上都有教程,但是对于我来说有的部署内容较为陌生,有点错误官方也未在教程中说明,故在此记录方便以后快速部署,本文部署的时间是2017/7/18。
虽然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-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
参考资料:
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
centos 7 部署 open-falcon 0.2.0的更多相关文章
- ceph hammer 0.94.10手动部署方法Ceph Hammer版(0.94.10)手动部署for CentOS 7.x
Ceph Hammer版(0.94.10)手动部署for CentOS 7.x --lin.wang 20190310 环境有三个节点node-1,node-2,node-3,每个节点三个ssd盘作为 ...
- docker中基于centos镜像部署lnmp环境 php7.3 mysql8.0 最新版
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上 ...
- 在CentOS上部署kubernetes1.9.0集群
原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...
- Centos 7 中 部署 asp.net core 3.0 + nginx + mongodb 的一些新手简单入门,非docker
目录 零.准备工作 一.部署Mongodb 1.安装Mongodb 2.创建mongodb的数据目录 3.设置目录权限 4.设置mongodb启动 5.修改mongodb的配置文件 6.启动Mongo ...
- _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- CentOS 7.1静默安装11.2.0.3 64位单机数据库软件
第1章 CentOS 7.1静默安装11.2.0.3 64位单机数据库软件 1.1 安装前的准备工作 1.1.1 软件准备 1.1.2 检查硬件 注意这里的内存应该满足要求,不然 ...
- CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署
CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. ...
- CentOS 7 源码安装 Zabbix 6.0
Zabbix 主要有以下几个组件组成: Zabbix Server:Zabbix 服务端,是 Zabbix 的核心组件.它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中. Zabbix ...
- CentOS 6 中安装Node.js 4.0 版本或以上
如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装: wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz t ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...
随机推荐
- 基于git的代码版本管理规范及流程-简版
基于git的简单实用的版本管理规范及流程,包括:代码库的分布.人员角色的划分.代码提交合并流程.代码冲突处理.分支管理. 代码库分类 根据代码库分布的位置及作用,分为以下几类: 主库:位于服务端,所有 ...
- 天梯赛 L3-013 非常弹的球 找规律
L3-013. 非常弹的球 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 俞勇(上海交通大学) 刚上高一的森森为了学好物理,买了一个 ...
- webMagic解析淘宝cookie 提示Invalid cookie header
webMagic解析淘宝cookie 提示Invalid cookie header 在使用webMagic框架做爬虫爬取淘宝极又家页面时候一直提醒cookie设置不可用如下图 淘宝的验证特别严重,c ...
- IP协议和网络传输中的封装与分用。
关于七层模型和四层模型可以参考这个:http://www.cnblogs.com/xcywt/p/5027277.html 因为四层模型用的比较多,这里只拿四层模型来分析. 1.四层模型中的最下层是链 ...
- Oracle的导入导出 DMP 文件
普通 导入: 将数据库完全导入,用户名userName 密码PassWord导入文件位置 E:\work\dmp\xxxxx.dmp (注意:导入的用户必须要跟导出时候的用户一致) imp userN ...
- 42.Linux应用调试-初步制作系统调用(用户态->内核态)
1首先来讲讲应用程序如何实现系统调用(用户态->内核态)? 我们以应用程序的write()函数为例: 1)首先用户态的write()函数会进入glibc库,里面会将write()转换为swi(S ...
- Python开发工具PyCharm个性化设置
Python开发工具PyCharm个性化设置,包括设置默认PyCharm解析器.设置缩进符为制表符.设置IDE皮肤主题等,大家参考使用吧 1.设置默认PyCharm解析器: 操作如下: Pyt ...
- cocos2d-x 托付模式的巧妙运用——附源代码(一)
先来说一下托付模式是什么.以下的内容摘要自维基百科: 托付模式是软件设计模式中的一项基本技巧.在托付模式中,有两个对象參与处理同一个请求.接受请求的对象将请求托付给还有一个对象来处理.托付模式是一项基 ...
- libmemcached的安装及測试
1.安装memcached ~$ wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz. $ tar xvzf lmemc ...
- xcode 6 改动组织及开发人员
搞个ios 开发死去活来的,各个地方说的都不一样,defaults write 不好用 在xcode6中 改动方法例如以下 改动create by __FULLUSERNAME___ 部分 Syste ...