zabbix之主动、被动检测

在Item的Type中,有“Zabbix agent”和“Zabbix agent(active)”两个容易混淆的概念,如下图

zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。简单说明一下主动与被动的区别如下:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。

zabbix agent通信过程中的协议均基于json格式,格式如下:

- "ZBXD\x01" (5 bytes)
- data length (8 bytes). 1 will be formatted as 01/00/00/00/00/00/00/00 (eight bytes in HEX, 64 bit number)

备注:为了避免内存耗尽,server限制每个通信连接最多使用64MB内存。

被动检测

server发起如下请求

 <item key>\n

Aegent返回如下响应数据

<HEADER><DATALEN><DATA>[\0<ERROR>]

supported items通信过程

Server打开一个TCP连接

Server发送请求agent.ping\n

Agent接收到请求并且响应<HEADER><DATALEN>1

Server处理接收到的数据1

关闭TCP连接

not supported items通信过程

Server打开一个TCP连接

Server发送请求vfs.fs.size[/nono]\n

Agent接收请求并且返回响应数据 <HEADER><DATALEN>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory

Server接收并处理数据, 将item的状态改为“ not supported ”

关闭TCP连接

主动检测

如前面所说,zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy。很多同学会提出疑问:zabbix多久获取一次active items?它会根据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试
获取ACTIVE ITEMS列表

Agent请求

<HEADER><DATALEN>{
    "request":"active checks",
    "host":"<hostname>"
}

Server响应列表

<HEADER><DATALEN>{
    "response":"success",
    "data":[
        {
            "key":"log[/home/zabbix/logs/zabbix_agentd.log]",
            "delay":30,
            "lastlogsize":0,
            "mtime":0
        },
        {
            "key":"agent.version",
            "delay":600,
            "lastlogsize":0,
            "mtime":0
        },
        {
            "key":"vfs.fs.size[/nono]",
            "delay":600,
            "lastlogsize":0,
            "mtime":0
        }
    ]
}

备注:获取到的items列表中的所有item属性key, delay, lastlogsize ,mtime都必须存在,获取列表的通信过程如下:

Agent打开TCP连接(主动检测变成Agent打开)

Agent请求items检测列表

Server返回items列表

Agent 处理响应

关闭TCP连接

Agent开始收集数据

提交active items数据

Agent发送请求

<HEADER><DATALEN>{
    "request":"agent data",
    "data":[
        {
            "host":"<hostname>",
            "key":"agent.version",
            "value":"2.4.0",
            "clock":1400675595,
            "ns":76808644
        },
        {
            "host":"<hostname>",
            "key":"log[/home/zabbix/logs/zabbix_agentd.log]",
            "lastlogsize":112,
            "value":" 19845:20140621:141708.521 Starting Zabbix Agent [<hostname>]. Zabbix 2.4.0 (revision 50000).",
            "clock":1400675595,
            "ns":77053975
        },
        {
            "host":"<hostname>",
            "key":"vfs.fs.size[/nono]",
            "state":1,
            "value":"Cannot obtain filesystem information: [2] No such file or directory",
            "clock":1400675595,
            "ns":78154128
        }
    ],
    "clock": 1400675595,
    "ns": 78211329
}

Server响应数据

{
 "response":"success",
 "info":"processed: 3; failed: 0; total: 3; seconds spent: 0.003534"
 }

备注:如果有些数据提交失败,比如host、item被删除或者禁用,agent不会尝试从新提交

主动检测提交数据过程如下:

Agent建立TCP连接

Agent提交items列表收集的数据

Server处理数据,并返回响应状态

关闭TCP连接

时间: 2024-11-05 05:14:42

zabbix之主动、被动检测的相关文章

监控利器Zabbix之主动模式和被动模式

一:zabbix的主动模式和被动模式 zabbix客户端分数据给服务端分为主被动两种模式,主动模式是zabbix客户端主动向服务端发送数据,被动模式是被动等待客户端来取数据. 主动模式的流程: 客户端每隔一段时间主动向服务端发起连接请求–>服务端收到请求,查询客户端需要取的item信息,发送给客户端–>客户端收集数据发送服务端–>结束.被动模式的流程:客户端开一个端口默认10050,等待服务端来取数据,然后客户端收集数据发送到服务端,然后结束. 二:主动模式使用的一个场景 当服务端监控的

