单机部署环境搭建 参考 刘李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操作系统后,我一般会先克隆一下虚拟机,避免安装节点环境异常时,还要重新安装操作系统。
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回车就好了,
执行到出现下面的结果:
# 关闭防火墙
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
yum install -y golang && go version
wget
改时钟服务器的时候没退出etc目录,其实在/root下就行,不然etc有垃圾了
Python get-pip.py
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
#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
登录下数据库,看看创建的新库。
MariaDB [(none)]> show databases;
#下载安装包
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)'
#显示如下
启动
#使用脚本启动
./open-falcon start
#使用脚本检查
单机版运行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
API组件的配置文件:
因为数据库和API在同一节点,所以ip就保留127.0.0.1就好了,把密码设好
我的graph组件在192.168.202.213那个节点,所以修改好。
Aggregator组件的配置文件:
Aggregator组件和数据库同一节点,ip保留127.0.0.1,数据库密码设好即可。
Nodata组件的配置文件
Nodata组件和数据库同一节点,ip保留,密码设好。 另外,transfer组件在节点192.168.202.212,IP修改好即可。
backend001节点配置完成。
心跳服务器只有一个hbs组件
只要更改数据库连接信息即可,数据库IP是backend001节点192.168.202.210,设好连接密码
backend002节点配置完成。
Transfer组件的配置
因为graph节点在192.168.202.213,所以修改下ip即可,judge组件在本节点,所以无需修改。
Judge组件的配置文件
修改一下心跳服务器的IP即可。
Alarm组件的配置
修改一下前端IP和数据库连接信息
Gateway组件的配置信息
这个组件没修改配置文件
backend003节点配置完成。
只有一个组件graph,配置文件如下:
修改下数据库连接信息即可
backend004节点配置完成。
然后在不同节点,在/home/work/open-falcon 目录下 执行 ./open-falcon start 组件1 组件2 …,启动相关组件
./open-falcon check 来查看本节点组件的运行情况。
最后看一下agent组件的配置文件
配置好心跳服务器(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
#安装依赖包
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的配置文件是:
/home/work/dashboard/dashboard/rrd目录下 config.py
主要配置和API以及和数据库的连接,见划线部分
#启动前端
/home/work/dashboard/dashboard 目录下执行 ./control start启动前端
执行 ./control tail查看启动情况
第一次登录需要注册用户,登录后,可以看到加入监控的端点end point,选择端点后,点右边的搜索就可以查采集上来的metric
点击 cpu.idle