By:果然有点醉
单机部署环境搭建 参考 刘李404not found 的《Open-Falcon学习笔记(一)Open-Falcon v0.3.0环境搭建》基于VMWare虚拟机环境搭建,centos7安装略
小米监控 open-falcon官方架构图
根据官方文档,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
下载挺慢的,我的网络一般般,还出错了
那就再执行一次,如果提示mv: overwrite '/etc/yum.repos.d/repo_bak/CentOS-Base.repo'?
就输入y回车就好了,
执行到出现下面的结果:
关闭防火墙、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
安装go环境
yum install -y golang && go version
安装pip环境
wget
改时钟服务器的时候没退出etc目录,其实在/root下就行,不然etc有垃圾了
python get-pip.py
安装Redis
yum install -y redis
&& systemctl start redis
&& systemctl enable redis
backend001节点安装到这里后,克隆出 backend002、backend003、backend004、frontend 4个节点,其他节点无需安装mysql(mariadb)。
克隆后,记得改下各个节点的主机名和IP地址
改主机名 hostnamectl set-hostname XXXX
改IP /etc/sysconfig/network-scripts/下的ifcfg-ensxx
backend001节点继续安装安装Mariadb
#yum安装mariadb
yum install -y mariadb mariadb-server
&& systemctl start mariadb
&& systemctl enable mariadb
#导入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
登录下数据库&#xff0c;看看创建的新库。
MariaDB [(none)]> show databases;
安装后端
#下载安装包
wget
tar -zxvf open-falcon_v0.3.tar.gz -C /home/work/open-falcon/
这个地址下载实在是慢到没朋友&#xff0c;去csdn用积分下了个 open-falcon-v0.3.x.tar.gz
#解压缩
tar -zxvf open*gz -C /home/work/open-falcon/
#修改配置文件
cd /home/work/open-falcon
配置文件路径如下&#xff1a;
模块 路径
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 &#39;s#root:&#64;tcp(127.0.0.1:3306)#root:你的密码&#64;tcp(127.0.0.1:3306)#g&#39; &#96;find ./ -type f -name "cfg.json"|egrep "alarm|api|nodata|hbs|graph|aggregator"&#96;
#查看是否修改成功
cat &#96;find ./ -type f -name "cfg.json"|egrep "alarm|api|nodata|hbs|graph|aggregator"&#96; |grep &#39;root: 你的密码&#64;tcp(127.0.0.1:3306)&#39;
#显示如下
启动
#使用脚本启动
./open-falcon start
#使用脚本检查
单机版运行OK
把/home/work/open-falcon 文件夹打包&#xff0c;然后拷贝到backend002、backend003、backend004 3个节点并解压到同样的目录下。
为了避免后续更改配置文件的时候混乱&#xff0c;我会把本节点不需要的组件文件夹从 /home/work/open-falcon 中移出&#xff0c; 但保留falcon-plus目录&#xff0c;public、plugin两个目录链接&#xff0c;open-falcon执行文件。
分布式部署&#xff0c;backend001 只启动 falcon-nodata&#xff0c;falcon-aggregator,falcon-api 三个组件。当然&#xff0c;agent也是每个节点都启动的。
backend001节点执行
./open-falcon start api aggregator nodata agent
分布式部署需要对配置文件做一些调整&#xff0c;挨个节点看一下配置文件&#xff0c;先看 backend001
backend001节点配置文件&#xff1a;
API组件的配置文件&#xff1a;
因为数据库和API在同一节点&#xff0c;所以ip就保留127.0.0.1就好了&#xff0c;把密码设好
我的graph组件在192.168.202.213那个节点&#xff0c;所以修改好。
Aggregator组件的配置文件&#xff1a;
Aggregator组件和数据库同一节点&#xff0c;ip保留127.0.0.1&#xff0c;数据库密码设好即可。
Nodata组件的配置文件
Nodata组件和数据库同一节点&#xff0c;ip保留&#xff0c;密码设好。 另外&#xff0c;transfer组件在节点192.168.202.212&#xff0c;IP修改好即可。
backend001节点配置完成。
backend002 节点配置文件。
心跳服务器只有一个hbs组件
只要更改数据库连接信息即可&#xff0c;数据库IP是backend001节点192.168.202.210,设好连接密码
backend002节点配置完成。
backend003节点配置文件。
Transfer组件的配置
因为graph节点在192.168.202.213&#xff0c;所以修改下ip即可&#xff0c;judge组件在本节点&#xff0c;所以无需修改。
Judge组件的配置文件
修改一下心跳服务器的IP即可。
Alarm组件的配置
修改一下前端IP和数据库连接信息
Gateway组件的配置信息
这个组件没修改配置文件
backend003节点配置完成。
backend004 节点配置文件。
只有一个组件graph&#xff0c;配置文件如下&#xff1a;
修改下数据库连接信息即可
backend004节点配置完成。
然后在不同节点&#xff0c;在/home/work/open-falcon 目录下 执行 ./open-falcon start 组件1 组件2 …,启动相关组件
./open-falcon check 来查看本节点组件的运行情况。
最后看一下agent组件的配置文件
配置好心跳服务器(hbs组件所在节点)&#xff0c;transfer组件所在节点即可。
Ignore部分是不采集的metric配置。open-falcon缺省监控200多metric。
需要监控的linux服务器&#xff0c;只要把agent目录和open-falcon执行文件拷贝到目标服务器即可。
然后通过 open-falcon start agent 启动代理组件&#xff0c;完成指标的自动推送。
安装前端节点
#frontend节点继续安装前端需要的环境
#下载前端代码
mkdir - p /home/work/dashboard
cd /home/work/dashboard
git clone
#安装依赖包
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
#修改配置
前端dashboard的配置文件是&#xff1a;
/home/work/dashboard/dashboard/rrd目录下 config.py
主要配置和API以及和数据库的连接&#xff0c;见划线部分
#启动前端
/home/work/dashboard/dashboard 目录下执行 ./control start启动前端
执行 ./control tail查看启动情况
登陆Web页面&#xff1a; 查看前端界面
第一次登录需要注册用户&#xff0c;登录后&#xff0c;可以看到加入监控的端点end point&#xff0c;选择端点后&#xff0c;点右边的搜索就可以查采集上来的metric
点击 cpu.idle