其他分享
首页 > 其他分享> > open-falcon使用docker部署安装

open-falcon使用docker部署安装

作者:互联网

第一节 环境准备

运行环境

VMware15+centos7

在centos上安装docker

  1. 使用 root 权限登录 Centos。使用命令:

    & su root 
    // 在输入密码时,密码不显示。 
    
  2. yum 包更新到最新。

    # yum update
    
  3. 卸载旧版docker(之前没有安装过docker可忽略)

    # yum remove docker  docker-common docker-selinux docker-engine
    
  4. 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    # yum install -y yum-utils device-mapper-persistent-data lvm2
    
  5. 设置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
    // 两个命令配置一个即可,建议配置阿里云镜像。
    
  6. 查看仓库中所有docker版本,并选择版本安装

    # yum list docker-ce --showduplicates | sort -r
    
  7. 安装docker

    # yum install docker-ce  //由于repo中默认只开启stable仓库,所以这里安装的是最新稳定版
    # yum install <FQPN>  //例如:yum install docker-ce-17.12.0.ce
    //两条命令执行一条即可
    
  8. 安装成功后,启动docker,设置docker开机启动

    # systemctl start docker    
    # systemctl enable docker   
    
  9. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    # docker version
    
  10. 运行第一个hello-world

    # docker run hello-world
    
  11. 到此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

第二节 安装后端

安装过程

  1. pull images from hub.docker.com/openfalcon

    # docker pull openfalcon/falcon-plus:v0.3
    
  2. 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
    
  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
    
  4. check status of backend modules

    docker exec falcon-plus ./open-falcon check
    
  5. 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 .

第六节 关机再次启动

  1. 启动docker

    # service docker start
    
  2. 查看当前docker镜像

    # docker ps -a
    
  3. 启动redis服务

    # docker start falcon-redis
    
  4. 启动mysql服务

    # docker start falcon-mysql
    
  5. 启动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 //退出
    
  6. 启动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 //退出
  1. 启动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