On this page

Zabbix 8.0 有哪些新内容

Zabbix 8.0.0 在 Zabbix 7.4.0 的基础上继续演进,新增了功能和增强。

有关此版本,请参见重大变更

可自定义表格

现在,您可以在前端的以下部分自定义表格:

您可以在这些表格中显示、隐藏、重新排序和调整列宽。 您还可以添加一个新的 自定义文本 列,用于显示自定义文本、宏值,或两者同时显示。

例如,监控 > 最新数据 中的默认表格布局:

自定义布局示例:

现在,某些列还带有 选项 按钮,可为该列的数据展示方式提供更多控制。 因此,一些过滤器参数已从过滤器选项卡移至列选项。 如果您正在使用 收藏过滤器的选项卡,请参阅 升级说明

散点图部件

Scatter plot 部件已添加到仪表板部件中。 它通过沿 X 轴和 Y 轴绘制单个数据点来显示两个指标之间的关系。 这有助于揭示数据集中的模式、聚类、相关性和离群值。

图形小部件的 Y 轴反转

Graph 小部件中的图形现在可以显示反转的 Y 轴值。新的 反转值 设置允许您将 Y 轴值乘以 −1,而无需更改原始数据。

另请参见:图形小部件增强

可访问性增强

新增了 跳转到主要内容 链接,以改进键盘导航和可访问性。

该链接允许键盘用户和屏幕阅读器用户跳过重复的侧边栏导航,直接进入主要内容。 在正常使用时它保持隐藏,仅在获得焦点时显示,例如在页面加载后按下 Tab 键,或通过屏幕阅读器访问时。

Zabbix UI 增强

Zabbix 用户界面已现代化,以提升可访问性和易用性。

Before After

数据库

ClickHouse 对历史数据存储的支持

现在,您可以将 ClickHouse 作为 Zabbix 后端数据库来存储监控项值历史数据。

有关设置详情和要求,请参见 ClickHouse 设置

此功能还会更改您在 Zabbix 配置文件中设置历史数据存储提供程序的方式。 此更改同时影响 ClickHouse 和 Elasticsearch 配置。 有关详细信息,请参见 升级说明

优化的 Zabbix 服务器启动

Zabbix 服务器现在的启动速度显著更快。 这是通过一次从数据库加载多个监控项的历史数据,而不是逐个加载来实现的。 此改进适用于 Zabbix 服务器支持的所有数据库类型。

优化的 Elasticsearch 性能

Zabbix 服务器现在与 Elasticsearch 的配合更加高效。 服务器在检索数据时不再使用 Elasticsearch 的 scroll 功能,因此效率更高,并且会重用现有的 Elasticsearch 连接,而不是为每个请求都新建一个连接。 此外,服务器在同时向 Elasticsearch 发送多个请求时也不再会卡住(使用 cURL 的 multi-handle)。

模板

新模板

已更新的模板

监控项

JSON 数据类型

Zabbix 现在支持将 JSON 作为监控项值的数据类型

此前,JSON 值由文本监控项采集,并以字符串形式存储,大小限制为 64KB。 现在,Zabbix 可以原生存储 JSON 值,大小限制为 128MiB,同时还可以拒绝无效的 JSON 值(例如包含未加引号的键、尾随逗号、括号不匹配等)。

JSON 数据类型受所有监控项类型和监控项原型支持(Calculated 除外),并可用于实时数据导出连接器。 JSON 值可存储在所有受支持的数据库Elasticsearch 中。 如果您使用的是 TimescaleDB,请参阅升级说明

请注意,JSON 监控项不能用于触发器;但是,您可以使用具有非 JSON 数据类型的依赖监控项提取 JSON 字段,并在触发器中使用这些字段。

返回 JSON 字符串的监控项(net.if.discoveryvfs.file.get 等)仍然是文本监控项;但是,您可以根据需要将其更改为 JSON 类型。

有关更多详细信息和 JSON 数据限制,请参阅监控项配置