zabbix的主动模式和被动模式、添加监控主机、添加自定义模板、处理图形中的乱码、自动发现

主动模式和被动模式 主动或者被动是相对客户端来讲的 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可. 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力. 服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式 添加监控主机 添加主机即把监控的主机加入监控中心,这样就可以监控它的一些项目了,比如监控CPU.内存.磁盘以及网络等. 1.添加主机群组

如何实现Zabbix的主动注册功能

主动注册(Active Agent Auto-Registration),顾名思义,无需在Zabbix Web上手动添加host信息,即可实现主机的监控. 它是由Agent主动向Server注册. 相对于另一项类似功能-网络发现,它无需知道Agent端的IP地址段和操作系统版本信息,使用上更灵活. 创建自动注册规则 Configuration -> Actions -> Create action -> Auto registration 配置Action 填写Action的名字 设置C

转:FTP的主动被动工作方式

怎么设置FileZilla Server的主动模式?------------------------------------------------------------------------------------------------------------------------------------------------------- 设置被动FTP(PASV),是指定端口,还是随机端口.FileZilla Server只有设置被动FTP的选项,朋友们就要问了,那主动FTP(P

Zabbix自带模板检测的CPU load之坑

Zabbix2.0后,自带的Template OS Linux模版中 Processor load检测的值为percpu,即每一个CPU的load,如果为多核CPU的话,这里获取到的值就不是全部CPU的,自然与在系统中执行uptime命令获取到的load值不符, 并且模版中自带触发器的报警阈值也相当高,没记错的话应该是4还是5,这就造成一个情况,明明机器的CPU负载很高,Zabbix确不报警,此是大坑之一..解决办法有两个(使用其中一个即可): 将Processor load的键值修改为检测所有

Zabbix(五):高级应用-web方案、被动监控、基于snmp协议被动监控、proxy配置测试实例

1.web方案 web scenario:web监控方案,web场景: web scenarios指的是监控指定的web站点的资源下载及页面响应时间等数据指标: (1)创建web监控需要先定义一个web scenario(方案): 一个web方案包括一个或多个HTTP请求或步骤(steps) 每次监控都是按照预先定义的步骤的顺序执行: (2)通过web监控方案可以获取到下列信息: 整个web方案中所有步骤的速度和响应时间,以及平均下载速度和平均响应时间: 失败的步骤号 失败的报错信息 (3)在设

zabbix5

1.web方案 web scenario:web监控方案,web场景: web scenarios指的是监控指定的web站点的资源下载及页面响应时间等数据指标: (1)创建web监控需要先定义一个web scenario(方案): 一个web方案包括一个或多个HTTP请求或步骤(steps) 每次监控都是按照预先定义的步骤的顺序执行: (2)通过web监控方案可以获取到下列信息: 整个web方案中所有步骤的速度和响应时间,以及平均下载速度和平均响应时间: 失败的步骤号 失败的报错信息 (3)在设

zabbix监控系统的介绍及zabbix监控系统的高级应用

监控系统:zabbix 数据的采集->存储->报警(告警)->展示 监控对象:包括主机,主机之间的数据流量 主机:硬件设备 系统指标:CPU,memory io(disk磁盘io network网络io) cpu:sys(系统空间的比例),usr(用户空间的比例) idle 业务指标: SNMP:简单网络管理协议 实现网络管理 jmx:java管理平台 tps:每秒的事务数 qps:每秒的查询书 采集: 多保留趋势数据,历史数据只保留最近几个月的时间 存储: 关系型数据库 rrd轮询存储

Linux安装Zabbix Agent(主动模式、被动模式)

环境: 系统:centos 7.4平台:zabbix 3.2安装包:zabbix-3.2.11.tar 编译安装路径 :/usr/local/zabbix_agentd/主动模式.被动模式介绍 如果需要参照本文进行配置的,请先通读一遍之后再操作 1.为安全起见,创建zabbix用户运行 shell> groupadd zabbix shell> useradd -g zabbix zabbix -s /sbin/nologin 2.上传zabbix安装包 shell>mkdir /usr