docker环境下部署zabbix

这篇具有很好参考价值的文章主要介绍了docker环境下部署zabbix。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker环境下部署zabbix

️    注:安装时出现的问题及解决办法在最下面!!!

docker+zabbix,使用docker搭建zabbix服务

Zabbix 介绍

zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Zabbix 作为企业级分布式监控系统,具有很多优点,如:分布式监控,支持 node 和 proxy 分布式模式;自动化注册,根据规则,自动注册主机到监控平台,自动添加监控模板;支持 agentd、snmp、ipmi 和 jmx 等很多通信方式。然而部署一套完整的zabbix,需要安装数据库、web服务器、zabbix-server和zabbix-agent,这几样服务,过程都比较复杂,一不留心就可能出错,所以今天我使用docker容器搭建了一套zabbix服务,不仅搭建快,而且不易出错。本文适合了解docker的朋友。

zabbix中文文档Zabbix documentation in Chinese [Zabbix Documentation 3.4]

Zabbix 相关镜像下载

1. 下载载MySQL镜像mysql:5.7。在docker hub上有以下版本

    8.0.11,8.0,latest

    5.7.22,5.7,5

    5.6.40, 5.6

    5.5.60, 5.5

这里使用5.7版本,在linux终端拉取mysql5.7镜像

docker pull mysql

  1. 下载zabbix-server镜像,zabbix-server镜像分两种,支持MySQL数据库zabbix-server-mysql,支持支持PostgreSQL数据库zabbix/zabbix-server-pgsql。下面安装的是支持MySQL数据库的Server镜像。

打开zabbix-server-mysql的docker hub,大家会发现,zabbix-server-mysql有下面这些版本

1 Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) 2 Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) 3 Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) 4 Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) 5 Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest, alpine-latest, ubuntu-latest, centos-latest, latest) 6 Zabbix server 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) 7 Zabbix server 4.0 (tags: alpine-trunk, ubuntu-trunk)

因为我的服务器是centos7版本,所以选择的是centos-latest版本。还有后面如果想自己重做镜像的话,选择centos版本,用着会更简单一点。在linux终端使用

docker pull zabbix/zabbix-server-mysql:centos-latest

2.下载Zabbix web镜像,这里使用的是基于Nginx web服务器及支持MySQL数据库的Zabbix web接口zabbix/zabbix-web-nginx-mysql。这里是用的是latest版本,在linux终端使用

docker pull zabbix/zabbix-web-nginx-mysql:latest

3.下载zabbix-java-gateway镜像, Zabbix本身不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能。这里我们使用latest版本,在linux终端使用

docker pull zabbix/zabbix-java-gateway:latest

镜像运行

  1. 启动zabbix等镜像之前,需要先创建一个新的 Docker 网络。需要将后面的zabbix-server、mysql、web等容器都加入到此网络中,方便互相访问。在终端使用下面命令创建。

docker network create -d bridge zabbix_net

创建后,可以查看是否创建成功。

docker network ls

2.运行mysql 镜像,创建mysql容器。

docker run -dit -p 3307:3306 --name zabbix-mysql --network zabbix_net --restart always -v /etc/localtime:/etc/localtime -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="love-520" -e MYSQL_ROOT_PASSWORD="love-520" mysql

MYSQL_DATABASE="zabbix"   

  在msql中创建的数据库的名

MYSQL_USER="zabbix"  

 创建msql的登录账户名

MYSQL_PASSWORD="love-520" 

设置创建msql的登录账户的密码

MYSQL_ROOT_PASSWORD="love-520" 

设置msql数据库root 的密码

其中-p 是将容器中的3306端口映射到服务器的3306端口,

--network zabbix_net是将容器加入到zabbix_net网络中,

-v /etc/localtime:/etc/localtime是同步服务器和容器内部的时区,

--restart always设置自启动,

-e MYSQL_DATABASE="zabbix",创建环境变量。

--name zabbix-mysql,给容器命名。

3.运行zabbix-java-gateway镜像,创建zabbix-java-gateway容器。

docker run -v /etc/localtime:/etc/localtime -dit --restart=always --name=zabbix-java-gateway --network zabbix_net zabbix/zabbix-java-gateway

4.运行zabbix-server-mysql镜像,创建zabbix-server-mysql容器。

