RSS

Zabbix Agent主动被动模式配置-1

长久以来对于安装 Zabbix Agent,文章介绍基本都是需要修改一下几个地方

Server=172.16.66.20
ServerActive=172.16.66.20
Hostname=node2012

启动 Zabbix Agent 即可监控。对于具体为什么是这样配置,这样配置是主动模式还是被动模式?很少没有提起。本文主要介绍 Zabbxi Agent 的几个关键配置。

主动模式 VS 被动模式


Zabbix Agent 这二种模式,用通俗易懂的话讲就是

主动模式:Zabbix Agent 启动之后,把采集的数据主动发给 Zabbix Server 或者 Zabbix Porxy。
被动模式:Zabbix Server 或者 Zabbix Proxy 被动找 Zabbix Agent 拿监控数据。

这二种模式在使用过程中有所不同,各有优势,主要有以下区别

模式 Server 压力 远程命令 日志监控
主动         低       不支持     支持        
被动         高         支持         不支持    

鉴于以上不同,根据实际需求,建议选择对应模式。

主动模式配置

要配置主动模式,只需要配置以下几个参数即可

ServerActive=127.0.0.1
Hostname=Zabbix server

配置解释:
ServerActive 配置为 Zabbix Server 或 Zabbix proxy 的地址,这里可以配置域名/ip,如需配置多个地址,多地址之间用英文逗号隔开即可,如:192.168.1.100,10.10.1.100
**Hostname ** 配置一个唯一的主机名,以便识别此机器。在 Zabbix 里,不同主机的区分就是通过 hostname 区分的,并不是通过 IP!!!因此这里建议进行规划,按照一定规律配置,比如区域-机房-业务-ip 等形式配置,此配置建议使用英文(也有人修改了使用中文的),也可按照 FQDN 配置主机名。FQDN https://en.wikipedia.org/wiki/Fully_qualified_domain_name
Zabbix Agent 配置这 2 个模式之后,即可使用主动模式,如果要想非常“纯粹”的使用主动模式,而关闭被动模式,还需要修改一个配置

StartAgents=0

在 Agent 中对于此配置有详细介绍(很多人都不看的)

Number of pre-forked instances of zabbix_agentd that process passive checks.If set to 0, disables passive checks and the agent will not listen on any TCP port.

此项目配置被动模式下 zabbix agentd 所派生的进程数量。如果配置为 0,会关闭主动模式检查,而且 Agent 不会监听任何主机 TCP 端口!!!。因为是数据是从 Agent 发出,因此主机开通对外通行即可,不需要在防火墙上做配置。且进程只有以下几个

主机配置

主动模式配置之后,Agent 启动之后就会发送监控到 Server 或者 Proxy,如找不到对应的主机名,agent 日志会有如下报错

no active checks on server [172.16.66.20:10051]: host [node201] not found

Zabbix Server 或 Zabbix Proxy 的日志也会看到如下报错

cannot send list of active checks to "172.16.66.20": host [node201] not found

此时就需要通过手动添加或 Zabbix Server 的自动注册功能,将主机添加到 Zabbix Server。
如果为手动添加主机,需要在 Zabbix Server 添加主机

Host name 为必须配置项目,需要和 Agent 配置里的 Hostname 配置一致!!!
Visible name 配置为可见名称,这里可配置为中文,主机列表会显示此名称
Agent interfaces 的 IP 和端口可以随意配置!!!不过还是建议配置成业务 ip 或者主机的真实 IP。

模版配置

由于禁用的 Agent 的被动模式,而 Zabbix Serve 自带的很多模版采集指标都为被动模式,因此需要将模式改为被动。建议克隆原模版之后,将新模版监控指标类型修改为 Zabbix Active 模式即可正常采集数据。

注意事项

如纯使用主动模式,需要注意以下适宜
1.主动模式不支持远程命令执行。如你需要在 Zabbix Agent 执行远程命令,需要 Agen 开启被动模式。
2.Agent 自带的日志监控,仅支持主动模式,不支持被动模式。
3.主动模式建议为指标配置 nodate 告警阈值。
4.利用主动模式,可将 Zabbix Server 或者 Zabbix Proxy 放在公网,内网 Zabbix Agent 配置主动模式,即可监控内网机器。

下期内容介绍:Zabbix Agent 主动被动模式配置-2 被动模式配置及使用