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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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
目录
相关文章
|
19天前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
9天前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
23 2
zabbix agent集成percona监控MySQL的插件实战案例
|
23天前
|
缓存 Kubernetes 数据中心
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
|
24天前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
|
2月前
|
存储 关系型数据库 数据安全/隐私保护
【Docker实战项目】使用Docker部署Plik 临时文件上传系统
【7月更文挑战第23天】使用Docker部署Plik 临时文件上传系统
38 1
【Docker实战项目】使用Docker部署Plik 临时文件上传系统
|
1月前
|
数据可视化 应用服务中间件 nginx
使用Docker搭建网站流量可视化统计系统
使用Docker搭建网站流量可视化统计系统
|
1月前
|
Java BI 测试技术
【Docker项目实战】使用Docker部署SurveyKing调查问卷系统和考试系统
【8月更文挑战第5天】使用Docker部署SurveyKing调查问卷系统和考试系统
42 1
|
1月前
|
Web App开发 关系型数据库 PHP
使用 Docker 快速搭建多版本 PHP 开发环境
使用 Docker 快速搭建多版本 PHP 开发环境
37 2
|
22天前
|
安全 Ubuntu Shell
深入挖掘Debian系统中安装Docker
【8月更文挑战第21天】在Debian系统中安装Docker需按步骤操作:首先确保软件包更新,执行`sudo apt update`并安装必要软件包支持HTTPS;接着添加Docker官方GPG密钥以验证包的完整性和安全性;然后设置Docker稳定版仓库,通过`tee`命令配置仓库文件;再更新软件包索引;最后安装Docker Engine并通过运行测试容器确认安装成功。此指南适用于多数Debian版本,如遇问题请查阅官方文档。
78 0
|
24天前
|
NoSQL 数据可视化 Linux
一文教会你如何在Linux系统中使用Docker安装Redis 、以及如何使用可视化工具连接【详细过程+图解】
这篇文章详细介绍了如何在Linux系统中使用Docker安装Redis,并提供了使用可视化工具连接Redis的步骤。内容包括安装Redis镜像、创建外部配置文件、映射文件和端口、启动和测试Redis实例、配置数据持久化存储,以及使用可视化工具连接和操作Redis数据库的过程。