首先创建数据卷zabbix-server-vol,通过命令

 docker volume create zabbix-server-vol

启动zabbix-server-mysql容器。

此处的以下内容与 运行mysql 镜像,创建mysql容器设置的内容要一致

docker run -dit -p 10051:10051 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="love-520" -e MYSQL_ROOT_PASSWORD="love-520" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" zabbix/zabbix-server-mysql:centos-latest

5.运行zabbix-web-nginx-mysql镜像,创建zabbix-web-nginx-mysql容器。

docker run -dit -p 8080:8080 -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="love-520" -e MYSQL_ROOT_PASSWORD="love-520" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:latest

zabbix所需容器已经全部启动

6. 在浏览器中输入http://IP/zabbix,打开zabbix首页,其中用户名密码分别是admin/zabbix。出现下面页面,zabbix搭建成功。是不是比自己创建数据库,搭建zabbix-server简单很多。

zabbix docker,Linux,docker,zabbix,容器

7. docker-compose

1).创建挂载文件

mkdir -p /data/docker/mysql-data
mkdir -p /data/docker/zabbix

2).compose.yml文件

version: '3'
services: 
 
  zabbix_mysql:
    container_name: "zabbix_mysql"
    restart: "always"
    image: mariadb
    ports:
      - "3306:3306"
    volumes:
      - /data/docker/mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "mysqlpss123"
      MYSQL_USER: "zabbix"
      MYSQL_PASSWORD: "mysqlpss123"
      MYSQL_DATABASE: "zabbix"
 
  zabbix_server:
    container_name: "zabbix_server"
    restart: "always"
    image: zabbix/zabbix-server-mysql
    ports:
      - "10051:10051"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /data/docker/zabbix:/usr/lib/zabbix
    depends_on:
      - zabbix_mysql
    links:
      - zabbix_mysql:mysql
    environment:
      DB_SERVER_HOST: "mysql"
      MYSQL_USER: "zabbix"
      MYSQL_DATABASE: "zabbix"
      MYSQL_PASSWORD: "mysqlpss123"
 
  zabbix_nginx_web:
    container_name: "zabbix_nginx_web"
    restart: "always"
    image: zabbix/zabbix-web-nginx-mysql
    ports:
      - "8443:443"
      - "80:8080"
    depends_on:
      - zabbix_mysql
      - zabbix_server
    links:
      - zabbix_mysql:mysql
      - zabbix_server:zabbix_server
    environment:
      DB_SERVER_HOST: "mysql"
      MYSQL_USER: "zabbix"
      MYSQL_PASSWORD: "mysqlpss123"
      MYSQL_DATABASE: "zabbix"
      ZBX_SERVER_HOST: "zabbix_server"
      PHP_TZ: "Asia/Shanghai"
  zabbix-agent-a:
    image: zabbix/zabbix-agent
    links: 
      - zabbix_server:zabbix_server
    container_name: zabbix-agent-a
    restart: always
    depends_on:
      - zabbix_server
    environment:
      - ZBX_HOSTNAME=zabbix-agent-a  
      - ZBX_SERVER_HOST=zabbix_server

️   注意:安装时,本地已占用的端口就别用了,将映射前的端口改了就可以了

以上两种方法都可以实现。

出现这个问题,你会发现你的已经全部启动了,但是就是访问不了,进入mysql会发现是拒绝访问,

        1.可能是开了防火墙,

        2.可能是你的端口没有打开,这个时候去nginx-conf下把你所需的端口打开,就能正常访问了。文章来源地址https://www.toymoban.com/news/detail-729017.html

