open-falcon使用docker部署安装
作者:互联网
第一节 环境准备
运行环境
VMware15+centos7
在centos上安装docker
-
使用 root 权限登录 Centos。使用命令:
& su root // 在输入密码时,密码不显示。
-
yum 包更新到最新。
# yum update
-
卸载旧版docker(之前没有安装过docker可忽略)
# yum remove docker docker-common docker-selinux docker-engine
-
安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
# yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置yum源
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo // 两个命令配置一个即可,建议配置阿里云镜像。
-
查看仓库中所有docker版本,并选择版本安装
# yum list docker-ce --showduplicates | sort -r
-
安装docker
# yum install docker-ce //由于repo中默认只开启stable仓库,所以这里安装的是最新稳定版 # yum install <FQPN> //例如:yum install docker-ce-17.12.0.ce //两条命令执行一条即可
-
安装成功后,启动docker,设置docker开机启动
# systemctl start docker # systemctl enable docker
-
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
# docker version
-
运行第一个hello-world
# docker run hello-world
-
到此docker安装完成
# service docker restart
mysql安装
卸载旧mysql
首先卸载centos已经安装的mysql(如果centos未安装则跳过)
a) yum方式安装的mysql
# yum remove mysql mysql-server mysql-libs compat-mysql51
# rm -rf /var/lib/mysql
# rm /etc/my.cnf //有可能my.cnf改名为my.cnf.rpmsave
查看是否还有mysql软件:
# rpm -qa|grep mysql
如果存在的话,继续删除。
b) rpm方式安装的mysql
查看系统中是否以rpm包安装的mysql:
[root@localhost]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
卸载mysql:
[root@localhost]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost]# rpm -e MySQL-client-5.6.17-1.el6.i686
删除mysql服务:
[root@localhost]# chkconfig --list | grep -i mysql
[root@localhost]# chkconfig --del mysql
删除分散mysql文件夹:
[root@localhost]# whereis mysql 或者 find / -name mysql
mysql: /usr/lib/mysql /usr/share/mysql
清空相关mysql的所有目录以及文件:
[root@localhost]# rm -rf /usr/lib/mysql
[root@localhost]# rm -rf /usr/share/mysql
到此mysql应该卸载干净了。
安装mysql
a) 开始安装mysql容器
docker run -itd \
--name falcon-mysql \
-v /home/work/mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=test123456 \
-p 3306:3306 \
mysql:5.7
//安装的版本为mysql:5.7 默认用户名root 密码 test123456
b) 初始化mysql表结构
# cd /tmp && \
git clone --depth=1 https://github.com/open-falcon/falcon-plus && \
cd /tmp/falcon-plus/ && \
for x in `ls ./scripts/mysql/db_schema/*.sql`; do
echo init mysql table $x ...;
docker exec -i falcon-mysql mysql -uroot -ptest123456 < $x;
done
# rm -rf /tmp/falcon-plus/
redis安装
# docker run --name falcon-redis -p6379:6379 -d redis:4-alpine3.8
第二节 安装后端
安装过程
-
pull images from hub.docker.com/openfalcon
# docker pull openfalcon/falcon-plus:v0.3
-
run falcon-plus container
# 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:test123456@tcp\(db.falcon:3306\) \ -e REDIS_PORT=redis.falcon:6379 \ -v /home/work/open-falcon/data:/open-falcon/data \ -v /home/work/open-falcon/logs:/open-falcon/logs \ openfalcon/falcon-plus:v0.3
-
start falcon backend modules, such as graph,api,etc.
# docker exec falcon-plus sh ctrl.sh start \ graph hbs judge transfer nodata aggregator agent gateway api alarm
or you can just start/stop/restart specific module as:
docker exec falcon-plus sh ctrl.sh start/stop/restart xxx
-
check status of backend modules
docker exec falcon-plus ./open-falcon check
-
or you can check logs at /home/work/open-falcon/logs/ in you host
ls -l /home/work/open-falcon/logs/
第三节 安装前端
安装过程
Start falcon-dashboard in container
# 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_PASS=test123456 \
-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_PASS=test123456 \
-e ALARM_DB_NAME=alarms \
-w /open-falcon/dashboard openfalcon/falcon-dashboard:v0.2.1 \
'./control startfg'
遇到的问题
a) 占用端口问题,可以将 -p 8081:8081 改为-p 8087:8081
b) 然后重新运行可能会遇到当前容器已存在的问题
需要先删除,查看当前所有容器
# docker ps -a
找到容器id/name 停止该容器,再删除
# docker stop falcon-dashboard的id
# docker rm falcon-dashboard的id
再次运行命令
c) 遇到如下问题
可以多尝试运行几次。
或者
修改docker镜像源:
docker默认的源为国外官方源,下载速度较慢,可改为国内,加速
修改或新增 /etc/docker/daemon.json
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
# systemctl restart docker.service //重启docker服务
第四节 前端界面
打开页面
a) 在centos浏览器中,可以输入127.0.0.1:80801进入
b)在windows系统浏览器中,可以输入centos主机ip:8081进入
第一次登录需要注册
遇到的问题
如果打不开页面可能是防火墙没有关,Centos7默认的是firewall作为防火墙
查看防火墙状态
# firewall-cmd --state
停止firewall
# systemctl stop firewalld.service
禁止firewall开机启动
# systemctl disable firewalld.service
再次输入网址进入界面。
第五节 建立open-falcon镜像
a) Building falcon-plus
# cd /tmp && \
git clone https://github.com/open-falcon/falcon-plus && \
cd /tmp/falcon-plus/ && \
docker build -t falcon-plus:v0.3 .
b) Buliding falcon-dashboard
# cd /tmp && \
git clone https://github.com/open-falcon/dashboard && \
cd /tmp/dashboard/ && \
docker build -t falcon-dashboard:v0.2.1 .
第六节 关机再次启动
-
启动docker
# service docker start
-
查看当前docker镜像
# docker ps -a
-
启动redis服务
# docker start falcon-redis
-
启动mysql服务
# docker start falcon-mysql
-
启动falcon-plus服务
docker start falcon-plus
启动falcon-plus里面的服务
# docker exec -it falcon-plus # ./open-falcon start # exit //退出
检查open-falon启动情况
# docker exex -it falcon-plus /bin/bash # ./open-falcon check # exit //退出
-
启动falcon-dashboard服务
# docker start falcon-dashboard
在生产环境启动
# docker exec -it falcon-dashboard /bin/bash # bash control start # exit //退出
查看日志
# docker exec -it falcon-dashboard /bin/bash # bash control tail # exit //退出
lon启动情况
# docker exex -it falcon-plus /bin/bash
# ./open-falcon check
# exit //退出
-
启动falcon-dashboard服务
# docker start falcon-dashboard
在生产环境启动
# docker exec -it falcon-dashboard /bin/bash # bash control start # exit //退出
查看日志
# docker exec -it falcon-dashboard /bin/bash # bash control tail # exit //退出
标签:plus,dashboard,mysql,falcon,docker,open 来源: https://blog.csdn.net/qq_34169043/article/details/98954253