單機(jī)部署環(huán)境搭建 參考 劉李404not found 的《Open-Falcon學(xué)習(xí)筆記(一)Open-Falcon v0.3.0環(huán)境搭建》
基于VMWare虛擬機(jī)環(huán)境搭建,centos7安裝略
小米監(jiān)控 open-falcon官方架構(gòu)圖
根據(jù)官方文檔,open-falcon后端組件應(yīng)該都可以分開部署,根據(jù)架構(gòu)圖對組件簡單分了下組,MySQL安裝在有API組件的節(jié)點(diǎn)。
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節(jié)點(diǎn), 安裝好centos7操作系統(tǒng)后,我一般會先克隆一下虛擬機(jī),避免安裝節(jié)點(diǎn)環(huán)境異常時(shí),還要重新安裝操作系統(tǒng)。
首先配置阿里YUM源、安裝基本工具
root用戶執(zhí)行下面的指令:
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
下載挺慢的,我的網(wǎng)絡(luò)一般般,還出錯(cuò)了
那就再執(zhí)行一次,如果提示mv: overwrite '/etc/yum.repos.d/repo_bak/CentOS-Base.repo'?
就輸入y回車就好了,
執(zhí)行到出現(xiàn)下面的結(jié)果:
關(guān)閉防火墻、Selinux
# 關(guān)閉防火墻
systemctl stop firewalld && systemctl disable firewalld
# 關(guān)閉Selinux
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
配置時(shí)間同步
#關(guān)閉chrony服務(wù)
systemctl stop chronyd && systemctl disable chronyd
#設(shè)置NTP服務(wù)
vim /etc/ntp.conf
# 將原時(shí)鐘服務(wù)器注釋掉,
#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個(gè),
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
#啟動時(shí)間同步服務(wù)器
systemctl start ntpd
&& systemctl enable ntpd
&& ntpdate -u 0.cn.pool.ntp.org
&& hwclock --systohc
&& date
安裝go環(huán)境
yum install -y golang && go version
安裝pip環(huán)境
wget
改時(shí)鐘服務(wù)器的時(shí)候沒退出etc目錄,其實(shí)在/root下就行,不然etc有垃圾了
Python get-pip.py
安裝redis
yum install -y redis
&& systemctl start redis
&& systemctl enable redis
backend001節(jié)點(diǎn)安裝到這里后,克隆出 backend002、backend003、backend004、frontend 4個(gè)節(jié)點(diǎn),其他節(jié)點(diǎn)無需安裝mysql(mariadb)。
克隆后,記得改下各個(gè)節(jié)點(diǎn)的主機(jī)名和IP地址
改主機(jī)名 hostnamectl set-hostname XXXX
改IP /etc/sysconfig/network-scripts/下的ifcfg-ensxx
backend001節(jié)點(diǎn)繼續(xù)安裝
安裝Mariadb
#yum安裝mariadb
yum install -y mariadb mariadb-server
&& systemctl start mariadb
&& systemctl enable mariadb
#導(dǎo)入open-falcon數(shù)據(jù)庫
mkdir -p /home/work/open-falcon
&& cd /home/work/open-falcon
&& git clone
#設(shè)置數(shù)據(jù)庫密碼
mariadb這點(diǎn)方便,不用去找root密碼
mysqladmin -uroot password "你的密碼"
#執(zhí)行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設(shè)置的密碼
mysql -uroot –p
登錄下數(shù)據(jù)庫,看看創(chuàng)建的新庫。
MariaDB [(none)]> show databases;
安裝后端
#下載安裝包
wget
tar -zxvf open-falcon_v0.3.tar.gz -C /home/work/open-falcon/
這個(gè)地址下載實(shí)在是慢到?jīng)]朋友,去csdn用積分下了個(gè) 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
#使用腳本檢查
單機(jī)版運(yùn)行OK
把/home/work/open-falcon 文件夾打包,然后拷貝到backend002、backend003、backend004 3個(gè)節(jié)點(diǎn)并解壓到同樣的目錄下。
為了避免后續(xù)更改配置文件的時(shí)候混亂,我會把本節(jié)點(diǎn)不需要的組件文件夾從 /home/work/open-falcon 中移出, 但保留falcon-plus目錄,public、plugin兩個(gè)目錄鏈接,open-falcon執(zhí)行文件。
分布式部署,backend001 只啟動 falcon-nodata,falcon-aggregator,falcon-api 三個(gè)組件。當(dāng)然,agent也是每個(gè)節(jié)點(diǎn)都啟動的。
backend001節(jié)點(diǎn)執(zhí)行
./open-falcon start api aggregator nodata agent
分布式部署需要對配置文件做一些調(diào)整,挨個(gè)節(jié)點(diǎn)看一下配置文件,先看 backend001
backend001節(jié)點(diǎn)配置文件:
API組件的配置文件:
因?yàn)閿?shù)據(jù)庫和API在同一節(jié)點(diǎn),所以ip就保留127.0.0.1就好了,把密碼設(shè)好
我的graph組件在192.168.202.213那個(gè)節(jié)點(diǎn),所以修改好。
Aggregator組件的配置文件:
Aggregator組件和數(shù)據(jù)庫同一節(jié)點(diǎn),ip保留127.0.0.1,數(shù)據(jù)庫密碼設(shè)好即可。
Nodata組件的配置文件
Nodata組件和數(shù)據(jù)庫同一節(jié)點(diǎn),ip保留,密碼設(shè)好。 另外,transfer組件在節(jié)點(diǎn)192.168.202.212,IP修改好即可。
backend001節(jié)點(diǎn)配置完成。
backend002 節(jié)點(diǎn)配置文件。
心跳服務(wù)器只有一個(gè)hbs組件
只要更改數(shù)據(jù)庫連接信息即可,數(shù)據(jù)庫IP是backend001節(jié)點(diǎn)192.168.202.210,設(shè)好連接密碼
backend002節(jié)點(diǎn)配置完成。
backend003節(jié)點(diǎn)配置文件。
Transfer組件的配置
因?yàn)間raph節(jié)點(diǎn)在192.168.202.213,所以修改下ip即可,judge組件在本節(jié)點(diǎn),所以無需修改。
Judge組件的配置文件
修改一下心跳服務(wù)器的IP即可。
Alarm組件的配置
修改一下前端IP和數(shù)據(jù)庫連接信息
Gateway組件的配置信息
這個(gè)組件沒修改配置文件
backend003節(jié)點(diǎn)配置完成。
backend004 節(jié)點(diǎn)配置文件。
只有一個(gè)組件graph,配置文件如下:
修改下數(shù)據(jù)庫連接信息即可
backend004節(jié)點(diǎn)配置完成。
然后在不同節(jié)點(diǎn),在/home/work/open-falcon 目錄下 執(zhí)行 ./open-falcon start 組件1 組件2 …,啟動相關(guān)組件
./open-falcon check 來查看本節(jié)點(diǎn)組件的運(yùn)行情況。
最后看一下agent組件的配置文件
配置好心跳服務(wù)器(hbs組件所在節(jié)點(diǎn)),transfer組件所在節(jié)點(diǎn)即可。
Ignore部分是不采集的metric配置。open-falcon缺省監(jiān)控200多metric。
需要監(jiān)控的linux服務(wù)器,只要把a(bǔ)gent目錄和open-falcon執(zhí)行文件拷貝到目標(biāo)服務(wù)器即可。
然后通過 open-falcon start agent 啟動代理組件,完成指標(biāo)的自動推送。
安裝前端節(jié)點(diǎn)
#frontend節(jié)點(diǎn)繼續(xù)安裝前端需要的環(huán)境
#下載前端代碼
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以及和數(shù)據(jù)庫的連接,見劃線部分
#啟動前端
/home/work/dashboard/dashboard 目錄下執(zhí)行 ./control start啟動前端
執(zhí)行 ./control tail查看啟動情況
登陸Web頁面: 查看前端界面
第一次登錄需要注冊用戶,登錄后,可以看到加入監(jiān)控的端點(diǎn)end point,選擇端點(diǎn)后,點(diǎn)右邊的搜索就可以查采集上來的metric
點(diǎn)擊 cpu.idle