CentOS 7单机部署Open-Falcon监控

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介:

   对于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
相关文章
|
2月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
135 0
|
2月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
265 80
|
4月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
1月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
166 0
虚拟机centos7.9一键部署docker
|
2月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
404 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
2月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
120 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
3月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
82 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
2月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
116 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
3月前
|
Linux 数据安全/隐私保护 网络虚拟化
centos7部署Pritunl
centos7部署Pritunl
|
3月前
|
Linux 数据安全/隐私保护 虚拟化
centos7部署openVPN
centos7部署openVPN