openfalcon单机部署
操作系统:centos7.1
1添加阿里源、epel源等
#获取管理员权限
sudo -s
#删除现有yum源
mv /etc/yum.repos.d /etc/yum.repos.d.bak
#增加新源
mkdir /etc/yum.repos.d
cd /etc/yum.repos.d
wget -O http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O http://mirrors.aliyun.com/repo/epel.repo
#重建缓存
yum clean all
yum makecache
#升级软件(可以暂时不做)
yum update -y
#安装git、golang
yum install -y git golang redis
#启动redis
systemctl start redis
#加redis开机启动
systemctl enable redis
#安装mysql
cd /tmp
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server -y
#启动mysql
systemctl start mysql
# 默认mysql用户为root,无密码,端口3306
#设置环境变量
export GOROOT=/usr/lib/golang
export GOPATH=/home
#创建openfalcon的本地路径
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
make pack
#这时候,你会在当前目录下面,得到open-falcon-v0.2.0.tar.gz的压缩包,就表示已经编译和打包成功了
#创建安装目录
export WORKSPACE=/home/work
mkdir -p $WORKSPACE
#解压
cd $GOPATH/src/github.com/open-falcon/falcon-plus/
tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE
下面是需要修改一些模块内配置的mysql用户名和密码
(0.2.1版本已经将以下文件内的mysql连接都默认了root和空密码,不用修改了)
模块 配置文件所在路径
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
#启动后端模块
cd $WORKSPACE
./open-falcon start
#检查各模块启动情况
./open-falcon check
前端模块部署
export FRONTSPACE=/home/front/open-falcon
mkdir -p $FRONTSPACE
cd $FRONTSPACE
git clone https://github.com/open-falcon/dashboard.git
安装依赖包
yum install -y python-virtualenv python-devel openldap-devel mysql-devel
yum groupinstall "Development tools" -y
如果提示安装Development tools失败,使用以下方法解决
cd /etc/yum.repos.d
wget http://public-yum.oracle.com/public-yum-el5.repo
cd /etc/pki/rpm-gpg/
wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
yum groupinstall "Development tools" -y
继续安装
cd $FRONTSPACE/dashboard/
virtualenv ./env
#pip安装python依赖库
./env/bin/pip install -r pip_requirements.txt
前端模块的配置文件为/home/front/open-falcon/dashboard/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","")
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","")
ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms")
开启端口8081
#永久开启
firewall-cmd --add-port=8081/tcp --permanent
#重新载入配置
firewall-cmd --reload
生产环境启动,路径为/home/front/open-falcon/dashboard
bash control start
或者以开发者模式启动,路径为/home/front/open-falcon/dashboard
./env/bin/python wsgi.py
<meta charset="utf-8">
使用浏览器访问
http://127.0.0.1:8081
生产环境下排错:
查看日志:bash control tail
停止dashboard运行:bash control stop
后端日志查看:WorkDir/ moduleName/log/logs/xxx.log
账号建立
dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
超级管理员可以给普通用户分配权限管理。
小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可。
路径:/home/work/api/config/cfg.json
防火墙端口:
开放6030(heartbeat)和8433(transfer)
#永久开启
firewall-cmd --add-port=6030/tcp --permanent
firewall-cmd --add-port=8433/tcp --permanent
#重新载入配置
firewall-cmd --reload