到了这里,关于docker环境下部署zabbix的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker容器部署OpenCV,打造高效可移植的计算机视觉开发环境

    海鲸AI-ChatGPT4.0国内站点:https://www.atalk-ai.com 在计算机视觉领域,快速部署和测试算法是研究和开发的关键。OpenCV作为一个强大的开源计算机视觉库,广泛应用于各种图像处理和视频分析任务。然而,配置OpenCV环境可能会因为不同操作系统和依赖库的版本差异而变得复杂。这

    2024年04月26日
    浏览(42)
  • 如何使用Zabbix官方模板轻松实现Docker容器监控?

    感谢王军 ZCP(Zabbix 高级认证专家)翻译!欢迎投稿分享你的使用经验。 本文将介绍通过Zabbix监控Docker容器。使用官方模板 Docker by Zabbix agent2 template 很容易实现Docker容器监控。模板下载链接和配置步骤可以在 Zabbix 集成页面上找到。 导入官方Docker模板 安装并配置Zabbix Agent2 Z

    2024年02月05日
    浏览(55)
  • Linux 上安装部署Nacos、Docker 创建Nacos容器

    Nacos是一个开源的分布式服务发现和配置管理平台,它可以帮助开发人员实现微服务架构中的服务注册、发现和动态配置管理。 步骤1:准备工作 在开始安装Nacos之前,确保您已经具备以下条件: Linux环境 :您可以选择使用Ubuntu、CentOS或其他基于Linux的发行版。 Java环境 :Na

    2024年02月03日
    浏览(53)
  • zabbix基础环境部署

    目录 一、环境准备 二、部署LNMP 1、安装Nginx及其依赖包 2、修改nginx配置 3、测试页面  三、部署zabbix服务端 1、下载zabbix 2、安装源码zabbix 3、为zabbix创建数据库与数据库账户 4、搭建Zabbix页面 4.1、第1步 Check of pre-requisites 4.2、第2步 Configure DB connection 4.3、第3步 Zabbix server det

    2024年02月09日
    浏览(47)
  • K8S部署后的使用:dashboard启动、使用+docker镜像拉取、容器部署(ubuntu环境+gpu3080+3主机+部署深度学习模型)

    0、k8s安装、docker安装 参考:前两步Ubuntu云原生环境安装,docker+k8s+kubeedge(亲测好用)_爱吃关东煮的博客-CSDN博客_ubantu部署kubeedge  配置节点gpu: K8S调用GPU资源配置指南_思影影思的博客-CSDN博客_k8s 使用gpu 1、重置和清除旧工程:每个节点主机都要运行 2、部署新的k8s项目:

    2023年04月20日
    浏览(57)
  • Linux部署DockerUI结合内网穿透实现远程管理本地Docker容器

    DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基于容器安装方式,部署方便高效,浏览和维护docker单节点或集群节点worker和manager。DockerUI具有易于使用的界面。它不需要记住 docker 指令。只需下

    2024年03月20日
    浏览(48)
  • Docker 部署 Zabbix6.4

    1.1.离线安装docker docker网址:https://download.docker.com/linux/static/stable/x86_64/ 1.2 安装docker 1.3 更改数据默认存储位置 data-root /graph:取决于具体的系统版本或者kernel版本决定要用data-root还是graph 1.4 查看更改信息 2.1 拉取镜像 2.2 启动容器 PS:默认情况下,容器的网卡都是经过 NAT 的,

    2024年02月08日
    浏览(53)
  • 【Linux】Docker部署Elasticsearch镜像环境

    1、查看防火墙状态 2、开启防火墙 3、关闭防火墙 4、开机禁止开启防火墙 5、开启自启防火墙 1、安装指定版本 比如 8.2.0 2、查看是否拉取成功 3、选择挂载硬盘创建四个目录,并设置目录权限为可读写。 4、先启动一个简单的容器 这里记录一下 进入容器的方式 先查看正在运

    2024年02月13日
    浏览(38)
  • Linux环境下Docker实现项目部署

    报错: 启动mobarXterm时 Network error: Connection timed out 解决: 在Vmware中关闭防火墙 参考【】    参考【】  参考 【https://www.bilibili.com/video/BV1HP4118797/?p=4share_source=copy_webvd_source=10835d8d64d716d4b383904238bd8741】 打开左上角的\\\"显示器连接管理器\\\" 点击左下角\\\"新建\\\" 右边填写ip地址 {虚拟机

    2024年02月21日
    浏览(36)
  • linux docker部署深度学习环境(docker还是conda)

    在深度学习中,避免不了在远程服务器上进行模型的训练,如果直接在服务器裸机的基础环境跑显然是不可取的,此时搭建用于模型训练的docker环境显得尤为重要。 在深度学习中,避免不了在远程服务器上进行模型的训练,如果直接在服务器裸机的基础环境跑显然是不可取的

    2024年02月21日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包