Zabbix Agent active主动模式监控

本文介绍了解决Zabbix在大规模部署下性能瓶颈的方法。通过调整Agent为纯主动模式,并修改监控模板,可以显著减轻Server端的压力。文章详细介绍了配置步骤及注意事项。

zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:
1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502
2、图层断裂
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题

所以下面主要往两个优化方向考虑:
1、添加Proxy节点或者Node模式做分布式监控
2、调整Agentd为主动模式
由于第一个方案需要增加物理机器,所以首先尝试第二方案。

一、被监控端 zabbix_Agentd.conf 的配置调整:

LogFile=/tmp/zabbix_agentd.log
StartAgents=0          #客户端agent模式,设置为0表示关闭被动模式,被监控端的 zabbix_agentd 不监听本地端口,所以无法在 netstat -tunpl 中查看到zabbix_agentd进程
#Server=10.10.10.201   如果设置为纯被动模式,则应该注释掉这一条指令
ServerActive=**.**.**.**    #主动模式的server IP地址
Hostname=test_host    #重要:客户端的hostname,不配置则使用主机名
RefreshActiveChecks=120    #被监控端到服务器获取监控项的周期,默认120s即可
BufferSize=200        #被监控端存储监控信息的空间大小
Timeout=10            #超时时间

注:纯主动模式下的zabbix agent,只能支持Zabbix Agent (Active)类型的监控项。

二、调整监控模板

建议完整克隆一个Template OS Linux 模板来改:

1.点击Template OS Linux 模板名称

2.点击最下方的Full clone(全克隆)

3.修改模板名称

4.点击添加

5.进入模板列表找到刚才添加的模板 并点击监控项

6.全选

7.最下方找到批量更新

8.类型打勾 选择主动式

9.更新

10.更新自动发现规则的监控项

11.按照刚才的方法更新监控项

12.把不支持主动式的监控项暂停

三、添加主机

1.配置主机

2.配置模板完成

添加完成后,你会发先zabbix的Z灯亮不亮:

因为服务器是基于被动模式的,如果服务端无法直接连接到客户端被动模式端口这个灯是不绿的,就算是使用主被模式数据上来,这个灯也不绿

四、测试数据

因为有延迟,这是我之前用同样方式添加的主机数据视图:

说明监控到了数据。

