Zabbix-(二)使用docker部署

一.前言

前文记录了在服务器上搭建zabbix平台,本文记录使用docker部署zabbix 4.4

准备

  • Centos7.6 虚拟机,并安装了docker 版本为18.09.6

二.docker部署

​ 可以通过拉取官方镜像,修改启动参数,部署zabbix-server-mysql、zabbix-web-nginx-mysql、zabbix-web-nginx-mysql、zabbix-agent模块。本文记录拉取各个模块的镜像,并启动容器部署。

​ 除此之外,也可以拉取zabbix-appliance镜像,进行部署,该镜像内置了Mysql数据库、Zabbix server、基于Nginx和Java gateway的Zabbix web页面。可以参考官方部署示例:通过Zabbix appliance部署

1.官方镜像

各模块镜像地址:

zabbix官方所有镜像地址

2.容器部署

  1. mysql部署

    注:如果已有数据库,那么可以省去这个步骤

    docker run --name mysql-server -t \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_ROOT_PASSWORD="root" \
    -d mysql:8.0 \
    --character-set-server=utf8 --collation-server=utf8_bin
  2. zabbix java gateway部署

    docker run --name zabbix-java-gateway -t \
    -d zabbix/zabbix-java-gateway:centos-4.4-latest
  3. zabbix-server-mysql部署

    ​ 这里link了上面部署的mysql容器和zabbix java gateway容器,并且指定数据库相关参数,和修改时区。更多的参数可以参考dockerhub zabbix-server-msql启动参数 以及 zabbix-server 4.4官方参数

    注:如果启动日志无法连接到mysql,可以查看部署问题

    docker run --name zabbix-server-mysql -t \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_PORT="3306" \
    -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
    -e ZBX_TIMEOUT="20" \
    -e PHP_TZ="Asia/Shanghai" \
    -v /etc/localtime:/etc/localtime \
    --link zabbix-java-gateway:zabbix-java-gateway \
    --link mysql-server:mysql \
    -p 10051:10051 \
    -d zabbix/zabbix-server-mysql:centos-4.4-latest
  4. zabbix-web-nginx-mysql部署

    需要配置数据库相关参数,并暴露容器80端口供外部18080端口访问

    docker run --name zabbix-web-nginx-mysql -t \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_PORT="3306" \
    -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
    -e ZBX_SERVER_HOST="zabbix-server-mysql" \
    -e PHP_TZ="Asia/Shanghai" \
    -v /etc/localtime:/etc/localtime \
    --link zabbix-server-mysql:zabbix-server-mysql \
    --link mysql-server:mysql \
    -p 18080:80 \
    -d zabbix/zabbix-web-nginx-mysql:centos-4.4-latest
  5. zabbix-agent部署

    docker run --name zabbix-agent \
    -e ZBX_HOSTNAME="zabbix-server-mysql" \
    -e ZBX_SERVER_HOST="zabbix-server-mysql" \
    -v /etc/localtime:/etc/localtime \
    -p 10050:10050 \
    --link zabbix-server-mysql:zabbix-server-mysql \
    -d zabbix/zabbix-agent:centos-4.4-latest

三.访问zabbix界面

访问 http://192.168.152.140:18080/

四.其他

部署问题

  1. 无法连接到mysql,zabbix-server-mysql和zabbix-web-nginx-mysql容器打印日志

    **** MySQL server is not available. Waiting 5 seconds...

    原因:由于mysql镜像使用的是mysql 8.0,而zabbix-server-mysql和zabbix-web-nginx-mysql镜像中安装的mysql-client是5版本的,所以这两个容器连接mysql时会报以下错误

    ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

    解决:修改zabbix账号

    # 进入mysql-server容器
    docker exec -it mysql-server /bin/bash -c 'mysql -uroot -proot' # 修改zabbix账号
    ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'zabbix';

