二、监控之open-falcon
二、open-falcon安装(单机版)
官方文档:https://book.open-falcon.org/zh_0_2/quick_install/
部署环境:
系统均为:centos7.6
102:open-falcon
103:agent mysql
104:agent msyql
105:agent nginx/redis mysql
106:agent nginx
2.1、安装redis(epel源)
yum install redis -y
2.2、安装mysql
1、安装mysql
yum install mysql-server -y
2、数据库初始化
cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git
cd /tmp/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
rm -rf /tmp/falcon-plus/
# 下载open-falcon源码
cd /root/ && git clone https://github.com/open-falcon/falcon-plus.git
# 导入表结构
vim /root/into_mysql.sh
SQL_DIR=/root/falcon-plus/scripts/mysql/db_schema/
MYSQL_HOST='127.0.0.1'
MYSQL_USER='openfalcon'
MYSQL_PASSWD='openfalcon'
for i in `ls ${SQL_DIR}`
do
mysql -h ${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASSWD} < ${SQL_DIR}$i
done
# 授权
chmod 755 /root/into_mysql.sh
sh /root/into_mysql.sh
2.4、安装go环境
1、下载go安装包
cd /usr/local/src/
wget https://dl.google.com/go/go1.14.linux-amd64.tar.gz
2、解压包
tar xf go1.14.linux-amd64.tar.gz
3、添加go的环境变量
vim /etc/profile
# 在最后添加如下一行
export PATH=$PATH:/usr/local/src/go/bin
# 重新加载配置文件
source /etc/profile
验证
[root@open-falcon-master falcon-plus]# go
Go is a tool for managing Go source code.
Usage:
go <command> [arguments]
The commands are:
#有以上信息即为go环境安装成功
4、更换go源成阿里云源
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
# 检查是否更改成功,出现如下成功
go env | grep GOPROXY
GOPROXY="https://mirrors.aliyun.com/goproxy/"
5、执行go包存放地址创建目录
cd /usr/local/src/falcon-plus/
go get # 等几秒钟,ctrl +c 终止命令
观察/root/目录下是否出现go文件夹
6、项目源代码迁移
cp -rf /usr/local/src/falcon-plus/ /root/go/src/github.com/open-falcon/
cd /root/go/src/github.com/open-falcon/falcon-plus/
#执行编译
make all
#执行打包
make pack
有如下提示则为成功
7、创建工作目录里并解压二进制包到工作目录里中
mkdir work
cd /root/go/src/github.com/open-falcon/falcon-plus
tar -xzvf open-falcon-v0.3.x.tar.gz -C /root/work
8、启动所有后端组件
1、 首先确认配置文件中数据库账号密码与实际相同,否则需要修改配置文件
cd $WORKSPACE
grep -Ilr 3306 ./ | xargs -n1 -- sed -i 's/root:/real_user:real_password/g'
2、启动
[root@open-falcon-master]./open-falcon start
[falcon-graph] 14848
[falcon-hbs] 14856
[falcon-judge] 14864
[falcon-transfer] 14870
[falcon-nodata] 14876
[falcon-aggregator] 14883
[falcon-agent] 14891
[falcon-gateway] 14897
[falcon-api] 14903
[falcon-alarm] 14917
3、检查模块启动情况
[root@open-falcon-master]./open-falcon check
falcon-graph UP 14848
falcon-hbs UP 14856
falcon-judge UP 14864
falcon-transfer UP 14870
falcon-nodata UP 14876
falcon-aggregator UP 14883
falcon-agent UP 14891
falcon-gateway UP 14897
falcon-api UP 14903
falcon-alarm UP 14917
2.5、安装open-falcon前端
1、创建工作目录
mkdir /root/qwork
2、克隆前端dashboard组件代码
cd /root/qwork
git clone https://github.com/open-falcon/dashboard.git
3、安装依赖包
yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"
4、创建python虚拟环境
cd dashboard/
virtualenv ./env
5、安装python依赖包,pip依赖
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
# 如果有类似提示
You are using pip version 9.0.1, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
# 更新pip,然后重新执行上面命令即可
./env/bin/pip install --upgrade pip
6、修改配置文件
dashboard的配置文件为: 'rrd/config.py',请根据实际情况修改
## API_ADDR 表示后端api组件的地址
API_ADDR = "http://127.0.0.1:8080/api/v1"
## 根据实际情况,修改PORTAL_DB_*, 默认用户名为root,默认密码为""
## 根据实际情况,修改ALARM_DB_*, 默认用户名为root,默认密码为""
配置详情
vim rrd/config
# 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")
2.7、启动
1、以开发者启动
./env/bin/python wsgi.py
open http://127.0.0.1:8081 in your browser.
2、在生产环境启动
bash control start
open http://127.0.0.1:8081 in your browser.
# 停止dashboard运行
bash control stop
# 查看日志
bash control tail
注意
- dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
- `想拥有管理全局的超级管理员账号`,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
- 超级管理员可以给普通用户分配权限管理
小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。 只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。 当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可