一 前期规划

1.1 Zabbix架构图

1.2 其他规划

组件
类型
版本
备注
Zabbix Web
zabbix-web-apache-mysql镜像
wordpress:latest
也可采用zabbix-web-nginx-mysql镜像
数据库
MySQL数据库镜像
mysql:5.7
也可采用MariaDB
zabbix-server-mysql镜像
   
node01
zabbix/zabbix-agent
 
被监控端
Docker已安装,参考《002.Docker版本及安装》。
Docker Compose已安装,参考《009.Docker Compose基础使用》。

二 正式构建Zabbix Server

2.1 创建目录

 root@docker01:~# mkdir my_zabbix
root@docker01:~# mkdir /zabbix_mysql_data
 

2.2 创建Docker Compose

 root@docker01:~# cd my_zabbix/
root@docker01:~/my_zabbix# vi docker-compose.yml
version: '3'
services:
zabbix-mysql:
image: mysql:5.7
container_name: zabbix-mysql
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbixpassword
volumes:
- /zabbix_mysql_data:/var/lib/mysql zabbix-web-apache-mysql:
image: zabbix/zabbix-web-apache-mysql
container_name: zabbix-web-apache-mysql
environment:
DB_SERVER_HOST: zabbix-mysql
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbixpassword
MYSQL_ROOT_PASSWORD: rootpassword
ZBX_SERVER_HOST: zabbix-server-mysql
PHP_TZ: Asia/Shanghai
ports:
- '80:80'
- '443:443'
links:
- zabbix-mysql
- zabbix-server-mysql
depends_on:
- zabbix-mysql
- zabbix-server zabbix-server:
image: zabbix/zabbix-server-mysql
container_name: zabbix-server-mysql
network_mode: host
environment:
DB_SERVER_HOST: 127.0.0.1
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbixpassword
MYSQL_ROOT_PASSWORD: rootpassword
ports:
- '10051:10051'
links:
- zabbix-mysql
depends_on:
- zabbix-mysql zabbix-agent:
image: zabbix/zabbix-agent
container_name: zabbix-server-agent
network_mode: host
environment:
ZBX_HOSTNAME: zabbix server
ZBX_SERVER_HOST: 127.0.0.1
ports:
- '10050:10050'
 

2.3 开始构建

 root@docker01:~# cd my_zabbix/
root@docker01:~/my_zabbix# docker-compose up -d
 

2.4 确认验证

浏览器访问http://172.24.8.111
如上所示即可正常登录,更多Zabbix使用方法请参考官方文档。

三 构建Zabbix Agent

3.1 安装Docker

需要被监控客户端节点安装Docker,参考《002.Docker版本及安装》。

3.2 安装Docker Compose

在需要被监控客户端节点安装Docker Compose,参考《009.Docker Compose基础使用》。

3.3 创建Docker Compose

 root@node01:~# mkdir my_agent/
root@node01:~# cd my_zabbix/
root@node01:~/my_zabbix# vi docker-compose.yml
version: '3'
services:
zabbix-agent:
image: zabbix/zabbix-agent
container_name: zabbix-server-agent
network_mode: host
environment:
ZBX_HOSTNAME: zabbix server
ZBX_SERVER_HOST: 127.0.0.1
ports:
- '10050:10050'
 

3.4 开始构建

 root@node01:~# docker-compose up -d

四 添加监控节点

4.1 添加主机
Configuration---->Host---->Creat Host
添加需要监控的节点,更多Zabbix使用方法请参考官方文档。
提示:docker相关知识参考本博客其他文档。

029.Docker Compose部署Zabbix实战的更多相关文章

  1. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

  2. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...

  3. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  4. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  5. 在Windows Server 2019通过Docker Compose部署Asp.Net Core

    一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...

  6. 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  7. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  8. Docker Compose部署Nexus3时的docker-compose,yml代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  9. Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

随机推荐

  1. 如何利用 Jmeter 测试上传文件

    在查看本文的前提,有如下几点: 会使用Jmeter,知道如何去添加http请求的sampler 会利用Jmeter完成基本的http请求或者是接口测试 知道文件上传是怎么回事 言归正传,其实文件上传我 ...

  2. swift计算 switch case

    var year = var month = var day = ; let daysOfFeb = year % == && year% != || year % == ?: var ...

  3. android aysncTask面试解析

  4. SciPy模块应用

    1.图像模糊  图像的高斯模糊是非常经典的图像卷积例子.本质上,图像模糊就是将(灰度)图像I 和一个高斯核进行卷积操作:,其中是标准差为σ的二维高斯核.高斯模糊通常是其他图像处理操作的一部分,比如图像 ...

  5. [转]数据对齐对CPU的影响

    [转]http://www.cnblogs.com/wuzhenbo/archive/2012/06/05/2537465.html 1.前言 在IBM开发社区上发现一篇叫'Data alignmen ...

  6. linux windows 共享文件夹

    1.首先在windows上共享一个目录,如:共享了目录share,用户和密码都是:massky 2.在linux机器上,在/mnt目录下建立一个ml45目录,使用root用户,执行下面命令: moun ...

  7. linux 内核是什么?

    一:linux系统如何构成的?User space:User Applications and GNU C library (glibc)kernel space:System Call interf ...

  8. spring整合strus2的Hellowworld

    比较笨,看了三遍才能理解敲对并正确运行: step: 1.建立web工程( Dynamic Web project)一定要勾上创建web.xml 2.导入jar包 这个就比较坑了,我查了有半个小时才查 ...

  9. 解决Javascript中$(window).resize()多次执行

    有些时候,我们需要在浏览器窗口发生变化的时候,动态的执行一些操作,比如做自适应页面时的适配.这个时候,我们需要在窗口拖动的时候去执行代码.但是有些时候,执行的操作比较复杂,我们只希望在窗口拖动完毕之后 ...

  10. 搭建ssh框架项目(五)

    一.控制层优化 (1)创建BaseAction.java类 package com.cppdy.ssh.web.action; import javax.servlet.http.HttpServle ...