open-falcon v0.1升級v0.2
v0.1環(huán)境變量:
export HOME=/home/neo
export WORKSPACE=$HOME/open-falcon
export GOPATH=$HOME/workspace
#export GOROOT=$HOME/go
#export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
v0.2 準(zhǔn)備新的數(shù)據(jù)庫
數(shù)據(jù)庫腳本地址:https://github.com/open-falcon/falcon-plus/blob/master/scripts/mysql/db_schema/5_alarms-db-schema.sql
mysql -u root < 5_alarms-db-schema.sql
下載v0.2版本的二進(jìn)制程序
cd ~ && wget https://github.com/open-falcon/falcon-plus/releases/download/v0.2.0/open-falcon-v0.2.0.tar.gz
mkdir open-falcon-v0.2 && tar xf open-falcon-v0.2.0.tar.gz -C open-falcon-v0.2
升級思路:
官方文檔提示只需要替換二進(jìn)制文件即可,在實(shí)際的測試環(huán)境下,不可以换棚。
比方說:agent v0.1版本目錄下,無config和bin目錄肪凛,而agent v0.2版本是需要在agent/config目錄下查找配置文件胶背,
且v0.2版本骡苞,在啟動agent時垂蜗,需要調(diào)用agent/bin/falcon-agent 此二進(jìn)制文件運(yùn)行楷扬。
操作簡單的升級思路是:直接將各個組件目錄先備份,重命名贴见,將v0.2版本的目錄重命名正常烘苹,且先修改配置文件即可。
升級agent
# 配置v0.2的config/cfg.json配置文件
{
"debug": true,
"hostname": "",
"ip": "",
"plugin": {
"enabled": false,
"dir": "./plugin",
"git": "https://github.com/open-falcon/plugin.git",
"logs": "./logs"
},
"heartbeat": {
"enabled": true,
"addr": "127.0.0.1:6030", # 修改
"interval": 60,
"timeout": 1000
},
"transfer": {
"enabled": true,
"addrs": [
"127.0.0.1:8433" # 修改
],
"interval": 60,
"timeout": 1000
},
"http": {
"enabled": true,
"listen": ":1988",
"backdoor": false
},
"collector": {
"ifacePrefix": ["eth", "em"],
"mountPoint": []
},
"default_tags": { # 新增default_tags
},
"ignore": {
"cpu.busy": true,
"df.bytes.free": true,
"df.bytes.total": true,
"df.bytes.used": true,
"df.bytes.used.percent": true,
"df.inodes.total": true,
"df.inodes.free": true,
"df.inodes.used": true,
"df.inodes.used.percent": true,
"mem.memtotal": true,
"mem.memused": true,
"mem.memused.percent": true,
"mem.memfree": true,
"mem.swaptotal": true,
"mem.swapused": true,
"mem.swapfree": true
}
}
cd ~/open-falcon && mv agent agent-v0.1
cp -r ~/open-falcon-v0.2/agent ~/open-falcon/
[neo@node1 open-falcon]$ pwd
/home/neo/open-falcon
[neo@node1 open-falcon]$ tree agent/ -L 2
agent/
├── bin
│ └── falcon-agent
├── config
│ └── cfg.json
├── logs
│ └── agent.log
├── plugins
│ ├── plugins.go
│ ├── reader.go
│ └── scheduler.go
└── public
├── css
├── img
├── index.html
└── js
# 啟動服務(wù)蝇刀,v0.2版本螟加,可以由open-falcon統(tǒng)一管理服務(wù),
cd ~/open-falcon
./open-falcon [ check | help | monitor | reload | restart | start | stop ]
~/open-falcon/open-falcon start agent
~/open-falcon/open-falcon check
falcon-graph UP 2220
falcon-hbs UP 4257
falcon-judge UP 4274
falcon-transfer UP 2104
falcon-nodata DOWN -
falcon-aggregator DOWN -
falcon-agent UP 24014
falcon-gateway DOWN -
falcon-api DOWN -
falcon-alarm UP 7239
升級transfer(同樣的吞琐,目錄結(jié)構(gòu)變化捆探,升級思路與agent一致)
# transfer的配置文件無需改變
mv ~/open-falcon/transfer ~/open-falcon/transfer-v0.1
cp ~/open-falcon-v0.2/transfer ~/open-falcon/transfer
~/open-falcon/open-falcon stop transfer
~/open-falcon/open-falcon start transfer
升級graph
# 配置文件無需改變,直接用graph的v0.2版本替換
cd ~/open-falcon && mv graph graph-v0.1
cp -r ../open-falcon-v0.2/graph ./
./open-falcon stop graph
./open-falcon start graph
./open-falcon check
升級query模塊(api模塊替換)
v2版本是將api模塊站粟,代替query模塊
cd ~/open-falcon && ./query/control stop #停止query服務(wù)
mv query query-v0.1
cp -r ../open-falcon-v0.2/api ./
./open-falcon start api
./open-falcon check
升級hbs模塊
cd ~/open-falcon && mv hbs hbs-v0.1
cp -r ../open-falcon-v0.2/hbs ./
./open-falcon stop hbs
./open-falcon start hbs
升級judge
cd ~/open-falcon && mv judge judge-v0.1
cp -r ../open-falcon-v0.2/judge ./
./open-falcon stop judge
./open-falcon start judge
./open-falcon check
升級alarm
# alarm的配置文件:alarm/config/cfg.json
{
"log_level": "debug",
"http": {
"enabled": true,
"listen": "0.0.0.0:9912"
},
"redis": {
"addr": "127.0.0.1:6379",
"maxIdle": 5,
"highQueues": [
"event:p0",
"event:p1",
"event:p2"
],
"lowQueues": [
"event:p3",
"event:p4",
"event:p5",
"event:p6"
],
"userIMQueue": "/queue/user/im",
"userSmsQueue": "/queue/user/sms",
"userMailQueue": "/queue/user/mail"
},
"api": {
"im": "http://127.0.0.1:10086/wechat",
"sms": "http://127.0.0.1:10086/sms",
"mail": "http://127.0.0.1:10086/mail",
"dashboard": "http://node1:8081",
"plus_api":"http://node1:8080",
"plus_api_token": "default-token-used-in-server-side"
},
"falcon_portal": {
"addr": "root:@tcp(127.0.0.1:3306)/alarms?charset=utf8&loc=Asia%2FChongqing",
"idle": 10,
"max": 100
},
"worker": {
"im": 10,
"sms": 10,
"mail": 50
},
"housekeeper": {
"event_retention_days": 7,
"event_delete_batch": 100
}
}
======
cd ~/open-falcon && mv alarm alarm-v0.1
cp -r ../open-falcon-v0.2/alarm ./
./open-falcon stop alarm
./open-falcon start alarm
./open-falcon check
升級aggregator
升級nodata
升級gateway
升級dashboard (全新安裝)
# 全新安裝
cd ~/open-falcon && git clone https://github.com/open-falcon/dashboard.git && cd dashboard
yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt -i http://mirrors.aliyun.com/pypi/simple # -i 指定pip的源
# 配置黍图,圖形展示工具grafana拉去open-falcon數(shù)據(jù)源的API地址:
vim rrd/config.py
API_ADDR = "http://127.0.0.1:8080/api/v1" # 默認(rèn)接口地址
# 修改配置信息,如數(shù)據(jù)庫密碼等信息
cd ../ && ./open-falcon stop dashboard
cd ../ && ./open-falcon start dashboard
./open-falcon check