通过docker-compose一键部署zabbix监控平台
发表于:2022-05-17 |

通过docker启动zabbix监控平台已经很方便了,下面我们可以使用一种更加方便的方式启动,那就是docker的compose功能。

当然,首先我们还是得需要有一个docker的环境,至于安装方式这里就不说了。在我的博客docker分类中有写安装方式。

下面,我们直接利用docker环境安装compose功能。
compose的安装很方式有多种,下面我们使用二进制方式进行安装。

下载地址为https://github.com/docker/compose/releases

具体命令为:

curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` 
> /usr/local/bin/docker-compose

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

输入docker-compose可以显示帮助信息表示安装成功。

下面我们就可以通过编写docker-compose.yml文件来部署服务了。

首先创建一个yml文件的存放位置,在创建一个yml文件

mkdir -p /data2/zabbix

cd /data2/zabbix/

vim docker-compose.yml

注意:yml文件的名称是固定的。

yml文件内容:可以直接复制使用,也可简单修改在使用

version: '3'

services:
  zabbix-web-nginx-mysql:
    image: zabbix/zabbix-web-nginx-mysql:centos-5.2-latest
    restart: always
    environment:
      - DB_SERVER_HOST=zabbix-mysql
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix
      - MYSQL_ROOT_PASSWORD=123qwe
      - ZBX_SERVER_HOST=zabbix-server-mysql
    ports:
      - 8080:8080
    volumes:
      - /etc/localtime:/etc/localtime
      - /data2/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
    networks:
      - zbx_net
    depends_on:
      - zabbix-server-mysql
      - zabbix-mysql
  zabbix-mysql:
    image: mysql:8.0.23
    restart: always
    ports:
      - 3306:3306
    environment:
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix
      - MYSQL_ROOT_PASSWORD=123qwe
    command:
      - mysqld
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8
      - --collation-server=utf8_bin
    volumes:
      - /etc/localtime:/etc/localtime
      - /data2/zabbix/db:/var/lib/mysql
    networks:
      - zbx_net
  zabbix-java-gateway:
    image: zabbix/zabbix-java-gateway:centos-5.2-latest
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime
    networks:
      - zbx_net
  zabbix-server-mysql:
    image: zabbix/zabbix-server-mysql:centos-5.2-latest
    restart: always
    volumes:
      - zabbix-server-vol:/etc/zabbix
      - /data2/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
      - /etc/localtime:/etc/localtime
    ports:
      - 10051:10051
    environment:
      - DB_SERVER_HOST=zabbix-mysql
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix
      - MYSQL_ROOT_PASSWORD=123qwe
      - ZBX_JAVAGATEWAY=zabbix-java-gateway
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAYPORT=10052
    depends_on:
      - zabbix-mysql
    networks:
      - zbx_net
  zabbix-agent:
    image: zabbix/zabbix-agent:centos-5.2-latest
    restart: always
    ports:
      - 10050:10050
    environment:
      - ZBX_HOSTNAME=Zabbix server
      - ZBX_SERVER_HOST=zabbix-server-mysql
      - ZBX_SERVER_PORT=10051
    networks:
      - zbx_net

networks:
  zbx_net:
    driver: bridge

volumes:
  zabbix-server-vol:

创建完yml文件,我们还需要把文件中用到的目录创建出来
mkdir alertscripts db fonts

进入到fonts目录,下载中文语言包文件
cd fonts
wget https://dl.cactifans.com/zabbix_docker/msty.ttf
mv msty.ttf DejaVuSans.ttf

当准备工作都完成了,接下来我们就运行这个文件,看看是否能一键安装zabbix监控平台
运行docker-compose.yml文件的方式:(在yml文件所在目录运行)
docker-compose up -d
1
结果如下:

Creating network "zabbix_zbx_net" with driver "bridge"
Creating volume "zabbix_zabbix-server-vol" with default driver
Pulling zabbix-web-nginx-mysql (zabbix/zabbix-web-nginx-mysql:centos-5.2-latest)...
centos-5.2-latest: Pulling from zabbix/zabbix-web-nginx-mysql
Digest: sha256:9a84a6b86dd748d3f3843efd1f744d1f3e3fc9bd39105470239aae6a81cd51f5
Status: Downloaded newer image for zabbix/zabbix-web-nginx-mysql:centos-5.2-latest
Creating zabbix_zabbix-mysql_1        ... done
Creating zabbix_zabbix-agent_1        ... done
Creating zabbix_zabbix-java-gateway_1 ... done
Creating zabbix_zabbix-server-mysql_1 ... done
Creating zabbix_zabbix-web-nginx-mysql_1 ... done

查看容器启动状态命令:

docker-compose ps

查看容器启动日志:

docker-compose logs

查看容器启动的进程:

docker-compose top

容器停止、启动、删除、构建命令:

docker-compose stop

docker-compose start

docker-compose down

docker-compose up -d

注:-d参数为后台运行

接下来可以通过浏览器访问登录页面,默认账号密码:Admin、zabbix

我们要修改一下配置,将ip更换为容器名称,不然会检测不到

稍微等待一会,会发现监控成功

将文字调整为中文页面

到此可以看到显示页面为中文。
部署部分内容到此为止

上一篇:
zabbix docker-compose 运行配置
下一篇:
基于docker的elasticsearch 7.5.1 搭建