open-falcon
open-falcon的目標是做最開放、最好用的互聯網企業級監控產品。
1、單機安裝
1.1、搭建golang語言環境
下載golang
根據操作系統下載golang對應的RPM包:
https://pkgs.org/download/golang
golang-1.13.3-1.el7.x86_64.rpm
golang-bin-1.13.3-1.el7.x86_64.rpm
golang-src-1.13.3-1.el7.noarch.rpm
安裝golang
yum install gcc
yum install git
yum install subversion
yum install mercurial
go version
配置GOPATH和GOROOT環境變量
go env
1.2、搭建運行環境
安裝redis
yum install -y epel-release
yum install -y redis
安裝mysql-server
yum -y install wget
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-server
1.3、安裝Falcon
下載Falcon
mkdir -p $GOPATH/src/github.com/open-falcon
cd $GOPATH/src/github.com/open-falcon
git clone https://github.com/open-falcon/falcon-plus.git
初始化數據庫
cd $GOPATH/src/github.com/open-falcon/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
編譯
cd $GOPATH/src/github.com/open-falcon/falcon-plus/
# make all modules
make all
# make specified module
make agent
# pack all modules
make pack
執行完畢make pack 會在當前目錄下生成一個open-falcon-vx.x.x.tar.gz
1.4、運行啓動Falcon
將open-falcon-vx.x.x.tar.gz複製到運行目錄下,解壓
啓動
./open-falcon start
檢查狀態
# check modules status
./open-falcon check
1.4、運行啓動Frontend Dashboard
下載Dashboard
cd /root/open-falcon/
git clone https://github.com/open-falcon/dashboard.git
cd dashboard
dashboard config file is ‘rrd/config.py’
安裝運行環境
yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"
cd /root/open-falcon/dashboard/
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
在開發者模式下運行
source ./env/bin/python wsgi.py
export FLASK_ENV=development
flask run --host=0.0.0.0 --port=8081
在生產模式下運行
Run with gunicorn in production mode
bash control start
訪問
open http://127.0.0.1:8081 in your browser.
dashbord沒有默認創建任何賬號包括管理賬號,需要通過頁面進行註冊賬號。
想擁有管理全局的超級管理員賬號,需要手動註冊用戶名爲root的賬號(第一個帳號名稱爲root的用戶會被自動設置爲超級管理員)
超級管理員可以給普通用戶分配權限管理。
小提示:註冊賬號能夠被任何打開dashboard頁面的人註冊,所以當給相關的人註冊完賬號後,需要去關閉註冊賬號功能。只需要去修改api組件的配置文件cfg.json,將signup_disable配置項修改爲true,重啓api即可。當需要給人開賬號的時候,再將配置選項改回去,用完再關掉即可。
2、Docker安裝
docker run -itd \
--name falcon-mysql \
-v /root/open_falcon/mysql-data:/var/lib/mysql \
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
-p 3306:3306 \
mysql:5.7
git clone --depth=1 https://github.com/open-falcon/falcon-plus
cd /root/open_falcon/falcon-plus
#!/bin/sh
for x in `ls ./scripts/mysql/db_schema/*.sql`; do
echo init mysql table $x ...;
docker exec -i falcon-mysql mysql -uroot < $x;
done
docker run --name falcon-redis -p6379:6379 -d redis:4-alpine3.8
docker run -itd --name falcon-plus \
--link=falcon-mysql:db.falcon \
--link=falcon-redis:redis.falcon \
-p 8433:8433 \
-p 8080:8080 \
-e MYSQL_PORT=root@tcp\(db.falcon:3306\) \
-e REDIS_PORT=redis.falcon:6379 \
-v /root/open_falcon/open-falcon/data:/open-falcon/data \
-v /root/open_falcon/open-falcon/logs:/open-falcon/logs \
openfalcon/falcon-plus:v0.3
docker exec falcon-plus sh ctrl.sh start graph hbs judge transfer nodata aggregator agent gateway api alarm
## check status of backend modules
docker exec falcon-plus ./open-falcon check
docker run -itd --name falcon-dashboard \
-p 8081:8081 \
--link=falcon-mysql:db.falcon \
--link=falcon-plus:api.falcon \
-e API_ADDR=http://api.falcon:8080/api/v1 \
-e PORTAL_DB_HOST=db.falcon \
-e PORTAL_DB_PORT=3306 \
-e PORTAL_DB_USER=root \
-e PORTAL_DB_NAME=falcon_portal \
-e ALARM_DB_HOST=db.falcon \
-e ALARM_DB_PORT=3306 \
-e ALARM_DB_USER=root \
-e ALARM_DB_NAME=alarms \
-w /open-falcon/dashboard openfalcon/falcon-dashboard:v0.2.1 \
'./control startfg'
docker run -d --restart always --name falcon-agent -e NUX_ROOTFS=/rootfs -v /:/rootfs:ro openfalcon/falcon-plus:v0.3 ./agent/bin/falcon-agent -c /open-falcon/agent/config/cfg.json