通过docker容器方式部署zabbix-5.2版本监控系统

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

想来想去还是使用docker搭建一套zabbix监控系统吧。简单方便,还能温习一下docker,一举两得。

环境准备

本次实验是通过docker在centos7.x系统上搭建一套zabbix-5.2版本的监控系统。

部署docker环境

docker我是用的是最新版的20.10版本。关于它的部署方式就不多说了,和其他版本部署方法都一样。可以参考我之前的文章:

docker了解与安装

还是比较详细的。

拉取镜像

使用docker部署zabbix,是需要使用docker镜像的。拉取的镜像及方法如下:

如果你还需要其他镜像可以登录https://hub.docker.com/上去下载

docker pull zabbix/zabbix-web-nginx-mysql:5.2-centos-latest
docker pull zabbix/zabbix-server-mysql:centos-5.2-latest
docker pull zabbix/zabbix-agent:centos-5.2-latest
docker pull zabbix/zabbix-java-gateway:centos-5.2-latest
docker pull mysql/mysql-server:8.0.23

启动镜像

  • 首先创建一个供zabbix系统使用的网络环境
docker network create -d bridge zbx_net

启动mysql容器

  • 创建一个供mysql数据库存放文件的目录
mkdir -p /data/dockerdata/zabbix/db
  • 启动mysql容器
docker run -itd -p 3306:3306 --name zabbix-mysql --network zbx_net --restart always -v /etc/localtime:/etc/localtime -v /data/dockerdata/zabbix/db:/var/lib/mysql -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123qwe" mysql:8.0.23 --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_bin

启动zabbix-server容器

  • 为zabbix-server创建一个持久卷
docker volume create zbx_vo1
  • 启动zabbix-server容器
docker run -itd -p 10051:10051 --mount source=zbx_vo1,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network zbx_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL+DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123qwe" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" -e ZBX_JAVAGATEWAY_ENABLE="true" -e ZBX_JAVAGATEWAYROOT=10052 zabbix/zabbix-server-mysql:centos-5.2-latest

启动zabbix-java-gateway

docker run -itd -v /etc/localtime:/etc/localtime --restart=always --name=zabbix-java-gateway --network zbx_net zabbix/zabbix-java-gateway:centos-5.2-latest 

启动zabbix-web容器

  • 创建语言存放目录
mkdir -p /data/dockerdata/zabbix/db/fonts
  • 下载语言文件
cd /data/dockerdata/zabbix/db/fonts/
wget https://dl.cactifans.com/zabbix_docker/msty.ttf
mv msty.ttf DejaVuSans.ttf
  • 启动zabbix-web容器
docker run -itd -p 8080:8080 -v /etc/localtime:/etc/localtime -v /data/dockerdata/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/DejaVuSans.ttf --name zabbix-web-nginx-mysql --restart=always --network zbx_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123qwe" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:centos-5.2-latest
  • 到了这里其实zabbix服务端就已经安装好了,我们可以登录测试一下
  • 我的ip是192.168.1.4,端口为8080
  • 可以看到登录页面,默认的账号为;Admin 密码为:zabbix

20210618154204646.png

  • 可以看到监控页面,说明我们的部署是成功的。
  • 不过现在我们是无法使用这个监控的,因为我们缺少zabbix-agent,所以接下来我们把它装上

启动zabbix-agent容器监控本机

  • 启动zabbix-agent容器
docker run -itd --name zabbix-agent -p 10050:10050 --network zbx_net -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server-mysql" -e ZBX_SERVER_PORT=10051 zabbix/zabbix-agent:centos-5.2-latest
  • 启动容器后通过web页面进行配置


  • 看到以下这个页面,稍等一会,刷新一下页面

  • 这个时候我们队客户端的监控已经生效

  • 如果英文看着不方便我们可以调整为中文

  • 这个时候就可以看到中文页面了

  • 到此,部署方面也就差不多了

查看启动的全部容器

