容器化部署zabbix

2023-11-07

一、创建docker-compose.yml文件
首先创建一份docker-compose.yml文件,使用docker-compose进行容器的编排。

$ mkdri /zabbix  #在根目录创建zabbix文件
$ cd   /zabbix
$ touch docker-compose.yml  #创建yml容器编排文件
  • 1
  • 2
  • 3

二、编写yml文件内容

$ ll
$ vim docker-compose.yml
  • 1
  • 2
version: '2'
services:
  zabbix-mysql-service: 
    image: daocloud.io/library/mysql:8
    container_name: zabbix-mysql-service
    environment:
      - MYSQL_ROOT_PASSWORD=888888
    restart: always
  zabbix-server-service:
    image: monitoringartist/zabbix-xxl:3.2.6
    links: 
      - zabbix-mysql-service:mysqlhost
    container_name: zabbix-server-service
    restart: always
    depends_on:
      - zabbix-mysql-service
    ports:
      - "8888:80"
    environment:
      - ZS_DBHost=mysqlhost
      - ZS_DBUser=root
      - ZS_DBPassword=888888
  zabbix-agent-a:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-a
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-a
      - ZBX_SERVER_HOST=zabbixserverhost
  zabbix-agent-b:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-b
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-b
      - ZBX_SERVER_HOST=zabbixserverhost
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

我们的docker-compose.yml内容如下:
1、mysql和zabbix server是必须的,再新增了两个zabbix agent容器,名称分别是zabbix-agent-a和zabbix-agent-b,zabbix agent在配置过程中要用到zabbix server的ip信息,这里我们通过links参数,在zabbix agent的host文件中加入了zabbix server的ip信息,host name是zabbixserverhost
2、ZBX_HOSTNAME和ZBX_SERVER_HOST这两个环境变量,在zabbix agent镜像的官方文档中已经说明;
3、ZBX_HOSTNAME用来表示自己的身份,ZBX_SERVER_HOST是用来标明zabbix server的ip信息的,这里直接用link参数中的alias来表示,就能通过host直接找到zabbix server的ip了;
三、启动docker 容器
打开控制台,在docker-compose.yml文件所在的目录下执行命令docker-compose up -d
如图:
这里写图片描述
等待zabbix server初始化在命令行输入命令docker logs -f zabbix-server-service,查看zabbix server的日志输出,下图是部分日志的截图,可以看到有数据库初始化的操作
如图:
这里写图片描述
四、查看日志是否报错
等待大约一分钟之后,zabbix server的日志不再滚动,表示初始化已经完成,打开浏览器输入http://localhost:8888,可以看到zabbix的管理系统的登录页面
如图:
这里写图片描述
五、获取监控机器ip
按照前面的部署描述图上的部署,有两台机器装了zabbix agent服务,然后想要加入监控,第一步我们要把机器的ip确定下来,在控制台执行docker exec -it zabbix-agent-a ip addr命令,可以看到如下输出,第一台机器的ip是172.31.0.4:在控制台执行docker exec -it zabbix-agent-b ip addr命令,可以看到如第二台机器的ip是172.31.0.5;
如图:
这里写图片描述
六、解决 docker-compose up -d 命令不能运行
1、安装扩展源:sudo yum -y install epel-release
2、安装python-pip模块:sudo yum install python-pip
3、

     [root@fd240 bin]# ./docker-compose 
     Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
  • 1
  • 2

4、解决办法:
进入下面的网址下载目前的最新版:

https://github.com/docker/compose/releases/tag/1.14.0-rc2
  • 1

网页拉到最下面,下载:

docker-compose-Linux-x86_64
  • 1

然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,增加可执行:

chmod +x /usr/local/bin/docker-compose
  • 1

然后再运行

[root@fd240 bin]# docker-compose version
docker-compose version 1.14.0-rc2, build 24dae73
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2018
  • 1
  • 2
  • 3
  • 4
  • 5

可以看到已经没有问题了
5、Docker-Compose命令失效怎么解决

 解决步骤:https://www.cnblogs.com/YatHo/p/7815400.html
  • 1

6、docker命令

查看运行容器
docker ps
查看所有容器
docker ps -a
进入容器
其中字符串为容器ID:
docker exec -it d27bd3008ad9 /bin/bash
停用全部运行中的容器:
docker stop $(docker ps -q)
删除全部容器:
docker rm $(docker ps -aq)
一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

《参考:https://blog.csdn.net/boling_cavalry/article/details/77095153
《参考:https://blog.csdn.net/qq_36178641/article/details/80213387

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

容器化部署zabbix 的相关文章

