主动模式是指Agent将采集到的数据主动推送给Server,其行为是Agnet端主动向Server端发起的数据连接过程,Server不必等待Agent的数据采集行动,Agent能够一次批量发送多条数据给Server,属于一对多的响应模式,对Server的性能开销少,适合大规模的环境使用。
被动模式是指Server向Agent请求数据,Agent被动接收数据请求后进行回应,属于一对一响应模式。比如有100个监控项,Server需要项Agent请求100此,同时Agent响应Server时,对监控项进行数据采集也需要消耗时间,而采集数据的时间Server只能等着Agent发回数据。
主动模式和被动模式可以在同一个Agent上共存,让一部分监控项处于主动式,部分监控项为被动模式,处于主动式的Agent周期性的将采集到的发送数据到Server,处于被动模式的监控项,则等待Server发送的数据请求后进行数据采集,采集结束后将数据发送给Server。
在Agent的配置文件中,Server、ServerActive、Hostname三个参数与工作模式有关:
Server:被动模式连接Server的IP地址
ServerActive:主动模式连接Server的IP地址,开启此参数,将会自动打开主动模式,注释掉则会关闭主动模式
Hostname:主动模式中Hostname作为Server处理数据的唯一依据。要求Hostname在Server中具有唯一性,当有多个Agent的主机名配置相同时,会造成该主机名下的监控项数据存储错乱,因为在不同时间周期内,其存储的是不同Agent的数据,比如监控虚拟机,如果虚拟机是使用克隆方式创建的,Hostname可能会相同,则可能会导致Agent在的监控项在存储中存在错乱
StartAgent:Agent的进程个数,用于被动模式,如果大于0,则会监听10050端口,如果只需要主动模式,则可将其设置为0,将被动模式关闭。
当Agent配置的主机名和web配置的主机名不同时,Server和Agent的日志中均会报错
此时,只需要在Agent配置文件中的主机名改成Web端相同的主机名,或者将web页面的主机名改成Agent配置中的主机名,或者添加一台主机名为Agent配置文件中的主机名的监控主机
原文:https://blog.51cto.com/14483703/2557454