1. 程式人生 > >CentOS 6.5下Open-Falcon監控系統的部署

CentOS 6.5下Open-Falcon監控系統的部署

Open-Falcon監控系統部署文件

1、介紹

監控系統是整個運維環節,乃至整個產品生命週期中最重要的一環,事前及時預警發現故障,事後提供翔實的資料用於追查定位問題。監控系統作為一個成熟的運維產品,業界有很多開源的實現可供選擇。當公司剛剛起步,業務規模較小,運維團隊也剛剛建立的初期,選擇一款開源的監控系統,是一個省時省力,效率最高的方案。之後,隨著業務規模的持續快速增長,監控的物件也越來越多,越來越複雜,監控系統的使用物件也從最初少數的幾個SRE,擴大為更多的DEVS,SRE。這時候,監控系統的容量和使用者的“使用效率”成了最為突出的問題。

亮點和功能

  • 強大靈活的資料採集:自動發現,支援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使用編寫

2、部署

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

2.1、一體化部署後端

本次測試環境,進行單機部署,所有模組都放在一臺主機上,如果有需要分散式部署,請參考官方文件https://book.open-falcon.org/zh_0_2/distributed_install/,分散式只需要將模組遷移到其它伺服器,修改配置檔案即可,十分簡單。

2.1.1、環境準備

open-falcon的後端元件都是使用Go語言編寫的,所以我們需要先安裝Go語言開發環境

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

安裝redis

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.2、安裝

建立工作目錄

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.3、配置檔案

在啟動之前,需要修改各模組的配置檔案,保證資料庫的使用者名稱和密碼正確。下面是各個模組的配置檔案路徑。

  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.4、啟動

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.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的帳號會被認為是超級管理員,超級管理員可以設定其他使用者為管理員。