在当今快速变化的IT环境中,高效地监控系统的性能与健康状态对于维护业务连续性和优化资源利用至关重要。Docker Compose作为一种简化多容器应用部署的工具,为我们提供了一种便捷的方式来快速搭建复杂的服务环境。zabbix server 的部署官方提供了多种选择,本文以docker compose 的方式进行部署,引导您通过实战步骤,轻松构建起功能强大的Zabbix监控系统。Zabbix作为一个开源的监控解决方案,以其灵活的配置、丰富的可视化功能及广泛的监控覆盖范围而广受欢迎。结合Docker Compose的魔力,我们不仅能迅速部署Zabbix Server,还能确保其配置易于管理且高度可移植。无论您是寻求对基础设施进行细粒度监控的系统管理员,还是希望快速搭建监控环境的开发者,本文都将为您提供一条清晰、快捷的路径,让您在几分钟内即可启动并运行Zabbix监控平台,为您的系统安全保驾护航。
安装docker 及docker compose plugin# 添加仓库sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装docker-ce,默认安装最新版本,也可以安装指定版本sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y# 验证docker是否安装成功docker version# 安装Compose pluginsudo yum install docker-compose-plugin -y# 验证compose plugindocker compose version
编写compose.yaml文件整个compose文件中使用的镜像都是centos-6.4-latest,若对版本有一定的需求可以自主选择版本,镜像版本号可至docker-hub查看。编辑 zabbix.yaml 文件,内容如下所示:
version: "3"services: zabbix-server: image: zabbix/zabbix-server-mysql:centos-6.4-latest container_name: zabbix-server # 设置重启规则,容器非正常退出自动重启3次,3次之后依旧失败,则容器退出 restart: on-failure:3 depends_on: - zabbix-gw - zabbix-db networks: zabbix-net: environment: # 数据库相关信息要和zabbix-db设置一致 - DB_SERVER_HOST=zabbix-db - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix_1234 - MYSQL_ROOT_PASSWORD=Root_1234 - ZBX_JAVAGATEWAY=zabbix-gw ports: # 端口映射 - "10051:10051" volumes: # 对zabbixs数据进行挂载到本地 - /opt/softwares/zabbix/zabbix_data:/var/lib/zabbix - /opt/softwares/zabbix/alertscripts:/usr/lib/zabbix/alertscripts - /etc/localtime:/etc/localtime zabbix-db: image: mysql:8.0 container_name: zabbix-db restart: on-failure:3 networks: zabbix-net: environment: - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix_1234 - MYSQL_ROOT_PASSWORD=Root_1234 command: # 设置相关参数 - --default-authentication-plugin=caching_sha2_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true ports: - "3306:3306" volumes: # 将mysql数据挂载到本地 - /etc/localtime:/etc/localtime - /opt/softwares/zabbix/mysql_data:/var/lib/mysql zabbix-gw: image: zabbix/zabbix-java-gateway:centos-6.4-latest container_name: zabbix-gw restart: on-failure:3 networks: zabbix-net: volumes: - /etc/localtime:/etc/localtime zabbix-web: image: zabbix/zabbix-web-nginx-mysql:centos-6.4-latest container_name: zabbix-web restart: on-failure:3 networks: zabbix-net: environment: - ZBX_SERVER_HOST=zabbix-server - DB_SERVER_HOST=zabbix-db - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix_1234 - MYSQL_ROOT_PASSWORD=Root_1234 ports: - "8081:8080" depends_on: - zabbix-db - zabbix-server# 配置zabbix网络,指定连接方式为桥接,子网网段为172.16.18.0/24networks: zabbix-net: driver: bridge ipam: config: - subnet: 172.16.18.0/24
启动服务并进行验证# 使用yaml文件启动服务docker compose -f ./zabix.yaml uphttp:ip:porthttp:ip:port
使用IP:PORT方式在浏览器访问:http:ip:web-port,能看到如下页面表示安装成功。默认用户admin,密码:zabbix
问题反馈有任何疑问都可以直接在文章下评论,也可以通过以下方式联系我
email:mr_xuansu@163.com
微信公众号:萱蘇的运维小站