16 配置最佳实践

概述

本节回顾会影响性能和可维护性的关键配置选择。

虽然每个 Zabbix 部署都不同,但这些最佳实践可以作为基础,并根据需要进行调整。

为每个监控实例创建单独的主机

Zabbix 中的主机是一个逻辑实体,而不是物理机器或设备。
请为每个独立实例创建单独的主机,例如虚拟机、数据库、容器或网络交换机。

这种方法可提供以下优势:

  1. 更清晰的监控数据:为每个主机分别设置监控项、触发器和告警通知。

  2. 通过 user-roles 实现更细粒度的用户访问控制,并符合 最小权限原则

使用模板和批量更新来管理类似主机

对于类似的主机,例如 Network switch 1Network switch 2,您可以创建一个包含所需监控项的模板(Network switch template),并将这些主机分组到一个主机组(Network switches)中。

在添加新交换机时,您可以在 Data Collection -> Hosts 中使用批量更新来关联该模板,而不是手动克隆主机。

配置主监控项和依赖监控项以最小化请求

为了尽量减少对目标实体的请求,请配置一个主监控项,通过单次请求收集数据,然后使用带有预处理的依赖监控项来提取特定值。

例如,主监控项可以收集包含多个指标的 JSON 或 XML 响应,或者执行返回多列的数据库查询(例如,已打开连接数、已中止连接数、允许的最大同时连接数,以及自启动以来的累计连接总数),而依赖监控项将分别解析并存储每个值。

在收集后丢弃主监控项的历史数据,只保留依赖监控项的数据。

在需要时部署 Zabbix proxy

如果你的主机都位于与 Zabbix 服务器相同的本地网络中,且没有可扩展性或性能方面的顾虑,那么你可能不需要 proxy。
在更大或更复杂的环境中,proxy 可以实现更均衡的负载分配。

在以下情况下添加 Zabbix proxy:

  1. 在防火墙后使用多种指标收集方法监控多个主机。
    proxy 从主机收集数据并将其转发到 Zabbix 服务器,从而减少需要开放的防火墙端口数量。

  2. 监控远程位置、分支机构或网络。
    位于远程位置的 Zabbix proxy 会在网络中断期间继续收集数据,并在连接恢复后将数据发送回去。

  3. 管理大规模部署。
    如果你有很多主机和/或每秒收集大量值,请部署 proxy 以减轻服务器负载并提高性能。

配置独立的 secret 宏检索

您可以将 secret 用户宏用作 secret 文本或 secret vault 宏。

默认情况下,secret 宏值由 Zabbix 服务器检索并传播到 proxy。 为了增强 secret vault 宏的安全性,请配置宏值由 Zabbix 服务器和 proxy 独立检索。