
zabbx是广泛应用的监控平台传统部署步骤相对多使用docker部署可以简化部署步骤方便扩容一、首先配置yum源操作系统是centos7.9将系统默认yum源替换成阿里云的yum源sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sudo yum clean all sudo yum makecache然后 安装 dnf-plugins-core 包提供管理 DNF 仓库的命令并设置仓库sudo yum -y install dnf-plugins-core sudo dnf-2 config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo如何下载慢或者失败可以更换成清华大学的镜像源地址sed -i shttps://download.docker.comhttps://mirrors.tuna.tsinghua.edu.cn/docker-ce /etc/yum.repos.d/docker-ce.repo然后下载docker安装包启动docker服务sudo dnf-2 install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl start docker下载docker-compose并赋予执行权限制作软连接最后查看版本wget https://github.com/docker/compose/releases/download/1.24.0/docker-compose-Linux-x86_64 cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version二、镜像拉取安装好docker服务后就可以开始拉取镜像了首先可以在docker官网注册账号然后申请令牌但是由于官方镜像库因为网络问题一般会镜像拉取失败失败所以可以更换其他镜像库编辑daemon.json可以多放一些镜像库地址{ registry-mirrors : [https://docker.registry.cyou, https://docker-cf.registry.cyou, https://dockercf.jsdelivr.fyi, https://docker.jsdelivr.fyi, https://dockertest.jsdelivr.fyi, https://mirror.aliyuncs.com, https://dockerproxy.com, https://mirror.baidubce.com, https://docker.m.daocloud.io, https://docker.nju.edu.cn, https://docker.mirrors.sjtug.sjtu.edu.cn, https://docker.mirrors.ustc.edu.cn, https://mirror.iscas.ac.cn, https://docker.rainbond.cc, https://do.nark.eu.org, https://dc.j8.work, https://dockerproxy.com, https://gst6rzl9.mirror.aliyuncs.com, https://registry.docker-cn.com, http://hub-mirror.c.163.com, http://mirrors.ustc.edu.cn/, https://mirrors.tuna.tsinghua.edu.cn/, http://mirrors.sohu.com/ ], insecure-registries : [ registry.docker-cn.com, docker.mirrors.ustc.edu.cn ], debug: true, experimental: false }然后取去镜像可以看到已经正常取得了mysql的镜像三、zabbix服务部署拉去相关镜像docker pull zabbix-server-mysql:latest docker pull zabbix-web-nginx-mysql:latest docker pull zabbix/zabbix-java-gateway:latest docker pull zabbix/zabbix-java-gateway:latest docker pull zabbix/zabbix-snmptraps:latest创建容器vim docker-compose.yamlversion: 3 services: zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:latest restart: always environment: - DB_SERVER_HOSTzabbix-mysql - MYSQL_DATABASEzabbix - MYSQL_USERzabbix - MYSQL_PASSWORDzabbix - MYSQL_ROOT_PASSWORD123qwe - ZBX_SERVER_HOSTzabbix-server-mysql ports: - 8080:8080 volumes: - /etc/localtime:/etc/localtime - /mnt/zabbix_server/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 restart: always ports: - 3307:3306 environment: - MYSQL_DATABASEzabbix - MYSQL_USERzabbix - MYSQL_PASSWORDzabbix - MYSQL_ROOT_PASSWORD123qwe command: - mysqld - --default-authentication-pluginmysql_native_password - --character-set-serverutf8 - --collation-serverutf8_bin volumes: - /etc/localtime:/etc/localtime - /mnt/zabbix_server/db:/var/lib/mysql networks: - zbx_net zabbix-java-gateway: image: zabbix/zabbix-java-gateway:latest restart: always volumes: - /etc/localtime:/etc/localtime networks: - zbx_net zabbix-server-mysql: image: zabbix/zabbix-server-mysql:latest restart: always volumes: - zabbix-server-volume:/etc/zabbix - /mnt/zabbix_server/alertscripts:/usr/lib/zabbix/alertscripts - /etc/localtime:/etc/localtime ports: - 10051:10051 environment: - DB_SERVER_HOSTzabbix-mysql - MYSQL_DATABASEzabbix - MYSQL_USERzabbix - MYSQL_PASSWORDzabbix - MYSQL_ROOT_PASSWORD123qwe - ZBX_JAVAGATEWAYzabbix-java-gateway - ZBX_JAVAGATEWAY_ENABLEtrue - ZBX_JAVAGATEWAYPORT10052 depends_on: - zabbix-mysql networks: - zbx_net zabbix-agent: image: zabbix/zabbix-agent:latest restart: always ports: - 10050:10050 environment: - ZBX_HOSTNAMEZabbix server - ZBX_SERVER_HOSTzabbix-server-mysql - ZBX_SERVER_PORT10051 networks: - zbx_net networks: zbx_net: driver: bridge volumes: zabbix-server-volume:然后启动容器访问页面