通过docker-compose一键部署zabbix监控平台

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 通过docker-compose一键部署zabbix监控平台

通过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
  • 结果如下:
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更换为容器名称,不然会检测不到

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

  • 将文字调整为中文页面

  • 到此可以看到显示页面为中文。
  • 部署部分内容到此为止。
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
3天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
59 44
|
25天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
56 23
|
14天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
26天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
48 22
|
28天前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
193 93
|
2月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
285 78
|
30天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
131 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
2月前
|
搜索推荐 安全 数据安全/隐私保护
7 个最能提高生产力的 Docker 容器
7 个最能提高生产力的 Docker 容器
155 35

热门文章

最新文章