S.M.A.R.T 磁盘发现的 type 参数

smart.disk.discovery 监控项(Zabbix agent 2 S.M.A.R.T. 插件)现在接受一个可选的 type 参数,用于指定扫描磁盘时要查找的值。

trapper 监控项允许的主机默认值

对于 Zabbix trapper 监控项以及启用了 Enable trappingHTTP agent 监控项,Allowed hosts 字段现在默认使用 用户宏 {$TRAPPER.ALLOWED_HOSTS}。 如果该值为空,则会拒绝来自所有主机的传入连接。 要允许提交数据,请指定一个或多个 IP 地址或 DNS 名称。

趋势函数缓存利用率监控

已向 zabbix[tcache,cache,<parameter>] 内部监控项添加了 paccessed 参数。
它返回过去 24 小时内被访问的趋势函数缓存条目所占的百分比。

插件

Ceph 插件

Zabbix agent 2 Ceph 插件 现在以两种模式运行:

  • native - 此模式使用 go-ceph 库,通过原生 Ceph API(msgr2 协议)直接与 Ceph 集群通信。
    这是现代 Ceph 部署的推荐模式,但仅支持 Linux,并且从 Ceph 16 开始支持。
  • restful(已弃用)- 此模式使用 Ceph RESTful API 进行通信。
    这是为了向后兼容而设置的默认模式,但由于 mgr/restful 模块已被移除,因此在 Ceph 20(Tentacle)或更高版本中无法使用。

重要:当使用 Zabbix agent 2 的 Ceph 插件监控 Ceph 20(Tentacle)及更高版本时,请使用 native 模式,因为 restful 模式已不再受支持。

使用哪种模式由 mode 参数的值决定(native/restful):

  • Plugins.Ceph.Default.Mode=native - 为插件设置 native 模式
  • Plugins.Ceph.Sessions.<SessionName>.Mode=native - 为指定会话设置 native 模式

请注意,不同模式使用的用户凭据集不同,彼此不兼容。
Plugins.Ceph.InsecureSkipVerify 参数在 native 模式下会被忽略,因为连接安全性由 Ceph 集群端通过 msgr2 协议定义(默认安全)。

另请注意,Zabbix agent 2 的 Ceph 插件现在是一个可加载插件,并且需要额外的安装步骤。
这是由于需要 librados 包(用于 native 模式)。
详情请参见 Ceph 插件 readme

MongoDB 插件

Zabbix agent 2 MongoDB 插件 提供了多项增强功能:

  • 完全支持传统的 MongoDB URI 解析,同时支持 mongodb://mongodb+srv:// 两种方案。
  • 自动发现 MongoDB 副本集节点,增强对 MongoDB 集群的监控能力。
  • 支持 x509 身份验证,可使用客户端证书安全连接到 MongoDB。

Oracle 插件

Zabbix agent 2 Oracle 插件 现在支持使用 TCPS(TLS)协议与 Oracle 数据库建立加密连接。 这增加了通过 TLS 保护的套接字监控 Oracle 实例的能力,从而提升远程监控的安全性。

Redis 插件 — TLS 支持和启动时验证

Zabbix agent 2 Redis 插件已添加 TLS 支持。

已实现插件 TLS 配置的启动时验证,并改进了验证/错误消息。 无效的配置逻辑(例如:使用连接类型 verify_full 但未指定 TLSCAFile)可能会导致 Zabbix agent 2 无法启动。

可加载插件的测试执行模式

现在可以使用 -t--test)标志并传递监控项键作为参数,以测试模式启动可加载插件。 在此模式下,插件会为调试和开发目的而运行,并且会忽略插件配置文件。

低级发现

发现表单中的“转换为 JSON”复选框

在低级别发现规则表单和发现原型表单中新增了一个 转换为 JSON 复选框;当在 类型 下拉列表中选择“HTTP agent”时,该复选框会显示。 此选项允许将获取到的数据标记为在进一步处理之前自动转换为 JSON。