<think>我们正在讨论Zabbix Agent主动模式配置。根据引用内容,主动模式需要配置的关键参数是`ServerActive`和`Hostname`。同时,为了确保主动模式工作,我们通常需要注释掉被动模式相关的`Server`参数或者确保它不会干扰(因为被动模式使用`Server`参数指定Zabbix Server的地址,而主动模式使用`ServerActive`)。 主动模式配置步骤: 1. 设置`ServerActive`:指定Zabbix Server或Zabbix Proxy的地址和端口(默认10051)。如果有多个服务器,可以用逗号分隔。 2. 设置`Hostname`:这个值必须与Zabbix Web界面中配置的主机名称完全一致(包括大小写)。如果配置不一致,主动模式将无法正常工作(引用[2])。 3. 可选:设置`HostnameItem`,用于动态获取主机名(例如使用`system.hostname`),但要注意动态获取的主机名必须与Web界面中的主机名一致。 4. 注释掉或删除`ServerActive`的注释(即取消注释),并确保`Server`参数不被注释(被动模式需要)或者根据需求决定是否保留(如果同时需要被动模式则保留,但通常主动模式和被动模式可以共存,不过配置上要正确)。 另外,根据引用[3]的示例,主动模式的配置如下: ServerActive=10.0.0.200:10051 # Zabbix Server的IP和端口 Hostname=10.0.0.203 # 本机在Zabbix Server中注册的主机名(或IP,但必须与Web界面一致) 注意:如果使用主动模式,那么Zabbix Agent主动连接到`ServerActive`指定的服务器,并将数据推送给服务器。 另外,引用[4]提到,如果需要调试,可以调整`DebugLevel`参数(例如设置为4)来获取更详细的日志信息。 因此,主动模式的最小配置参数为: - ServerActive - Hostname 配置示例(/etc/zabbix/zabbix_agentd.conf 或自定义配置文件): ``` # 被动模式相关配置(可选,如果不需要被动模式,可以注释掉Server) # Server=192.168.0.81 # 被动模式下,指定Zabbix Server的IP # 主动模式配置 ServerActive=192.168.0.81:10051 # 主动模式下的Zabbix Server地址 Hostname=MyHostname # 必须与Zabbix Web界面中配置的主机名一致 # 其他配置 LogFile=/tmp/zabbix_agentd.log ListenPort=10050 StartAgents=0 # 如果不需要被动模式,可以设置为0,这样不会监听端口等待被动检 Timeout=30 UnsafeUserParameters=1 ``` 注意:`StartAgents`参数表示启动的被动模式监听进程数。如果设置为0,则不会监听任何端口,即关闭被动模式。如果同时需要被动模式,可以设置为大于0的值(如3),并保留`Server`配置。 总结主动模式配置要点: 1. 配置`ServerActive`指向Zabbix Server或Proxy。 2. 配置`Hostname`与Web界面中的主机名严格一致。 3. 如果需要纯主动模式,可以将`StartAgents`设置为0(这样Agent不会监听端口,只使用主动模式)。如果同时需要被动模式,则保留`Server`和`StartAgents`。 如果遇到问题,可以Agent的日志(路径由LogFile指定)并调整DebugLevel(如设置为4)来获取详细日志。 根据以上分析,我们给出配置参数: 关键参数: - ServerActive: Zabbix Server或Proxy的IP:端口(默认10051) - Hostname: 在Zabbix Web界面中配置的主机名 可选参数调整: - StartAgents: 设置为0可关闭被动模式监听(仅使用主动模式) - DebugLevel: 调试时设置为4或5 相关问题: 1. 如何验证Zabbix Agent主动模式是否配置成功? 2. 在Zabbix Web界面中如何配置主机名? 3. Zabbix Agent同时支持主动和被动模式吗? 4. 主动模式和被动模式监控项上如何选择? 5. 如何排Zabbix Agent主动模式无法连接的问题?</think>### Zabbix Agent 主动模式配置详解 #### 核心配置参数(必须项) 1. **`ServerActive`** 指定Zabbix Server或Proxy的IP地址及端口(默认10051)[^3] ```ini ServerActive=192.168.0.81:10051 # 格式: IP:端口 ``` 2. **`Hostname`** 需与Zabbix Web界面中配置的主机名**完全一致**(区分大小写)[^2] ```ini Hostname=web-server-01 # 必须匹配Web界面中的主机名 ``` #### 推荐优化参数(可选项) ```ini # 关闭被动模式监听(纯主动模式) StartAgents=0 # 设置连接超时(秒) Timeout=30 # 开启主机名自动获取(需确保获取值与Web配置一致) HostnameItem=system.hostname # 提升日志级别便于调试 DebugLevel=4 # 4=调试模式,5=详细调试[^4] LogFile=/var/log/zabbix/zabbix_agentd.log ``` #### 完整配置示例 ```ini # 主动模式核心配置 ServerActive=10.0.0.200:10051 Hostname=db-server-01 # 性能优化参数 StartAgents=0 Timeout=15 # 日志与调试 DebugLevel=4 LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=50 ``` #### 配置生效步骤 1. 编辑配置文件(通常位于`/etc/zabbix/zabbix_agentd.conf`) 2. 重启Agent服务: ```bash systemctl restart zabbix-agent ``` 3. 验证配置: ```bash grep -E "ServerActive|Hostname" /etc/zabbix/zabbix_agentd.conf ``` 4. 检日志确认连接状态: ```bash tail -f /var/log/zabbix/zabbix_agentd.log # 成功日志示例: "active check configuration update from [10.0.0.200:10051]" ``` > ⚠️ **关键注意事项** > - 若`Hostname`与Web界面不一致,日志将报错:"host [XXX] not found" [^2] > - 防火墙需放行Agent到Server 10051端口的**出站连接** > - 主动模式项需在Web界面设置为"Zabbix agent (active)"类型 --- ### 相关问题延伸 1. 如何验证Zabbix Agent主动模式是否正常工作? 2. 当`Hostname`配置错误时应如何快速修复? 3. Zabbix Proxy在主动模式架构中起什么作用? 4. 如何配置Zabbix Agent同时支持主动和被动模式? 5. 主动模式与被动模式监控项配置上有何区别? [^1]: 被动模式需配置Server参数,主动模式需注释该参数[^1] [^2]: Hostname必须与Zabbix Web界面完全匹配[^2] [^3]: ServerActive指定主动模式的目标服务器地址[^3] [^4]: DebugLevel=4可输出详细调试信息[^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值