Zabbix在docker安装部署

一、创建docker-compose.yml文件
首先创建一份docker-compose.yml文件,使用docker-compose进行容器的编排。

$ mkdri /zabbix  #在根目录创建zabbix文件
$ cd   /zabbix
$ touch docker-compose.yml  #创建yml容器编排文件

二、编写yml文件内容

$ ll
$ vim docker-compose.yml
version: '2'
services:
  zabbix-mysql-service: 
    image: daocloud.io/library/mysql:8
    container_name: zabbix-mysql-service
    environment:
      - MYSQL_ROOT_PASSWORD=888888
    restart: always
  zabbix-server-service:
    image: monitoringartist/zabbix-xxl:3.2.6
    links: 
      - zabbix-mysql-service:mysqlhost
    container_name: zabbix-server-service
    restart: always
    depends_on:
      - zabbix-mysql-service
    ports:
      - "8888:80"
    environment:
      - ZS_DBHost=mysqlhost
      - ZS_DBUser=root
      - ZS_DBPassword=888888
  zabbix-agent-a:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-a
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-a
      - ZBX_SERVER_HOST=zabbixserverhost
  zabbix-agent-b:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-b
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-b
      - ZBX_SERVER_HOST=zabbixserverhost

我们的docker-compose.yml内容如下:
1、mysql和zabbix server是必须的,再新增了两个zabbix agent容器,名称分别是zabbix-agent-a和zabbix-agent-b,zabbix agent在配置过程中要用到zabbix server的ip信息,这里我们通过links参数,在zabbix agent的host文件中加入了zabbix server的ip信息,host name是zabbixserverhost
2、ZBX_HOSTNAME和ZBX_SERVER_HOST这两个环境变量,在zabbix agent镜像的官方文档中已经说明;
3、ZBX_HOSTNAME用来表示自己的身份,ZBX_SERVER_HOST是用来标明zabbix server的ip信息的,这里直接用link参数中的alias来表示,就能通过host直接找到zabbix server的ip了;
三、启动docker 容器
打开控制台,在docker-compose.yml文件所在的目录下执行命令docker-compose up -d
如图:
这里写图片描述
等待zabbix server初始化在命令行输入命令docker logs -f zabbix-server-service,查看zabbix server的日志输出,下图是部分日志的截图,可以看到有数据库初始化的操作
如图:
这里写图片描述
四、查看日志是否报错
等待大约一分钟之后,zabbix server的日志不再滚动,表示初始化已经完成,打开浏览器输入http://localhost:8888,可以看到zabbix的管理系统的登录页面
如图:
这里写图片描述
五、获取监控机器ip
按照前面的部署描述图上的部署,有两台机器装了zabbix agent服务,然后想要加入监控,第一步我们要把机器的ip确定下来,在控制台执行docker exec -it zabbix-agent-a ip addr命令,可以看到如下输出,第一台机器的ip是172.31.0.4:在控制台执行docker exec -it zabbix-agent-b ip addr命令,可以看到如第二台机器的ip是172.31.0.5;
如图:
这里写图片描述
六、解决 docker-compose up -d 命令不能运行
1、安装扩展源:sudo yum -y install epel-release
2、安装python-pip模块:sudo yum install python-pip
3、

     [root@fd240 bin]# ./docker-compose 
     Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

4、解决办法:
进入下面的网址下载目前的最新版:

https://github.com/docker/compose/releases/tag/1.14.0-rc2

网页拉到最下面,下载:

docker-compose-Linux-x86_64

然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,增加可执行:

chmod +x /usr/local/bin/docker-compose

然后再运行

[root@fd240 bin]# docker-compose version
docker-compose version 1.14.0-rc2, build 24dae73
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2018

可以看到已经没有问题了
5、Docker-Compose命令失效怎么解决

 解决步骤:https://www.cnblogs.com/YatHo/p/7815400.html

6、docker命令

查看运行容器
docker ps
查看所有容器
docker ps -a
进入容器
其中字符串为容器ID:
docker exec -it d27bd3008ad9 /bin/bash
停用全部运行中的容器:
docker stop $(docker ps -q)
删除全部容器:
docker rm $(docker ps -aq)
一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

《参考:https://blog.csdn.net/boling_cavalry/article/details/77095153
《参考:https://blog.csdn.net/qq_36178641/article/details/80213387

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值