嵌套低级别发现中的宏支持

现在,嵌套低级别发现规则已支持低级别发现宏,可用于:

由低级发现创建的触发器的可编辑标签

现在,可以为从触发器原型创建的触发器手动添加标签。 从触发器原型继承的标签仍会自动应用。 手动添加的标签可以在已发现的触发器上进行修改,并将包含在事件标签数组中,同时可用于支持标签的功能,例如过滤器、仪表板小部件和通知宏。

Linux 和 AIX 上的块设备发现

新增了 vfs.dev.get 监控项键,用于在 Linux 和 AIX 上发现块设备。 它可用于块设备的低级别发现vfs.dev.discovery 监控项键仍然可用,以保持兼容性。

Linux 上的网络接口发现

新的 net.if.get 监控项键已添加到 Linux 上的 Zabbix agent 和 Zabbix agent 2 中。
它可用于网络接口的低级别发现,返回包含详细信息的网络接口列表。
net.if.discovery 监控项键仍可用,以保持兼容性。

进程

SNMPv3 EngineID 缓存与复用

Zabbix 现在会缓存 SNMPv3 EngineID → IP 映射,并会在后续的 SNMPv3 检查中尝试复用已缓存的 EngineID,从而减少探测流量并提升轮询器性能。 如果复用的 EngineID 没有响应,轮询器会回退到 EngineID 探测;在接口变更或持续失败后,还可能会移除过期条目。

历史缓存恢复期间优化 proxy 限流

已优化 proxy 限流逻辑,以提高历史缓存恢复期间的服务器稳定性。
当历史缓存使用率达到限流阈值时,服务器会像以前一样继续停止接受 proxy 数据。
当缓存使用率降至 60% 时,服务器开始处理限流列表,但对于包含非常大批次(大约超过 1 万条记录)的 proxy 上传,仍可能拒绝,直到缓存压力进一步降低。
此更改可在服务器恢复期间降低缓存反复过载的风险。

zabbix_get 和 zabbix_js 的最大超时时间已提高

zabbix_getzabbix_js 命令行工具的 timeout 参数最大值已提高到 600 秒。

优化的 housekeeping

Housekeeping 已通过将 housekeeper 任务的创建移至数据库触发器而得到优化。
当删除监控项(包括低级别发现规则)、触发器、服务或网络发现规则时,现在由数据库触发器(而不是显式的应用层调用)将清理任务填充到 housekeeper 表中。
有关详细信息,请参见 housekeeping procedure

housekeeper 现在还会删除由随后已被删除的已发现主机或服务生成的网络发现事件,以及与随后已被删除的触发器问题相关的所有事件(此前,仅删除问题本身;相关事件只有在 housekeeper 的 Trigger data storage period 到期后才会被删除)。

手动关闭 — 恢复事件继承的触发器标签

手动关闭 之后创建的恢复事件,除了监控项和主机标签外,还会继承触发器标签。 这些标签会出现在事件标签数组中,并可用于通知宏,例如 {EVENT.RECOVERY.TAGS}{EVENT.RECOVERY.TAGSJSON}

Zabbix 守护进程的 DNS 查询缓存

当使用 --with-ares 构建 Zabbix 时,Zabbix 服务器、Zabbix proxy 和 Zabbix agent 已支持对所有 DNS 请求使用 c-ares 解析器,从而提供 DNS 查询缓存,并改进解析器故障切换能力。
DNS 查询缓存需要 c-ares 1.26.0 或更高版本。

在 Windows 上构建对 c-ares 的支持

现在可以在 Microsoft Windows 上使用 c-ares 解析器来构建 Zabbix agent。 c-ares 可通过 vcpkg 安装,agent 构建支持使用 ARES=<vcpkg prefix>,或分别使用 ARESINCDIR/ARESLIBDIR 路径来指定头文件目录和库目录。

基于计数的触发器函数改进

