基于docker快速搭建zabbix 6.2监控平台

本文介绍了如何使用Docker在CentOS上部署Zabbix监控系统,包括设置Zabbix-server、数据库、java-gateway、agent以及web界面,详细列出了每个组件的Docker镜像下载和容器启动命令。
摘要由CSDN通过智能技术生成

zabbix架构信息

1. zabbix-server

zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心功能。

2. database

用于存储监控数据和配置信息的数据库,目前常用的有mysql和postgresql两种数据库。

3. zabbix-web

zabbix的UI端,提供操作控制台和监控展示等功能。

4. zabbix-java-gateway

用于监控Java程序的JVM状态,zabbix本身无法直接从jvm获取监控指标,需使用该网关来实现。

5. zabbbix-agent

zabbix的代理端,部署在目标主机上,用于收集主机的监控数据,并提供给到zabbix server。

安装docker

1. 配置官方yum源

$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2. 安装Docker

$ sudo yum install docker-ce docker-ce-cli containerd.io

3. 启动Docker

$ sudo systemctl start docker

4. 查看Docker版本号,确认安装正确。

$ docker version

部署zabbix组件

zabbix支持mysql/postgresql两种数据库,本示例使用支持mysql的zabbix版本。

1. 安装数据库

下载镜像,zabbix 6.x版本要求使用mysql 8.0。

$ docker pull mysql:8.0

创建存储卷,用于持久化mysql数据。

$ docker volume create -d local  mysql_data #存放mysql数据
$ docker volume create -d local  mysql_logs #存放mysql日志
$ docker volume create -d local  mysql_conf #存放mysql配置文件 

启动容器

$ docker run --name mysql-server -t \
   -v mysql_data:/var/lib/mysql \
      -v mysql_logs:/var/log/mysql \
      -v mysql_conf:/etc/mysql \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --restart=unless-stopped \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

2. 安装zabbix-java-gateway

下载镜像

$ docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest

启动容器

$ docker run --name zabbix-java-gateway -t \
   --restart=unless-stopped \
      -d zabbix/zabbix-java-gateway:alpine-6.2-latest

3. 安装zabbix-server

下载镜像

$ docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest

创建存储卷,用于存储zabbix配置文件。

$ docker volume create -d local  zabbix_server

启动server容器,开放10051/TCP端口,用于接收监控数据。添加--link参数,实现mysql和java-gateway容器间的互相通信。

$ docker run --name zabbix-server-mysql -t \
    -v zabbix_server:/etc/zabbix \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      --restart=unless-stopped \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:alpine-6.2-latest

注释:此方式适合所有容器部署在同一台主机上,如果是分开部署,则在前面的步骤需要开放相关端口,并通过局域网进行连接。

4. 安装Zabbix Web 界面

下载镜像

$ docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

启动web容器

$ docker run --name zabbix-web-nginx-mysql -t \
   -e PHP_TZ="Asia/Shanghai" \
   -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

5. 登录zabbix

部署完成后,打开浏览器访问主机地址,即可访问zabbix。

登录账号:Admin

密码:zabbix

 登录后显示界面,部署完成。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fmnsliudi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值