这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

2 配置最佳实践

概览

本节概述了配置Zabbix以实现最佳性能和易用性的最佳实践。 这些建议基于Zabbix开发者的建议以及Zabbix培训师和支持工程师的实际经验。

每个Zabbix安装都是独一无二的,这些指导原则中有些可能并不适合您的特定配置。 然而,我们建议尽可能遵循这些指导原则,以避免常见的潜在问题。

如果您认为本页面可以改进,我们非常乐意听取您的意见!请高亮显示您认为有问题的文本,然后按ctrl+Enter来报告错误或分享您的反馈。

    ### 主机与监控项

定义主机

在Zabbix中,主机并非指物理机器或设备,而是一个逻辑实体。 出于监控目的,您可以为数据库或例如虚拟机创建单独的主机。 或者,您可以创建一个通用主机 John的笔记本电脑,并在该主机下监控所有指标。

最佳实践是为每个独立实例创建单独的主机,如虚拟机、数据库、容器或网络交换机。采用这种方法,您将:

  1. 避免监控数据杂乱,为每个主机分别拥有独立的监控项、触发器和告警通知。

  2. 精细调整用户访问级别。 您可以配置用户角色,以仅授予查看和/或配置特定主机的权限。 另请参阅最小权限原则

具有重复监控项的主机

如果您有多个相似的主机,例如 Network switch 1Network switch 2,Zabbix 提供了多种快速重新创建主机的方法。 您可以通过按下 Clone 按钮简单地克隆带有所有监控项的主机,但在这种情况下,要稍后更新监控项,您将需要在每个主机上手动进行。

最佳实践是创建一个包含所有所需监控项的模板,例如,Network switch template。 然后将相似的主机分组到主机组中,对于上面的例子,它可以是 Network switches。 现在,在 数据收集 -> 主机 部分,您可以按主机组过滤所有主机,并使用 批量更新 按钮将模板链接到所有网络交换机。

依赖项监控项

为了减少对目标实体的请求次数,Zabbix 允许创建主监控项和依赖项监控项。 在这种情况下,主监控项通过单一请求收集大量信息。 然后,依赖项监控项可以通过预处理从该集合中提取特定的数据片段,并将它们存储为单独的指标。

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

这种配置的最佳实践是在收集后立即丢弃主监控项的历史记录,仅保留依赖项监控项的数据。

Servers and proxies

如果所有hosts都与Zabbix server位于同一本地网络中,并且没有可扩展性或性能担忧,您可能不需要proxy。 在更大或更复杂的环境中,仅使用Zabbix server直接监控hosts可能不足以应对需求。 添加proxy并将部分hosts分配给该proxy,可以实现更均衡的负载分布。

最佳实践是在以下情况下添加Zabbix proxy:

  1. 您正在通过防火墙使用多种metric collection方法监控多个hosts。 proxy将从hosts收集数据并转发给Zabbix server,从而减少需要打开的多个防火墙端口。

  2. 您正在监控远程地点、分支或网络。 在Zabbix server与远程地点之间的网络中断时,部署在远程地点的Zabbix proxies将继续数据收集,并在网络连接恢复后将收集的数据发送回Zabbix server。

  3. 您有大规模部署,并希望减轻Zabbix server的负载并提高性能。 大规模部署的定义非常广泛,不仅取决于hosts的数量,还取决于每秒收集的values数量。