open-falcon小米監控安裝部署
一、部署前的準備
設定環境變數
export WORKSPACE=/home/work/open-falcon
- 1
redis安裝 - yum安裝或原始碼安裝
- yum安裝
yum install redis-cli redis-server
- 2
- 原始碼安裝
tar zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make && make install
- 1
- 2
- 3
安裝完之後,將原始碼目錄下的redis.conf拷貝到/etc目錄,並且修改,最後啟動redis-server。
redis-server /etc/redis.conf
- 4
MySql安裝
yum install mysql mysql-server php-mysql.x86_64
- 5
初始化Mysql指令碼
git clone https://github.com/open-falcon/scripts.git
cd scripts
mysql -uroot -pxxx < db_schema/dashboard-db-schema.sql
mysql -uroot -pxxx < db_schema/graph-db-schema.sql
mysql -uroot -pxxx < db_schema/links-db -schema.sql
mysql -uroot -pxxx < db_schema/portal-db-schema.sql
mysql -uroot -pxxx < db_schema/uic-db-schema.sql
/* mysql如果有密碼,需要指定密碼.*/
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
下載open-falcon
直接使用官方編譯好的二進位制包, [地址](http://pan.baidu.com/s/1eR1cNj8)
DOWNLOAD="https://github.com/open-falcon/of-release/releases/download/v0.1.0/open-falcon-v0.1.0.tar.gz"
cd $WORKSPACE
mkdir ./tmp
#下載
wget $DOWNLOAD -O open-falcon-latest.tar.gz
#解壓
tar -zxf open-falcon-latest.tar.gz -C ./tmp/
for x in `find ./tmp/ -name "*.tar.gz"`;do \
app=`echo $x|cut -d '-' -f2`; \
mkdir -p $app; \
tar -zxf $x -C $app; \
done
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
安裝GoLang環境
如果不是原始碼編譯安裝,可以不裝golang環境。
二、安裝部署-繪圖相關元件
1、安裝agent
每臺機器上,都需要部署agent,agent會自動採集預先定義的各種採集項,每隔60秒,push到transfer。
cd agent
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
/* 椒鹽服務, 這裡假定服務開啟了1988的http監聽埠。 在瀏覽器中開啟下面的頁面 */
goto --> http://127.0.0.1:1988
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2、安裝hbs
心跳伺服器,公司所有agent都會連到HBS,每分鐘發一次心跳請求。
cd hbs
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
- 1
- 2
- 3
- 4
- 5
3、安裝transfer
transfer預設監聽在:8433埠上,agent會通過jsonrpc的方式來push資料上來。
cd transfer
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
/* 校驗服務,這裡假定服務開啟了6060的http監聽埠。檢驗結果為ok表明服務正常啟動。 */
curl -s http://127.0.0.1:6060/health
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
4、安裝graph
graph元件是儲存繪圖資料、歷史資料的元件。transfer會把接收到的資料,轉發給graph。
cd graph
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
/* 校驗服務,這裡假定服務開啟了預設6071的http監聽埠。檢驗結果為ok表明服務正常啟動。 */
curl -s http://127.0.0.1:6071/health
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
5、安裝query
query元件,繪圖資料的查詢介面,query元件收到使用者的查詢請求後,會從後端的多個graph,查詢相應的資料,聚合後,再返回給使用者。
cd query
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
- 1
- 2
- 3
- 4
- 5
6、安裝 dashboard
dashboard是面向使用者的查詢介面,在這裡,使用者可以看到push到graph中的所有資料,並檢視其趨勢圖。
這裡需要安裝兩個軟體, pip 和virtualenv 。 如果軟體倉庫裡面有,直接用yum安裝,否則需要用原始碼來安裝。
下面介紹用原始碼來安裝 pip 和 virtualenv。
安裝過程如下:
wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
tar zxvf 1.5.5.tar.gz
cd pip-1.5.5
python ./setup.py install
- 1
- 2
- 3
- 4
pip安裝virtualenv
pip install virtualenv
- 1
install dependency
yum install -y python-virtualenv mysql-devel # run as root
cd dashboard
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt /*這裡可能會報錯,可能是系統沒有安裝某些軟體包*/
- 1
- 2
- 3
配置
dashboard的config的路徑為 $WORKSPACE/dashboard/rrd/config.py,裡面有資料庫相關的配置資訊,如有必要,請修改。預設情況下(所有元件都在同一臺伺服器上),保持預設配置即可
./control start
./control tail
goto ---> http://127.0.0.1:8081
- 1
- 2
- 3
三、安裝部署-報警相關元件
1、安裝judgeJudge用於告警判斷,agent將資料push給Transfer,Transfer不但會轉發給Graph元件來繪圖,還會轉發給Judge用於判斷是否觸發告警。
cd judge
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置 這裡要注意redis的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
- 1
- 2
- 3
- 4
- 5
2、安裝portal
Portal是用來配置報警策略的
Portal是個Python的專案,無需像Go的專案那樣去做編譯。不過Go的專案是靜態編譯的,編譯好了之後二進位制無依賴,拿到其他機器也可以跑起來,Python的專案就需要安裝一些依賴庫了。
cd portal
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
- 1
- 2
- 3
Portal的配置檔案在frame/config.py
設定好配置檔案之後就可以用下面的方式啟動
./control start
./control tail
- 1
- 2
3、安裝alarm
alarm模組是處理報警event的,judge產生的報警event寫入redis,alarm從redis讀取處理
cd alarm
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置 這裡要注意redis的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
- 1
- 2
- 3
- 4
- 5
4、安裝sender
Sender這個模組專門用於呼叫各公司提供的郵件、簡訊傳送介面。
cd sender
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置 這裡要注意redis的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
- 1
- 2
- 3
- 4
- 5
5、安裝links
Links是為報警合併功能寫的元件。如果你不想使用報警合併功能,這個元件是無需安裝的。
cd links
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
- 1
- 2
- 3
Links的配置檔案在frame/config.py,注意裡面的配置。
6、安裝fe
這是Go版本的UIC,也是一個統一的web入口,因為監控元件眾多,記憶ip、port去訪問還是比較麻煩。fe像是一個監控的hao123
cd fe
mv cfg.example.json cfg.json
vim cfg.json /*編輯cfg.json, 修改對應的配置 這裡要注意redis的配置*/
./control start /*啟動*/
./control tail /*檢視啟動日誌*/
- 1
- 2
- 3
- 4
- 5