docker ps
CONTAINER ID   IMAGE                                             COMMAND                  CREATED              STATUS              PORTS                                                  NAMES
9fd31b12864e   zabbix/zabbix-agent:centos-5.2-latest             "/sbin/tini -- /usr/…"   About a minute ago   Up About a minute   0.0.0.0:10050->10050/tcp, :::10050->10050/tcp          zabbix-agent
55ad84d3c389   zabbix/zabbix-web-nginx-mysql:centos-5.2-latest   "docker-entrypoint.sh"   33 minutes ago       Up 33 minutes       0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 8443/tcp    zabbix-web-nginx-mysql
64ff391b7594   zabbix/zabbix-java-gateway:centos-5.2-latest      "docker-entrypoint.s…"   41 minutes ago       Up 41 minutes       10052/tcp                                              zabbix-java-gateway
2a4234d6cd8c   zabbix/zabbix-server-mysql:centos-5.2-latest      "/sbin/tini -- /usr/…"   47 minutes ago       Up 47 minutes       0.0.0.0:10051->10051/tcp, :::10051->10051/tcp          zabbix-server-mysql
3fe278b06bcb   mysql:8.0.23                                      "docker-entrypoint.s…"   5 hours ago          Up 5 hours          0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   zabbix-mysql


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
弹性计算 运维 持续交付
探索Docker容器化技术及其在生产环境中的应用
探索Docker容器化技术及其在生产环境中的应用
31 5
|
6天前
|
人工智能 API 数据库
FastGPT一站式解决方案[1-部署篇]:轻松实现RAG-智能问答系统(含sealos云端部署、docker部署、OneAPI&Xinference模型接入)
【9月更文挑战第5天】 FastGPT一站式解决方案[1-部署篇]:轻松实现RAG-智能问答系统(含sealos云端部署、docker部署、OneAPI&Xinference模型接入)
 FastGPT一站式解决方案[1-部署篇]:轻松实现RAG-智能问答系统(含sealos云端部署、docker部署、OneAPI&Xinference模型接入)
|
16天前
|
虚拟化 Docker Windows
window 10专业版部署docker环境
本文介绍了如何在Windows 10专业版上部署Docker环境,包括安装步骤、配置镜像加速以及可能遇到的错误处理。
39 2
window 10专业版部署docker环境
|
6天前
|
运维 Docker 微服务
掌握 Docker Compose:简化你的多容器应用部署
在微服务架构和容器化技术普及的今天,管理多容器部署变得颇具挑战。Docker Compose 通过一个 YAML 文件定义和运行多容器应用,简化了部署和运维。本文介绍其基本概念、使用方法及优势,包括服务、项目、卷和网络等核心概念,并提供从安装到管理服务的详细步骤,助你轻松掌握 Docker Compose,提高开发效率和应用运维质量。
|
6天前
|
Cloud Native 持续交付 Docker
探索Docker容器化技术及其在软件开发中的应用
探索Docker容器化技术及其在软件开发中的应用
17 7
|
6天前
|
存储 虚拟化 开发者
深入理解Docker容器化技术
深入理解Docker容器化技术
33 6
|
4天前
|
Devops jenkins 持续交付
DevOps实践:构建和部署一个Docker化的应用
【9月更文挑战第14天】在当今快节奏的软件开发领域,DevOps已经成为提升效率、加速交付的关键。本文将引导你理解DevOps的核心概念,并通过一个实际的示例—构建和部署一个Docker化的应用—来深入探讨其实践方法。我们将从简单的应用出发,逐步实现Docker容器化,并最终通过CI/CD流水线自动化部署过程。这不仅是对DevOps流程的一次实操演练,也是对现代软件开发理念的一次深刻体验。
|
3天前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
8天前
|
持续交付 开发者 Docker
掌握 Docker:容器化技术在现代开发中的应用
Docker 是一个开源容器化平台,使开发者能够将应用程序及其依赖项封装在轻量级容器中,确保跨平台的一致性。本文介绍了 Docker 的基本概念、核心组件及优势,并展示了其在快速部署、一致性、可移植性和微服务架构中的应用。通过示例说明了 Docker 在本地开发环境搭建、服务依赖管理和 CI/CD 流程中的作用,以及多阶段构建、资源限制和网络模式等高级特性。掌握 Docker 可大幅提升开发效率和应用管理能力。
|
5天前
|
Cloud Native 持续交付 Docker
探索容器化技术Docker的奥秘
探索容器化技术Docker的奥秘
23 3