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. Vue各种配置

    小知识 Vue.prototype和Vue.use的区别 这个是全局可以通过Vue对象获取serring的值 Vue.prototype.$settings = settings; 这个是配置全局环境 ...

  2. PAT(甲级)2017年春季考试

    PAT(甲级)2017年春季考试 A.Raffle for Weibo Followers #include<bits/stdc++.h> using namespace std; int ...

  3. RDS关系型数据库 入门 01 创建关系型数据库实例【华为云分享】

    [摘要] 关系型数据库(Relational Database Service,简称RDS)是一种基于云计算平台的即开即用.稳定可靠.弹性伸缩.便捷管理的在线关系型数据库服务.RDS具有完善的性能监控 ...

  4. Cypher基本指令学习1

    1.查询节点 查询所有节点match (n) return n 查询带有标签的节点 match(movie:Flyer) return movie.name 查询关联节点(查询A导演的所有电影) ma ...

  5. 关于简单的Excel多页签底层导出_电子底账导出为例(.net core)

    [HttpPost] public ActionResult ExpEleAcc(string linknos) { string filenname = null; CommonResult< ...

  6. iOS-使用Xcode自带单元测试UnitTest

    ![Uploading QQ20160129-3_262826.png . . .]####什么是单元测试?一听到单元测试这个词感觉很高端,其实单元测试就是为你的方法多专门写一个测试函数.以保证你的方 ...

  7. openlayers6结合geoserver实现地图空间查询(附源码下载)

    前言 之前写过一篇 openlayers4 版本的地图空间查询文章,但是由于是封装一层 js 代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图空间查询文章,直接基于最新版本 open ...

  8. nginx学习(一):安装nginx

    学习下nginx,本篇文章主要讲解下在linux下安装nginx 下载nginx 安装包 1.去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本: 2.上传tar包到li ...

  9. HDU1944 S-NIM(多个NIM博弈)

    Arthur and his sister Caroll have been playing a game called Nim for some time now. Nim is played as ...

  10. 200G网盘资源分享

    今日偶得大量网盘资源,遂写一博文以分享! 来源:HACK学习呀,微信公众号:HACK学习呀 文件名 链接 提取密码 2015cracer入侵入门到精通视频教程 点我查看 trf3 一笔√带过入侵教程 ...