您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

CentOS7分布式部署open-falcon0.3.0实践

时间:2020-05-07 15:38:04  来源:  作者:

单机部署环境搭建 参考 刘李404not found 的《Open-Falcon学习笔记(一)Open-Falcon v0.3.0环境搭建》

基于VMWare虚拟机环境搭建,centos7安装略

 

小米监控 open-falcon官方架构

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

根据官方文档,open-falcon后端组件应该都可以分开部署,根据架构图对组件简单分了下组,MySQL安装在有API组件的节点。

backend001 Api(MySQL)、Aggregator、Nodata 192.168.202.210

backend002 HBS 192.168.202.211

backend003 Transfer、Judge、Alarm、Gateway 192.168.202.212

backend004 Graph 192.168.202.213

frontend 192.168.202.214

首先安装backend001节点, 安装好centos7操作系统后,我一般会先克隆一下虚拟机,避免安装节点环境异常时,还要重新安装操作系统。

首先配置阿里YUM源、安装基本工具

root用户执行下面的指令:

yum install -y wget

&& mkdir -p /etc/yum.repos.d/repo_bak

&& mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak/

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

&& wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

&& yum install -y vim git net-tools lrzsz ntp unzip

&& yum makecache && yum clean all

下载挺慢的,我的网络一般般,还出错了

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

那就再执行一次,如果提示mv: overwrite '/etc/yum.repos.d/repo_bak/CentOS-Base.repo'?

就输入y回车就好了,

执行到出现下面的结果:

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

关闭防火墙、Selinux

# 关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

# 关闭Selinux

setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

配置时间同步

#关闭chrony服务

systemctl stop chronyd && systemctl disable chronyd

#设置NTP服务

vim /etc/ntp.conf

# 将原时钟服务器注释掉,

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

增加如下4个,

server 0.cn.pool.ntp.org

server 1.cn.pool.ntp.org

server 2.cn.pool.ntp.org

server 3.cn.pool.ntp.org

#启动时间同步服务器

systemctl start ntpd

&& systemctl enable ntpd

&& ntpdate -u 0.cn.pool.ntp.org

&& hwclock --systohc

&& date

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

安装go环境

yum install -y golang && go version

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

安装pip环境

wget

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

改时钟服务器的时候没退出etc目录,其实在/root下就行,不然etc有垃圾了

Python get-pip.py

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

安装redis

yum install -y redis

&& systemctl start redis

&& systemctl enable redis

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

backend001节点安装到这里后,克隆出 backend002、backend003、backend004、frontend 4个节点,其他节点无需安装mysql(mariadb)。

克隆后,记得改下各个节点的主机名和IP地址

改主机名 hostnamectl set-hostname XXXX

改IP /etc/sysconfig/network-scripts/下的ifcfg-ensxx

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

backend001节点继续安装

安装Mariadb

#yum安装mariadb

yum install -y mariadb mariadb-server

&& systemctl start mariadb

&& systemctl enable mariadb

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

#导入open-falcon数据库

mkdir -p /home/work/open-falcon

&& cd /home/work/open-falcon

&& git clone

#设置数据库密码

mariadb这点方便,不用去找root密码

mysqladmin -uroot password "你的密码"

#执行MySQL脚本

cd falcon-plus/scripts/mysql/db_schema/

mysql -h 127.0.0.1 -u root -p < 1*sql

mysql -h 127.0.0.1 -u root -p < 2*sql

mysql -h 127.0.0.1 -u root -p < 3*sql

mysql -h 127.0.0.1 -u root -p < 4*sql

mysql -h 127.0.0.1 -u root -p < 5*sql

每条都要输入一下刚才给root设置的密码

mysql -uroot –p

登录下数据库,看看创建的新库。

MariaDB [(none)]> show databases;

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

安装后端

#下载安装包

wget

tar -zxvf open-falcon_v0.3.tar.gz -C /home/work/open-falcon/

这个地址下载实在是慢到没朋友,去csdn用积分下了个 open-falcon-v0.3.x.tar.gz

#解压缩

tar -zxvf open*gz -C /home/work/open-falcon/

#修改配置文件

cd /home/work/open-falcon

配置文件路径如下:

模块 路径

aggregator ./aggregator/config/cfg.json

graph ./graph/config/cfg.json

hbs ./hbs/config/cfg.json

nodata ./nodata/config/cfg.json

api ./api/config/cfg.json

alarm ./alarm/config/cfg.json

#快捷修改脚本

sed -i 's#root:@tcp(127.0.0.1:3306)#root:你的密码@tcp(127.0.0.1:3306)#g' `find ./ -type f -name "cfg.json"|egrep "alarm|api|nodata|hbs|graph|aggregator"`

#查看是否修改成功

cat `find ./ -type f -name "cfg.json"|egrep "alarm|api|nodata|hbs|graph|aggregator"` |grep 'root: 你的密码@tcp(127.0.0.1:3306)'

#显示如下

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

启动

#使用脚本启动

./open-falcon start

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

#使用脚本检查

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

单机版运行OK

把/home/work/open-falcon 文件夹打包,然后拷贝到backend002、backend003、backend004 3个节点并解压到同样的目录下。

为了避免后续更改配置文件的时候混乱,我会把本节点不需要的组件文件夹从 /home/work/open-falcon 中移出, 但保留falcon-plus目录,public、plugin两个目录链接,open-falcon执行文件。

分布式部署,backend001 只启动 falcon-nodata,falcon-aggregator,falcon-api 三个组件。当然,agent也是每个节点都启动的。

backend001节点执行

./open-falcon start api aggregator nodata agent

