zabbix_agent部署:

建议:zabbix_agent使用docker-compose方式单独部署

启动方式:

1、run方式启动

docker run --rm --network zabbix --name zabbix_agent--link zabbix_server:zabbix-server -e ZBX_HOSTNAME="mythird" -e ZBX_SERVER_PORT="10051" -e ZBX_SERVER_HOST="172.22.0.3" -p 3998:10050 -d zabbix/zabbix-agent:alpine-3.0-latest

2、docker-compose.yml

目录结构:

[root@container1 zabbix_agent]# cat etc/env_agent
ZBX_SERVER_HOST=172.22.0.3
ZBX_SERVER_PORT=10051
ZBX_HOSTNAME=kgtest
ZBX_LISTENPORT=3050
ZBX_LOGTYPE=file
ZBX_LOGFILE=/tmp/zabbix_agentd.log

a、与zabbix_server/zabbix_proxy部署在同一个docker-compose.yml时,唯一的区别是:links的设置,其格式:servicename: name of zabbix

    zabbix_agent:image: zabbix/zabbix-agent:alpine-3.0-latestcontainer_name: zabbix_agentports:- "10050:10050"environment:ZBX_HOSTNAME: kgvolumes:- /etc/localtime:/etc/localtime:rolinks:- zabbix_server:zabbix-serveruser: rootprivileged: truerestart: alwaysnetworks:- zabbix

b、单独部署:

A、docker的bridge模式:如果是在同一个机器上,需要使用和zabbix_server/zabbix_proxy相同的网络

[root@container1 zabbix_agent]# cat docker-compose.yml
version: "3"
services:zabbix_agent:image: zabbix/zabbix-agent:alpine-3.0-latestcontainer_name: zabbix_agent3ports:- "3999:3050"env_file:- ./etc/env_agentvolumes:- /etc/localtime:/etc/localtime:ro- ./etc/docker-entrypoint.sh:/usr/bin/docker-entrypoint.sh:ro      - ./etc/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d    - ./scripts:/data/zabbix/scripts- ./logs:/tmpuser: rootprivileged: truerestart: alwaysnetworks:- zabbix
networks:zabbix:external: true

B、使用docker的host模式:为了监控tcp连接数

注意:使用host模式时,一定要需在防火墙中开放zabbix_agent映射在本机的端口

[root@kg zabbix_agent]# cat docker-compose.yml
version: "3"
services:zabbix_agent:image: zabbix/zabbix-agent:alpine-3.0-latestcontainer_name: zabbix_agentports:- "3050:3050"env_file:- ./etc/env_agentvolumes:- /etc/localtime:/etc/localtime:ro- ./etc/docker-entrypoint.sh:/usr/bin/docker-entrypoint.sh:ro- ./etc/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d- ./scripts:/data/zabbix/scripts- ./logs:/tmpuser: rootprivileged: truerestart: always#为了实现tcp连接监控,需要使用host网络模式network_mode: host

检查zabbix_agent是否正常工作:

首先启动zabbix_agent后,在server/proxy容器中先测试一下该agent是否可到达:

web界面设置:

a、如果未设置为自动发现agent方式时,需要手动添加agent主机

agent和server/proxy在同一台机器时,这时候的IP一定是docker分配的内网ip,端口为容器中端口,而不是映射到本机的端口

b、设置为自动发现agent机器

注意:如果设置为添加到某个主机群组时,需要先创建该主机群组

可能出现问题:

1、报错:temporarily disabling Zabbix agent checks on host "kgtest": host unavailable

解决方案:

a、如果是bridge模式,请检查一下agent的ZBX_HOSTNAME是否和主机配置中的主机名相同

b、如果是host模式,请检查一下防火墙是否已开放agent映射到本机端口。测试: telnet 本机IP port

2、报错:Received empty response from Zabbix Agent at [192.168.5.114]. Assuming that agent dropped connection because of access permissions.

其中,192.168.5.114为agent的外网/内网IP

原因:

a、使用zabbix_proxy代理:agent的ZBX_SERVER_HOST设置为zabbix_proxy的IP(172.22.0.6),但是web界面中的主机配置中却选择无agent代理程序。

解决方案:

选择使用指定的agent代理程序即可

b、直连zabbix_server:

A、agent的ZBX_SERVER_HOST设置为127.0.0.1而不是zabbix_server的IP(172.22.0.3)

解决方案:

将agent的ZBX_SERVER_HOST设置为zabbix_server的IP

B、zabbix_agent中日志报错:Message from 172.20.0.6 is missing header. Message ignored.