触发器表达式中基于计数的函数(count()item_count()changecount() 等)的运行已得到改进,可更快地处理更多值。

身份验证

用于单点登录的可导入 SAML 证书

超级管理员用户现在可以直接在前端中导入证书和私钥,用于配置 SAML。 在 用户 > 身份验证 > SAML 设置 中新增了三个字段:

  • IdP 证书 - 身份提供商提供的 X.509 证书
  • SP 证书 - 用于 SAML 交换的服务提供商证书
  • SP 私钥 - 与 SP 证书对应的私钥

这些控件允许在 SAML 设置选项卡中添加新值或修改现有值。 证书和私钥在保存到所选存储后端之前会先进行验证;无效或格式错误的值将被拒绝,并显示说明性错误信息。

小部件

Geomap 主机标记聚类

Geomap 部件现已支持 Clustering 参数,用于控制如何将彼此接近的主机标记合并为一个带计数的单个标记。
通过为聚类设置地图缩放级别,您可以在大型地图上保持良好的可读性,并在放大时维持精确的可见性。

Top items 中的聚合列

Top items 小部件现在可以将监控项模式分组到单个聚合列或行中,从而便于展示组合后的指标(例如:某个主机所有网络接口的总入站流量)。 在配置监控项列时,新增了三个选项:聚合列列聚合函数组合列名称

图形部件增强

图形部件提供了多项可用性增强:

  • 在鼠标悬停于图形上时显示的图形数据提示框中,监控项按值从高到低排序。
  • 在提示框中将鼠标悬停于某个监控项上时,会高亮其图形并淡化其他图形。
  • 在提示框中选择某个监控项时,会将其数据广播给支持监听该数据的其他部件。
  • 已移除提示框中显示的监控项数量限制。
  • 新增 标签中显示主机名 设置,可用于选择是否在提示框和图形图例中显示主机名。

  • 新增 反转值 设置,可用于翻转图形。

小部件描述字段的字符限制已提高

GaugeItem value 小部件中的 Description 字段字符限制已从 2048 提高到 65535 个字符。

仪表板导出和导入

仪表板现在可以导出和导入,这使得在不同的 Zabbix 实例之间迁移仪表板或在不同环境中重复使用它们更加容易。

新增的导出选项允许将选定的仪表板保存为 YAML、JSON 或 XML 文件。 这些文件之后可以通过导入功能重新导入,以恢复包含其页面、部件和配置的仪表板。

前端

新增和嵌入式字体

Zabbix 现已包含新的嵌入式字体,可提升可读性、加快加载速度,并以尽量减少布局影响的方式渲染更多前端语言。 由于这些字体为嵌入式字体,它们还能确保在不同系统之间保持一致的外观。

新字体:
旧版字体:

新字体已用于几乎所有主题。 如有需要,可使用新添加的 Blue (classic)Dark (classic) 主题,它们采用旧版字体。

等宽内容和图形所使用的字体族保持不变。

内联验证

前端中的以下表单已添加到支持内联验证的表单集合中:

输入错误会在填写字段后立即显示,从而提升可用性并减少配置错误。

模态表单

在低级别发现设置中,主机原型配置表单 现在会在模态(弹出)窗口中打开。

在主机、模板、监控项和触发器中可见的继承标签

现在,继承标签会在模板、主机、监控项、Web 场景和触发器中一致地显示并返回。 从模板/主机链继承的标签可在 监控 > 最新数据 中查看。 凡是支持按标签过滤的地方,现在都可以按继承标签进行过滤——包括 监控 > 最新数据数据采集 部分,以及所有允许按主机、监控项、触发器或 Web 场景标签进行过滤的仪表板小部件——因此,无论标签是在何处定义的,基于标签的选择和子过滤行为都保持一致。

模板、主机和主机原型配置表单中的 标签 选项卡现在提供了一个单选元素,用于选择标签的显示方式:模板显示 模板标签 / 继承标签和模板标签主机 和主机原型显示 主机标签 / 继承标签和主机标签。 继承标签会通过标签名称旁边新增的轮廓文档图标进行视觉区分。