分布式部署需要对配置文件做一些调整,挨个节点看一下配置文件,先看 backend001

backend001节点配置文件:

API组件的配置文件:

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

因为数据库和API在同一节点,所以ip就保留127.0.0.1就好了,把密码设好

我的graph组件在192.168.202.213那个节点,所以修改好。

Aggregator组件的配置文件:

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

Aggregator组件和数据库同一节点,ip保留127.0.0.1,数据库密码设好即可。

Nodata组件的配置文件

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

Nodata组件和数据库同一节点,ip保留,密码设好。 另外,transfer组件在节点192.168.202.212,IP修改好即可。

backend001节点配置完成。

backend002 节点配置文件。

心跳服务器只有一个hbs组件

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

只要更改数据库连接信息即可,数据库IP是backend001节点192.168.202.210,设好连接密码

backend002节点配置完成。

backend003节点配置文件。

Transfer组件的配置

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

因为graph节点在192.168.202.213,所以修改下ip即可,judge组件在本节点,所以无需修改。

Judge组件的配置文件

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

修改一下心跳服务器的IP即可。

Alarm组件的配置

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

修改一下前端IP和数据库连接信息

Gateway组件的配置信息

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

这个组件没修改配置文件

backend003节点配置完成。

backend004 节点配置文件。

只有一个组件graph,配置文件如下:

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

修改下数据库连接信息即可

backend004节点配置完成。

然后在不同节点,在/home/work/open-falcon 目录下 执行 ./open-falcon start 组件1 组件2 …,启动相关组件

./open-falcon check 来查看本节点组件的运行情况。

最后看一下agent组件的配置文件

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

配置好心跳服务器(hbs组件所在节点),transfer组件所在节点即可。

Ignore部分是不采集的metric配置。open-falcon缺省监控200多metric。

需要监控的linux服务器,只要把agent目录和open-falcon执行文件拷贝到目标服务器即可。

然后通过 open-falcon start agent 启动代理组件,完成指标的自动推送。

安装前端节点

#frontend节点继续安装前端需要的环境

#下载前端代码

mkdir - p /home/work/dashboard

cd /home/work/dashboard

git clone

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

#安装依赖包

cd /home/work/dashboard/dashboard

&& yum install -y python-virtualenv python-devel openldap-devel mysql-devel

&& yum groupinstall -y "Development tools"

&& virtualenv ./env

&& ./env/bin/pip install -r pip_requirements.txt -i

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

#修改配置

前端dashboard的配置文件是:

/home/work/dashboard/dashboard/rrd目录下 config.py

主要配置和API以及和数据库的连接,见划线部分

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

#启动前端

/home/work/dashboard/dashboard 目录下执行 ./control start启动前端

执行 ./control tail查看启动情况

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

 

登陆Web页面: 查看前端界面

第一次登录需要注册用户,登录后,可以看到加入监控的端点end point,选择端点后,点右边的搜索就可以查采集上来的metric

CentOS7分布式部署open-falcon0.3.0实践
 
 
 

点击 cpu.idle

CentOS7分布式部署open-falcon0.3.0实践
 
 
 


Tags:CentOS7   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  Tags: CentOS7  点击:(1)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  Tags: CentOS7  点击:(7)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  Tags: CentOS7  点击:(7)  评论:(0)  加入收藏
概述我们知道SQL Server是微软公司推出的重要的数据库产品,通常情况下只支持部署在windows平台上。不过令人感到兴奋的是,从SQL Server 2017开始支持 linux系统。此 SQL Serve...【详细内容】
2021-12-17  Tags: CentOS7  点击:(13)  评论:(0)  加入收藏
准备安装包(PHP: Hypertext Preprocessor)下载安装包以及组件wget https://www.php.net/distributions/php-8.0.0.tar.bz2wget https://github.com/phpredis/phpredis/archive...【详细内容】
2021-11-09  Tags: CentOS7  点击:(40)  评论:(0)  加入收藏
在上一篇 VMware 安装 Centos7 详细过程 (新建虚拟机) 文章中详细说明了VMware新建虚拟机的每一个步骤,这一篇文章将详细记录CentOS的每一步的安装。0x01 引导界面虚拟机已经...【详细内容】
2021-09-17  Tags: CentOS7  点击:(77)  评论:(0)  加入收藏
养成良好习惯,在安装前先更新一下软件包,多数软件包更新主要是修补漏洞。 更新 CentOS 软件包yum -y update虽然也是可以不进行更新直接安装。安装 OpenVPN 和...【详细内容】
2021-09-02  Tags: CentOS7  点击:(105)  评论:(0)  加入收藏
Redis的可视化客户端目前较流行的有两个:Redis Desktop Manager 、 Redis Client 。Redis Client ,网络上大部分都是windows,完善说上有linux的jar.又是FQ,下载,却提示32位的不...【详细内容】
2021-07-28  Tags: CentOS7  点击:(91)  评论:(0)  加入收藏
一、环境说明本文中使用本地VM虚机部署测试。OS:CentOS Linux release 7.8.2003 (Core)虚机配置:2核CPU、4G内存①系统为CentOS 7.8 x64最小化安装,部署前已完成系统初始化、...【详细内容】
2021-06-25  Tags: CentOS7  点击:(141)  评论:(0)  加入收藏
一、准备机器  1、准备四台机器,(minio集群最少四台)。192.168.223.132 minio-1192.168.223.133 minio-2192.168.223.134 minio-3192.168.223.135 minio-4  2、编辑hosts文...【详细内容】
2021-05-19  Tags: CentOS7  点击:(191)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条