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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
53 23
|
4天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
16天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
47 22
|
19天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 25
|
1月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
275 77
|
20天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
104 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
30天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
1月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
154 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
20天前
|
Kubernetes Linux 虚拟化
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
93 11