随机推荐

  • Talib技术因子详解(四)

    talib安装方式 pip install Ta lib Tushare数据获取请参考 金融量化分析基础环境搭建 数据获取代码请参考 Talib技术因子详解 一 26 MACD 异同移动平均线 调用方式如下 macd macdsignal
  • Swingbench基准测试-4、基准测试报告(results2pdf)

    生成基准测试报告 基准测试完成后 自动将生成测试结果 results xml 该文件需要可使用 results2pdf 将xml结果生成pdf格式 转换过程如下 results2pdf bat c results xml o results
  • C# 迭代器实现枚举器

    在上一篇日志中说的手动实现枚举器来枚举自定义的类型 http blog csdn net weixingstudio article details 6817319 可以看到过程非常复杂 而且容易出错 为了减轻程序员的负担 C 还提供了迭代
  • tp5开发购物商城

    Tp5 1开发购物商城 本人已自学2年 PHP计算数据库中商品总和 非联表查询 1 首先利用client type 注册类型 client id 注册ID 查询出对应的产品订单 2 在common公共文件中 利用对产品表进行查询出相应的价格
  • Qt d指针简单实现及解析

    object h ifndef OBJECT H define OBJECT H define INVOKE METHOD PRIVATE Class Class Private d func return reinterpret cast
  • 虚拟机无法打开“D:\虚拟机\CentOS.vmx”

    虚拟机无法打开 D 虚拟机 CentOS vmx 对于这个问题 解决方法是移管理员身份运行这个VM软件 但是每次都用管理员权限很麻烦 一劳永逸的方法是 1 右击软件打开属性 2 选兼容性那个 3 勾选里面的以管理员身份运行 4 点击确定就可
  • UE4和C++ 开发-Unity 过度到 Unreal 4 对比简化版

    3 两个引擎的部分术语对比 4 7 From GameObjects to Actors 从GameObjects到Actors GameObject在UE4中如何体现 UE4有一个 Gameplay Framework 系统来使用这些Ac
  • 分解质因数模板

    include
  • CTP量化之路一(CTP接口篇)

    随时股票交易越来越顺 条件单系统大大缩减了我看盘的时间 资产越来越多的同时 分散风险也成了个人的需求 因为手时已有成熟的交易策略 自已曾经用的期货账号也还没有被冻结 于是想着拣来做期货自动化 于是自上周向期货公司申请了期货自动化 填写了一堆
  • kubeadm搭建高可用k8s集群

    1 环境准备 hostname IP 组件 m1 192 168 150 140 keepalived haproxy etcd apiserver docker controller manager scheduler m2 192 16
  • 韦东山视频

    第一期 第二期 一期 免费 54节视频 共16 93G 二期 73节视频 每节50分钟总时长3650分钟 共29 6G 掌握写汇编代码的能力 可以分析任意裸板包括U boot 内核里的相关汇编代码 掌握常用的硬件部件的操作 比如GPIO U
  • 【C语言】17-函数-3

    1 链接属性 当组成一个程序的各个源文件分别被编译之后 所有的目标文件以及那些从一个或多个函数库中引用的函数将链接在一起 形成可执行程序 然而 如果相同的标识符出现在几个不同的源文件中时 它们是表示同一个实体 还是表示不同的实体 标识符的链
  • vc不认识 CTreeView

    在VC中调用 CTreeView 方法是 VC会提示error c2504 CTreeView base class undefined CTreeView的基类没有被定义 必须在系统头文件声明处 StdAfx h 加入其头文件 afxcv
  • 把Windows安装到U盘,给Mac电脑用

    启动转换助理是在mac的硬盘分区装win10 mac硬盘金贵呀 以下解决方案把win10安装在u盘 不安装在mac硬盘上 想用的时候插上mac电脑即可 1 把win安装在u盘上 首先在启动转换助理上下载windowssupport文件 具体
  • iOS开发实战之app获取通讯录(iOS 9)

    在做通讯类APP的时候 时常会访问到手机的通讯录 来获取联系人的各种属性 那么本文就来讨论一下怎么获取通讯录 注意 iOS 9 版本上可以行 其他版本未试 第一步 先导入系统库 Contacts framework 然后在 h上导入头文件
  • VGG与风格迁移算法原理

    一 实验介绍 1 1 实验内容 上节课我们学习了卷积神经网络的基本原理 本节实验我们将学习用于图像风格迁移的经典的卷积神经网络模型VGG 并用caffe提供的 draw net py 实现模型的可视化 本节实验我们也将学习图像风格转换的算法
  • 11月22日 EQS优化,让AI知道什么地方不能走,自定义游戏模式,让AI在玩家旁边生成,难度提升,随着时间增多的AI

    EQS优化 让AI知道什么地方不能走 首先进行小修改 创建一个新的AIEQS 新建一个测试pawn 把测试pawn放入场景内 在eqs中放入我们写的eqs任务 使用模拟游戏 就可以直接可视化eqs的选择坐标点 https docs unre
  • JMeter之压力测试——混合场景并发

    在实际的压力测试场景中 有时会遇到多个场景混合并发的情况 这时就需要设置不同的并发比例对不同场景请求数量的控制 下面提供两种方案 一 多线程组方案 1 业务场景设计如下 场景A 场景B 场景C 三个场景按照并发比例要求进行100个用户并发的
  • c语言rand的最大值,[讨论]有关rand()生成数的大小..

    讨论 有关rand 生成数的大小 我想生成 bits的随机数 现在想知道rand 最大能生成多少bits的随机数 搜索更多相关的解决方案 rand 成数 解决方案 当然是32位可以表示的最大数 解决方案 可是经过反复测试 是生成的 位的随机
  • 容器化部署zabbix

    一 创建docker compose yml文件 首先创建一份docker compose yml文件 使用docker compose进行容器的编排 mkdri zabbix 在根目录创建zabbix文件 cd zabbix touch