原因:

  • 版本不一致:zabbix_agent和zabbix_server/zabbix_proxy版本不同不兼容造成的,zabbix_agent使用了新版本,但是zabbix_server使用旧版本造成的

    • 解决方案:检查一下zabbix_agent和zabbix_server版本
  • 测试环境异常:如使用docker安装了zabbix_proxy,却在物理机使用zabbix_get进行zabbix_agent连接测试
    • zabbix_proxy容器中连接zabbix_agent正常
    • zabbix_proxy所在物理机测试异常:Check access restrictions in Zabbix agent configuration

3、发现在中文界面进行自动发现时,出现以下报错:

切换为英文版界面后在操作就没有任何问题

需要更改zabbix_server中mysql中的character_set_server的编码格式。发现在线操作mysql方式无法解决,需要更改一下zabbix_server中的mysql服务启动脚本,解决方案,可以查看一下我的另外一篇文章《docker部署zabbix_server》

docker部署zabbix_agent相关推荐

  1. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

    Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...

  2. Docker 部署SpringBoot项目不香吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...

  3. docker部署springboot_Docker+SpringBoot快速构建和部署应用

    前言 Docker技术发展为当前流行的微服务提供了更加便利的环境,使用SpringBoot+Docker部署和发布应用,其实也是一件比较简单的事情.当前,前提是得有Docker的基础. 构建一个Spr ...

  4. docker初体验:docker部署nginx负载均衡集群

    Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx负载均衡集群 环境 ce ...

  5. docker初体验:docker部署nginx服务

    Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx 环境 centos7 ...

  6. Docker系列 四.Docker部署SpringBoot

    四.Docker部署SpringBoot 环境&工具: 阿里云轻量级服务器.CentOS 7系统.FinalShell(其他连接客户端也可以).IDEA 1. 创建springboot项目 这 ...

  7. Docker部署文档

    Docker部署文档 目录 Docker部署文档 1 一.什么是Docker 3 1.1Docker简介 3 1.2对比传统虚拟机总结 4 1.3Docker通常用于如下场景: 5 1.4基本概念 5 ...

  8. Docker部署Zookeeper集群

    Docker部署Zookeeper集群 官方网站: http://zookeeper.apache.org/ http://zookeeper.apache.org/doc/r3.4.8/zookee ...

  9. 部署go的web应用_使用Docker部署Go Web应用

    为什么需要Docker? 使用docker的主要目标是容器化.也就是为你的应用程序提供一致的环境,而不依赖于它运行的主机. 想象一下你是否也会遇到下面这个场景,你在本地开发了你的应用程序,它很可能有很 ...

最新文章

  1. 粗谈Android中的对齐
  2. LeetCode 7. 整数反转 Reverse Integer 官网答案的条件判定的一点思考
  3. LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
  4. 【Spring Web MVC】Spring Web MVC 注解开发环境搭建
  5. 将图片以流的形式保存到数据库(Image)以及从数据库中取出显示
  6. cocos2dx-3 addImageAsync陷阱
  7. CMOS图像传感器——SmartSens
  8. php 计划任务管理,使用php管理crontab计划任务
  9. sql limit 子句_SQL Server TOP子句概述和示例
  10. calendar与date区别及常用方法介绍
  11. 2020年TI杯大学生电子设计竞赛题A-无线运动传感节点
  12. 排列组合数学的相邻问题(插空法-捆绑法-隔板法)
  13. 解锁三星bl锁有几种方法_三星Note5解锁教程_三星Note5 CROM解BL锁的方法
  14. Pandas数据结构
  15. windows Server 2012修复(CVE-2016-2183)(CVE-2013-2566)(CVE-2015-2808)
  16. 人类实体瘤临床细胞状态和生态系统图谱(EcoTpyer)
  17. 鲲鹏与江西才俊的七夕之约
  18. IMS 注册流程最新
  19. 2022/06/03密码
  20. 关于抽象类说法以下哪些是正确的?

热门文章

  1. valgrind详细说明
  2. 解决win10系统下Elasticsearch闪退问题
  3. R语言 grf包-heterogeneous treatment effect
  4. 工业互联网平台IMSA---1.3.启动过程详解2
  5. 华为5c_华为5c手机价格及产品参数配置【图文】
  6. CF337A Maze 解题报告
  7. Qt知识回顾(十)——图形视图、动画和状态机框架
  8. UI界面布局有哪些?
  9. flutter 解耦框架BLoC在网络请求中的应用
  10. 写GML到一个复杂的应用模式