图形饼图 小部件新增了 监控项标签 设置。

工具提示定位

现在可以通过拖动工具提示将其重新定位到新位置。 例如,这适用于 Graph 的工具提示,以及 Latest DataProblems 部分中带有描述的工具提示。

对多个 PostgreSQL 数据库主机的支持

Zabbix 现在支持将多个 PostgreSQL 数据库主机指定为以逗号分隔的 host:port 值列表,利用 PostgreSQL 连接故障转移支持。 系统会按顺序尝试这些主机,直到建立读写连接为止。 此行为可在 前端安装 中的 Database host 字段,以及 zabbix_server.confzabbix_proxy.conf 中的 DBHost 中使用。

前端配置中的新 $ZBX_FEATURE_FLAGS 变量

前端配置中已实现新的 $ZBX_FEATURE_FLAGS[] 变量,用于控制访问用户 HTTP 身份验证、模块和媒体类型配置。 以下功能标志已添加到 zabbix.conf.php 配置文件中:

  • $ZBX_FEATURE_FLAGS['http_auth_enabled'] = false 禁止访问用户 HTTP 身份验证配置(替代 $ALLOW_HTTP_AUTH 变量)。
  • $ZBX_FEATURE_FLAGS['modules_config_enabled'] = false 禁止访问模块配置。
  • $ZBX_FEATURE_FLAGS['media_type_denylist'] = [<value1>, <value2>, ...] 限制对使用指定传递方式('email''script''sms''webhook';可指定一个或多个值)的媒体类型进行编辑。
    如果 zabbix.conf.php 配置文件存在,则会限制对 setup.php 的访问。

Zabbix agent 和 Zabbix agent 2 配置中的新 AllowKeyRegexpDenyKeyRegexp 参数

已在 Zabbix agentZabbix agent 2 配置中添加新的 AllowKeyRegexpDenyKeyRegexp 参数。
这些参数允许您定义基于正则表达式的模式,以便更精确、更灵活地匹配键及其参数。

事件详情显示抑制原因

Monitoring > Problems 打开的 事件详情 页面,现在会显示某个事件是否因为主机维护而被抑制,或者是否被用户手动抑制。

橙色图标 icon_suppression_maintenance.pngicon_unsuppressed_maintenance.png 表示与维护相关的抑制/取消抑制,而灰色图标 icon_suppression.pngicon_unsuppressed.png 表示手动抑制/取消抑制。

problemevent 历史记录中,由已删除用户执行的操作现在显示为 Inaccessible user

Zabbix SELinux 策略包的变更

对于 AlmaLinux、CentOS Stream、RHEL、Rocky Linux 和 Oracle Linux 的 10 版本,SELinux 策略由新的 zabbix-selinux-policy-main 包提供,该包包含来自上游 SELinux 仓库的 SELinux 策略。

现有的 zabbix-selinux-policy 包现在依赖于 zabbix-selinux-policy-mainselinux-policy-targeted-extrazabbix-selinux-policy-main 包与 selinux-policy-targeted-extra 冲突;因此,这两个包不能同时安装。

如果您已经安装了 zabbix-selinux-policy,则无需手动更改。 在包升级期间,zabbix-selinux-policy-main 将自动安装。 如果已经安装了 selinux-policy-targeted-extra,则不会安装任何额外的包。

仪表板幻灯片放映设置

在创建仪表板时,开始幻灯片放映 复选框默认处于禁用状态,必须显式启用。 slideshow URL 参数 支持 onoff 值,可用于快速覆盖 仪表板幻灯片放映 设置。 slideshow=1 参数已被 弃用,并将不再受支持。

文档

次要版本的合并文档页面

现在,同一 Zabbix 主版本下各次要版本的发布文档将分别汇总到单独的文档页面中,即新功能升级说明