Zabbix-(二) 使用docker部署的更多相关文章

  1. 二、Docker部署应用

    一.有关Docker的安装请参考docker官网  Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并 ...

  2. 【Docker学习之二】Docker部署安装

    环境 docker-ce-19.03.1-3.el7.x86_64 一.Docker的部署安装 Docker采用Linux(内核)技术,所以只能运行在Linux上,官方说Linux kernel至少3 ...

  3. 二进制安装 kubernetes 1.12(二) - 安装docker, 部署Flannel网络

    在 node 节点上安装 docker 参考 https://www.cnblogs.com/klvchen/p/8468855.html Flannel 工作原理: 部署Flannel网络 在 ma ...

  4. Docker部署Zabbix+Grafana监控

    Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...

  5. docker部署nodejs项目应用

    之前笔者弄了一套nestjs项目放在自己服务器上,并用pm2管理进程. 现在要把pm2停止,尝试一下用docker容器,那么首先要安装docker 一.安装docker 由于笔者服务器的系统是cent ...

  6. Linux上用Jexus部署Asp.Net网站:常规部署与Docker部署

    (一)常规部署 一.把 jexus压缩包下载到linux临时文件夹中. cd /tmp wget linuxdot.net/down/jexus-6.2.x-arm64.tar.gz (不同的操作系统 ...

  7. Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)

    一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...

  8. AspNetCore容器化(Docker)部署(二) —— 多容器通信

    一.前言 着上一篇 AspNetCore容器化(Docker)部署(一) —— 入门,在单个容器helloworld的基础上引入nginx反向代理服务器组成多容器应用. 二.配置反向代理转接 配置转接 ...

  9. docker部署zabbix

    我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环境 2台物理机机器: zabbix ...

  10. docker部署zabbix并设置自动发现规则

      docker部署zabbix比源码安装简单一些,特此记录: 机器准备: zabbix-server: 192.168.0.150 homeserver zabbix-agent: 192.168. ...

随机推荐

  1. 少用float浮动?

    在css中,float 属性定义元素在哪个方向浮动.也是我在css样式中常用到的属性,后来浏览了一些公司项目代码,发现float属性极少有人使用.随后做了一些调查和研究: 1.在ie6以下,float ...

  2. SSO单点登录思路

    SSO (Single Sign On) 什么是单点登录: 在大型的互联网公司中会有多个系统, 多个项目, 虽然这些项目都属于同一家公司, 但是项目本身其实都是独立的, 那多个系统可不可以实现共享同一 ...

  3. 2019-2020-7 20199317《Linux内核原理与分析》第七周作业

    第6章  进程的描述和进程的创建 1  进程的描述       操作系统内核实现操作系统的三大管理功能,即进程管理.内存管理和文件系统.其中,操作系统内核中最核心的功能是进程管理.为了管理进程,内核要 ...

  4. php方法注释

    注释格式 <?php /** * @method 发送邮件 * @url email/send?token=xxx * @http POST * @param token string [必填] ...

  5. tomcat部署项目,详细!

    一.导出war包 1.先导出项目的war包(idea为例) 点+号,选择 之后点ok,确定,关闭窗口,回到idea主页面 在弹出窗口中选择新建的war,选build 之后在war导出目录,找到这个wa ...

  6. Python-Excel 模块哪家强 #华为云·寻找黑马程序员#

    python操作excel 最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针对二者的封装有如下模块: xlutils & xlrd & xlwt 为什么把这三个一起说? 首先,x ...

  7. .Net Core的API网关Ocelot的使用(二)[负载,限流,熔断,Header转换]

    网关的负载均衡 当下游拥有多个节点的时候,我们可以用DownstreamHostAndPorts来配置 { "UpstreamPathTemplate": "/Api_A ...

  8. 安装破解版IntelliJ IDEA

    1.下载IntelliJ IDEA http://www.jetbrains.com/idea/download/#section=windows 选择Ultimate版本 2.注册码破解 http: ...

  9. Java语法进阶13-文件、IO流

    File File是文件和目录路径名的抽象表示形式,即File类是文件或目录的路径,而不是文件本身,因此File类不能直接访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流. File ...

  10. idea object is not a member of package

    可能的原因: 1. pom.xml 依赖的工程没有deploy, 所有需要本地install改工程 2. 工程以来的库没有加入到 pom.xml中 3. 以上都没有问题,则右键该工程 => ma ...