CentOS 7单机部署Open-Falcon监控

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

   对于Open-Falcon 系统的部署,研究了一段时间才部署成功,文档主要部署的为v0.2.1版本,参考官网文档。

关于该监控系统的部署分为三个部分,一、环境准备;二、启动后端;三、安装前段。

一、环境准备

    首先将服务器内部防火墙关闭,并关机开机启动,并关闭selinux,此处不在赘述。

1.1 安装wgetvim软件(个人习惯使用vim编辑文件)

1
yum  install  -y wget vim

1.2 安装git

1
yum  install  -y git

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

1
git version

图片.png

1.3 安装go语言环境(因为yum源中没有go的安装包,故通过fedoraepel仓库来安装)

1
2
yum  install  -y epel-release
yum  install  golang -y

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

1
go version

图片.png

1.4 安装redis(通过yum安装即可)

1
yum  install  redis -y

启动redis

1
systemctl start redis

设置redis开机启动 

1
systemctl  enable  redis

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

1
systemctl status redis

1.5 安装MySQL

 步骤

 1) 下载repo源

1
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

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

    3)安装mysql

1
yum  install  mysql-server -y
1
systemctl start mysql

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

1
systemctl status mysql

1.6 设置环境变量GOROOT和GOPATH

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

1.7 open-falcon的源码从githubget下来

      步骤:

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

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

      2)进入该路径

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

      3)将源码get到本地

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

1.8 初始化数据库

1
cd  $GOPATH /src/github .com /open-falcon/falcon-plus/scripts/mysql/db_schema/

1
2
3
4
5
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.9 编译源码并打包

       步骤:

       1)进入本地源码路径下

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

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

1
go get github.com /open-falcon/rrdlite

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

图片.png

     3)编译所有模块

1
make  all

       4)打包

1
make  pack


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

 图片.png

二、启动后端

2.1 创建工作目录

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

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

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

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

2.3 修改配置文件cfg.json

我这里的MySQL密码都为空,如果密码不为空,在root后面加上密码

1)修改aggregator的配置文件

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

图片.png 

2)修改graph的配置文件

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

图片.png 

3)修改hbs的配置文件

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

图片.png

4)修改nodata的配置文件

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

图片.png 

5)修改api的配置文件

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

图片.png 

6)修改alarm的配置文件

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


图片.png 

 

2.4 启动后端模块

1
2
cd  $WORKSPACE
. /open-falcon  start

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

1
. /open-falcon  check

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

1
2
3
4
5
6
7
8
9
10
11
12
13
# ./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 创建工作目录

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

3.2 获取前端代码

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

3.3 安装依赖包

1
2
3
4
5
6
7
8
9
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 在生产环境启动

1
bash  control start

图片.png

3.6 以开发者模式启动 

1
. / env / bin / python wsgi.py

四、登陆测试通过公网IP

通过公网IP及8081端口进行登陆测试。

图片.png


图片.png


dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
超级管理员可以给普通用户分配权限管理。

小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可。

五、遇到的问题

5.1 遇到不能启动dashboard问题,

图片.png

提示没有gunicorn,故停止。

针对此问题需要先安装pip

图片.png

图片.png

安装pip后使用pip安装gunicorn

1
# pip install gunicorn

图片.png

5.2 启动dashboard遇到

图片.png

此时在重新执行

1
  virtualenv . /env   再启动即可

图片.png


本文转自 Bill_Xing 51CTO博客,原文链接:http://blog.51cto.com/zhanx/2059434

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
Linux
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
226 0
|
4月前
|
人工智能 JavaScript Linux
Nuxt.js在centos7上的发布部署
Nuxt.js在centos7上的发布部署
Nuxt.js在centos7上的发布部署
|
2月前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
43 0
|
3月前
|
监控 安全 Linux
CentOS7下部署ARL资产侦察灯塔系统
CentOS7下部署ARL资产侦察灯塔系统
172 3
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
100 1
|
2月前
|
存储 NoSQL Linux
centos7部署redis以及多实例
centos7部署redis以及多实例
55 0
|
10天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
16天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
29 0
|
16天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
16 0
|
27天前
|
Linux Shell 开发工具
CentOS8中Docker安装及部署
CentOS8中Docker安装及部署
77 0

热门文章

最新文章