准备好open-falcon的工作目录
export FALCON_HOME=/application/servers/
export WORKSPACE=$FALCON_HOME/open-falcon
mkdir -p $WORKSPACE
解压open-falcon的二进制包至工作目录
tar -zxvf open-falcon-v0.3.tar.gz -C $WORKSPACE
修改open-falcon的配置文件
cd $WORKSPACE
grep -Ilr 3306 ./ | xargs -n1 -- sed -i 's/root:/root:Devilf@2018/g'
修改完成无误后,启动
# ./open-falcon start
[falcon-graph] 11114
[falcon-hbs] 11125
[falcon-judge] 11134
[falcon-transfer] 11137
[falcon-nodata] 11147
[falcon-aggregator] 11157
[falcon-agent] 11173
[falcon-gateway] 11177
[falcon-api] 11191
[falcon-alarm] 11198
启动后,再次检查各模块是否正常
# ./open-falcon check
falcon-graph UP 11114
falcon-hbs UP 11125
falcon-judge UP 11134
falcon-transfer UP 11137
falcon-nodata UP 11147
falcon-aggregator UP 11157
falcon-agent UP 11173
falcon-gateway UP 11177
falcon-api UP 11191
falcon-alarm UP 11198
使用方法如下
# ./open-falcon [start|stop|restart|check|monitor|reload] module
下载代码
cd $WORKSPACE
git clone https://github.com/open-falcon/dashboard.git
安装依赖
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 $WORKSPACE/dashboard/
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
修改配置文件,指定数据库名和密码
cd $WORKSPACE
vim rrd/config.py
# portal database
# TODO: read from api instead of db
PORTAL_DB_HOST = os.environ.get("PORTAL_DB_HOST","127.0.0.1")
PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306))
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","Devilf@2018")
PORTAL_DB_NAME = os.environ.get("PORTAL_DB_NAME","falcon_portal")
# alarm database
# TODO: read from api instead of db
ALARM_DB_HOST = os.environ.get("ALARM_DB_HOST","127.0.0.1")
ALARM_DB_PORT = int(os.environ.get("ALARM_DB_PORT",3306))
ALARM_DB_USER = os.environ.get("ALARM_DB_USER","root")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","Devilf@2018")
ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms")
启动
cd $WORKSPACE
# bash control start
falcon-dashboard started..., pid=36988
停止
bash control stop
查看日志
bash control tail
注意:
dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。 想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。 超级管理员可以给普通用户分配权限管理。 小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可。
具体方法如下
cd $WORKSPACE
# cat api/config/cfg.json
{
"log_level": "debug",
"db": {
"falcon_portal": "root:Devilf@2018@tcp(127.0.0.1:3306)/falcon_portal?charset=utf8&parseTime=True&loc=Local",
"graph": "root:Devilf@2018@tcp(127.0.0.1:3306)/graph?charset=utf8&parseTime=True&loc=Local",
"uic": "root:Devilf@2018@tcp(127.0.0.1:3306)/uic?charset=utf8&parseTime=True&loc=Local",
"dashboard": "root:Devilf@2018@tcp(127.0.0.1:3306)/dashboard?charset=utf8&parseTime=True&loc=Local",
"alarms": "root:Devilf@2018@tcp(127.0.0.1:3306)/alarms?charset=utf8&parseTime=True&loc=Local",
"db_bug": true
},
"graphs": {
"cluster": {
"graph-00": "127.0.0.1:6070"
},
"max_conns": 100,
"max_idle": 100,
"conn_timeout": 1000,
"call_timeout": 5000,
"numberOfReplicas": 500
},
"metric_list_file": "./api/data/metric",
"web_port": "0.0.0.0:8080",
"access_control": true,
"signup_disable": true,
"salt": "",
"skip_auth": false,
"default_token": "default-token-used-in-server-side",
"gen_doc": false,
"gen_doc_path": "doc/module.html"
}
重启api
# ./open-falcon restart api
[falcon-api] down
[falcon-api] 37167
以上就是open-falcon的前端和后端的部署方式,这只是简单的单机版安装,也可以进行分布式部署