昨天监控公司的托管主机时发现监控不上,回想起来其实就是个小问题,分分钟能解决的事,排错的过程才是真正耗心费神的。

监控环境:

A   zabbix server: 192.168.17.110    server端设在公司内部

B   zabbix agent: 10.200.66.90      (被动模式)这台服务器为托管机 A(192.168.17.110)通过vpn与托管机B(10.200.66.90)通信,由于防火墙策略,A能ping通B,B不能ping通A,即发起tcp连接的机器必须为A(A--->B),从B方发起的连接(B--->A)是被拒绝的。

zabbix agent端配置文件:

egrep -v "^#|^$" /usr/local/zabbix/conf/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
DebugLevel=3
Server=192.168.17.120
ListenPort=10050
#ServerActive=192.168.17.120
Hostname=10.200.66.92

在zabbix server端运行zabbix_get获取数据报错:

Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection reset by peer

zabbix_get [30318]: Check access restrictions in Zabbix agent configuration

是由于AB只能单向发起连接请求导致的吗?  

在过去的几小时笔者也在纠结是否是这个原因,是不是agent端因为不能主动发起连接所以server获取不到数据呢?

ssh端口转发能解决吗?

既然A到B能通,B到A不通,那可以将B端的10050端口转发到A主机吗?

ssh端口转发的三种模式:本地端口转发,远程端口转发,动态端口转发

A到B能通,B到A不通,照理说应该在A机器上进行ssh远程端口转发,打通B端10050口到A端的通道,但被动模式下A并不是用确定的端口与B的10050通信,所以ssh端口转发并不能解决笔者的问题

问题所在

前面一系列猜想都是因为未对zabbix被动模式有深入理解而导致的,被动模式并不要求AB能互相发起连接,只要A(server)能向B(agentd)发起连接足矣。A通过B的10050端口向B发起TCP连接,三次握手完成后即可进行数据传输。因此问题不应该在此。应该还是配置出问题了!!

查看agent端日志

tail /tmp/zasbbix_agentd.log

......
......
104276:20170829:095704.310 failed to accept an incoming connection: connection from "10.200.58.10" rejected, allowed hosts: "192.168.17.110"

日志说明了一切,都是vpn惹的祸,server(192.168.17.110)通过vpn后进行了地址转换,最终与agent通信的已经不是在内网中的真实IP了,而是变成了10.200.58.10。

解决该问题只需更改server名或server IP即可:将agent配置文件中Server=192.168.17.120改为Server=10.200.58.10

  

zabbix监控托管主机遇到问题的更多相关文章

  1. Zabbix监控Linux主机设置

          说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...

  2. zabbix监控windows主机网卡流量

    监控windows主机网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 客户端配置:(172.30.1.120,wi ...

  3. Zabbix监控虚拟主机告警Lack of free swap space on Zabbix server解决办法

    Zabbix监控虚拟机的时候有时候会报一下告警 是因为Zabbix监控没有考虑虚拟主机的交换空间情况 解决办法修改配置

  4. zabbix监控远端主机

    接着上一篇博客,zabbix监控搭建起来以后,怎么用来监控其他主机呢,这一篇就来简单讲一下,希望对大家有所帮助. 安装一些依赖包 [root@winter ~]# yum install curl c ...

  5. zabbix监控ESXI主机(可用)

    ESXI6.0默认SSH关闭的,打开SSH的方法如下图: SSH打开后,主机会有警报,关闭警报的方法如下图 esxcli system  snmp  set  --communities  publi ...

  6. zabbix监控A主机到B主机的网络质量

    采用zabbix自带的icmp ping即可进行监控: 1.安装fping 2.将fping安装后链接到/usr/sbin/fping下,设置组为zabbix; 3.增加监控项:icmpping[ip ...

  7. Zabbix监控Windows主机

    一,下载zabbix-agent 下载地址:http://www.zabbix.com/downloads/3.0.0/zabbix_agents_3.0.0.win.zip 已经下载好的文件 zab ...

  8. zabbix监控ESXI主机

    ESXI6.0默认SSH关闭的,打开SSH的方法如下图: SSH打开后,主机会有警报,关闭警报的方法如下图 esxcli system  snmp  set  --communities  publi ...

  9. Zabbix添加windows主机监控

    zabbix监控windows主机 1.官网下载zabbix的windows-agent(选择相应版本): https://www.zabbix.com/cn/download_agents 2.将下 ...

随机推荐

  1. Java知多少(39)interface接口

    在抽象类中,可以包含一个或多个抽象方法:但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加“抽象”. 接口使用 interface 关键字来声明,可以看做是一种特 ...

  2. Java知多少(54)断言详解

    断言的概念 断言用于证明和测试程序的假设,比如“这里的值大于 5”.断言可以在运行时从代码中完全删除,所以对代码的运行速度没有影响. 断言的使用 断言有两种方法: 一种是 assert<< ...

  3. Yii2中的composer

    1.下載composer 2.composer 插件或組件 3.有三處修改 a.composer require 的插件在vender下 b.同時vender下的composer文件修改 c.comp ...

  4. 17中介者模式Mediator

    一.什么是中介者模式 Mediator模式也叫中介者模式,是由GoF提出的23种 软件设计模式的一种.Mediator模式是行为模式之一, 在Mediator模式中,类之间的交互行为被统一放在 Med ...

  5. [Python] 动态函数调用(通过函数名)

    2018-04-09 update 利用python中的内置函数 eval() ,函数说明: def eval(*args, **kwargs): # real signature unknown & ...

  6. java虚拟机学习

    //20181129 ·Java虚拟机的内存分为三个部分:栈stack.堆heap.方法区method area----包含在“堆”里面,因为作用特殊所以单独列出来 ·栈的特点:     栈描述的是方 ...

  7. EM学习-思想和代码

    EM算法的简明实现 当然是教学用的简明实现了,这份实现是针对双硬币模型的. 双硬币模型 假设有两枚硬币A.B,以相同的概率随机选择一个硬币,进行如下的抛硬币实验:共做5次实验,每次实验独立的抛十次,结 ...

  8. vue 错误分析

    1  点击事件发生的错误 原因是,重复触发事件函数导致   改为不一样的名字即可 2  提示 : “ vuex] Expects string as the type, but found undef ...

  9. 多文件上传(.net)

    找了很长时间,终于找到了: 前台: <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head ...

  10. 进制转换 map

    a_z = [i for i in map(chr, range(ord('a'), ord('z') + 1))]'''Address of var1 variable: 240ff24Addres ...