教你如何在CentOS 6.5下部署Open-Falcon監控系統

注:本次安裝爲測試環境,使用CentOS 6.5的系統,所裝軟件均爲直接yum,若是線上部署,請使用公司提供的軟件版本。前端

一、介紹

監控系統是整個運維環節,乃至整個產品生命週期中最重要的一環,事前及時預警發現故障,過後提供翔實的數據用於追查定位問題。監控系統做爲一個成熟的運維產品,業界有不少開源的實現可供選擇。當公司剛剛起步,業務規模較小,運維團隊也剛剛創建的初期,選擇一款開源的監控系統,是一個省時省力,效率最高的方案。以後,隨着業務規模的持續快速增加,監控的對象也愈來愈多,愈來愈複雜,監控系統的使用對象也從最初少數的幾個SRE,擴大爲更多的DEVS,SRE。這時候,監控系統的容量和用戶的「使用效率」成了最爲突出的問題。python

亮點和功能mysql

強大靈活的數據採集:自動發現,支持falcon-agent、snmp、支持用戶主動push、用戶自定義插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags)
水平擴展能力:支持每一個週期上億次的數據採集、告警斷定、歷史數據存儲和查詢
高效率的告警策略管理:高效的portal、支持策略模板、模板繼承和覆蓋、多種告警方式、支持callback調用
人性化的告警設置:最大告警次數、告警級別、告警恢復通知、告警暫停、不一樣時段不一樣閾值、支持維護週期
高效率的graph組件:單機支撐200萬metric的上報、歸檔、存儲(週期爲1分鐘)
高效的歷史數據query組件:採用rrdtool的數據歸檔策略,秒級返回上百個metric一年的歷史數據
dashboard:多維度的數據展現,用戶自定義Screen
高可用:整個系統無核心單點,易運維,易部署,可水平擴展
開發語言: 整個系統的後端,所有golang編寫,portal和dashboard使用Python編寫linux

二、部署

Open-Falcon採用server-agent方式來實現監控。下面是具體的部署狀況:git

2.一、一體化部署後端

本次測試環境,進行單機部署,全部模塊都放在一臺主機上,若是有須要分佈式部署,請參考官方文檔https://book.open-falcon.org/zh_0_2/distributed_install/,分佈式只須要將模塊遷移到其它服務器,修改配置文件便可,十分簡單。github

2.1.一、環境準備golang

open-falcon的後端組件都是使用Go語言編寫的,因此咱們須要先安裝Go語言開發環境redis

yum install golang -y ##須要epel源
export GOROOT=/usr/lib/golang
export GOPATH=/home

安裝redissql

yum install -y redis1

安裝mysql並啓動數據庫

yum install -y mysql-server
/etc/init.d/mysqld start

##測試機是centos6的,其他系統自行更改啓動命令

初始化MySQL表結構

cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git
cd /tmp/falcon-plus/scripts/mysql/db_schema/
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
rm -rf /tmp/falcon-plus/

2.1.二、安裝

建立工做目錄

export FALCON_HOME=/home/work
export WORKSPACE=$FALCON_HOME/open-falcon
mkdir -p $WORKSPACE

下載編譯好的二進制包並解壓

wget https://github.com/open-falcon/falcon-plus/releases/download/v0.2.1/open-falcon-v0.2.1.tar.gz
tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE

2.1.三、配置文件

在啓動以前,須要修改各模塊的配置文件,保證數據庫的用戶名和密碼正確。下面是各個模塊的配置文件路徑。

aggregator   /home/work/aggregator/config/cfg.json
graph     /home/work/graph/config/cfg.json
hbs      /home/work/hbs/config/cfg.json
nodata    /home/work/nodata/config/cfg.json
api     /home/work/api/config/cfg.json
alarm    /home/work/alarm/config/cfg.json

2.1.四、啓動

cd $WORKSPACE
./open-falcon start

# 檢查全部模塊的啓動情況

./open-falcon check
falcon-graph UP 3020
falcon-hbs UP 3030
falcon-judge UP 3039
falcon-transfer UP 3045
falcon-nodata UP 3051
falcon-aggregator UP 3058
falcon-agent UP 3067
falcon-gateway UP 3073
falcon-api UP 3079
falcon-alarm UP 3092
2.二、部署前端

克隆前端組件代碼

cd $WORKSPACE
git clone https://github.com/open-falcon/dashboard.git12

安裝依賴包

yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"

安裝python依賴環境

#下載ez_setup.py

wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
python ez_setup.py --insecure

#下載pip

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz

#解壓並安裝

tar xf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install

#測試,查看版本

pip -V

#pip安裝軟件

cd /home/work/open-falcon/dashboard
pip install -r pip_requirements.txt

修改dashboard配置文件,修改數據庫的用戶名和密碼,保證dashboard能鏈接數據庫。

vim /home/work/open-falcon/dashboard/rrd/config.py

啓動

bash control start

訪問網站 http://IP:8081 ,剛登錄須要註冊用戶,註冊的第一個用戶名爲root的賬號會被認爲是超級管理員,超級管理員能夠設置其餘用戶爲管理員。

相關文章
相關標籤/搜索