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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 通过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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
kde
|
10天前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
kde
280 4
|
10天前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
44 5
kde
|
26天前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
kde
455 7
|
25天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
215 5
|
26天前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
113 6
|
3月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
605 108
|
4月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
350 57