16 配置最佳实践
概述
本节回顾会影响性能和可维护性的关键配置选择。
虽然每个 Zabbix 部署都不同,但这些最佳实践可以作为基础,并根据需要进行调整。
为每个监控实例创建单独的主机
Zabbix 中的主机是一个逻辑实体,而不是物理机器或设备。
请为每个独立实例创建单独的主机,例如虚拟机、数据库、容器或网络交换机。
这种方法可提供以下优势:
-
更清晰的监控数据:为每个主机分别设置监控项、触发器和告警通知。
-
通过 user-roles 实现更细粒度的用户访问控制,并符合 最小权限原则。
使用模板和批量更新来管理类似主机
对于类似的主机,例如 Network switch 1 和 Network switch 2,您可以创建一个包含所需监控项的模板(Network switch template),并将这些主机分组到一个主机组(Network switches)中。
在添加新交换机时,您可以在 Data Collection -> Hosts 中使用批量更新来关联该模板,而不是手动克隆主机。
配置主监控项和依赖监控项以最小化请求
为了尽量减少对目标实体的请求,请配置一个主监控项,通过单次请求收集数据,然后使用带有预处理的依赖监控项来提取特定值。
例如,主监控项可以收集包含多个指标的 JSON 或 XML 响应,或者执行返回多列的数据库查询(例如,已打开连接数、已中止连接数、允许的最大同时连接数,以及自启动以来的累计连接总数),而依赖监控项将分别解析并存储每个值。
在收集后丢弃主监控项的历史数据,只保留依赖监控项的数据。
在需要时部署 Zabbix proxy
如果你的主机都位于与 Zabbix 服务器相同的本地网络中,且没有可扩展性或性能方面的顾虑,那么你可能不需要 proxy。
在更大或更复杂的环境中,proxy 可以实现更均衡的负载分配。
在以下情况下添加 Zabbix proxy:
-
在防火墙后使用多种指标收集方法监控多个主机。
proxy 从主机收集数据并将其转发到 Zabbix 服务器,从而减少需要开放的防火墙端口数量。 -
监控远程位置、分支机构或网络。
位于远程位置的 Zabbix proxy 会在网络中断期间继续收集数据,并在连接恢复后将数据发送回去。 -
管理大规模部署。
如果你有很多主机和/或每秒收集大量值,请部署 proxy 以减轻服务器负载并提高性能。
配置独立的 secret 宏检索
您可以将 secret 用户宏用作 secret 文本或 secret vault 宏。
默认情况下,secret 宏值由 Zabbix 服务器检索并传播到 proxy。 为了增强 secret vault 宏的安全性,请配置宏值由 Zabbix 服务器和 proxy 独立检索。