2022 Zabbix中国峰会
2022 Zabbix中国峰会
Table of Contents

5 Zabbix 7.0.0新功能

参阅此版本的重大变更

AGPL-3.0 许可证

Zabbix软件现在是在AGPL-3.0许可证(以前的GPL v2.0许可证)下编写和发布的。

软件更新检查

现在在新的和现有的安装中默认添加了软件更新检查功能 - Zabbix前端将与公共Zabbix终端通信以检查更新。关于可用的Zabbix软件更新信息将显示在报表 -> 系统信息系统信息的仪表盘部件

(可选)。您可以通过在服务器配置中设置AllowSoftwareUpdateCheck=0来关闭软件更新检查 configuration

Oracle DB 已弃用

将 Oracle 作为后端数据库的支持已被弃用,并预计在未来的版本中将被完全移除。

通过Zabbix API将数据发送到Zabbix服务器

以前,可以使用Zabbix sender实用程序或实现类似于Zabbix sender中使用的基于JSON的通信协议来将特定数据发送到Zabbix服务器。

现在,也可以使用HTTP协议通过history.push API方法将数据发送到Zabbix服务器。 请注意,接收发送的数据需要配置trapper项目HTTP代理项目(已启用trapping)。

此外,正确history.push操作会被记录在报告审计日志中,该审计日志具有额外的筛选选项(新的推送操作和历史记录资源), 并且history.push API方法也出现在配置用户角色时的API方法允许/拒绝列表中。

性能

更快地响应主机维护时间段的更新

之前,维护仅每分钟重新计算一次,导致启动或停止维护时间段时可能延迟长达60秒。

现在,如果维护时间段有更改,维护仍将每分钟重新计算一次,或者只要配置缓存重新加载就会重新计算。

每秒,计时器进程都会检查是否需要根据配置更新后维护时间段的更改来启动/停止任何维护。因此,启动/停止维护时间段的速度取决于配置的更新间隔(默认为10秒)。请注意,维护时间段的更改不包括“自/至活动”设置。此外,如果将主机/主机组添加到现有的活动维护时间段,则更改仅在下一分钟开始时由计时器进程激活。

更快的权限检查

通过引入几个用于检查非特权用户权限的中间表,权限检查的速度已大大提高。

这些表分别保存每个用户/主机的用户组集合和主机组集合的哈希值(SHA-256)。另外,还有一个权限表,仅存储由哈希ID指定的用户和主机的可访问组合。

此改进使得加载权限繁重的前端页面(即主机、问题)速度更快。请注意,超级管理员用户的哈希和权限无需计算。

更快地触发动作执行

现在,在Zabbix服务器上,触发动作操作、恢复操作和更新操作在触发状态更改后立即执行(少于100毫秒),而以前用户可能会遇到长达4秒的延迟。

通过实现多个进程(escalator和escalation initiator,escalator和alerter,preprocessing manager和history syncer)之间的进程间通信(IPC)机制,减少了延迟。

服务器环境加固

现在可以通过限制一些Zabbix功能来加固服务器环境的安全性:

  • 通过在服务器配置中设置EnableGlobalScripts=0,可以禁用Zabbix服务器上的全局脚本执行。对于新安装,Zabbix服务器上的全局脚本执行默认已禁用。
  • 通过在前端配置文件(zabbix.conf.php)中设置$ALLOW_HTTP_AUTH=false,可以禁用用户HTTP身份验证。

配置文件验证

已经在Zabbix的serverproxyagentagent 2web service的维护命令中添加了配置文件验证的功能。

可以使用-T --test-config选项进行验证。

如果验证成功,退出代码将为“0”;否则,组件将以非零退出代码和相应的错误消息退出。警告(例如,在参数已弃用的情况下)不会影响成功的退出代码。

设置Windows代理服务的启动类型

已添加设置Zabbix agent/agent 2 Windows服务启动类型的选项(-S --startup-type)。 此选项允许配置代理/代理2服务,以便在Windows启动时自动启动(automatic),在自动启动的服务完成启动后启动(delayed),或者由用户或应用程序手动启动(manual),或者完全禁用该服务(disabled)。

当执行从MSI安装Windows代理时,如果在STARTUPTYPE 命令行参数中没有另外指定,Windows Server 2008/Vista及更高版本的默认启动类型现在是delayed。 这提高了Zabbix代理/代理2 Windows服务的可靠性和性能,特别是在系统重启期间。

流式选择数据和配置尝试间隔

当从Zabbix向外部系统流式传输监控项值时,现在可以基于信息的类型(数字(无符号)、数字(浮点)、字符等)配置连接器应流式传输哪些监控项值。

此外,为了避免流式传输监控项值或事件的不成功尝试(例如,如果HTTP端点正忙或受速率限制),现在还可以配置尝试间隔 - 即连接器在尝试流式传输数据失败后应等待多长时间。

现在,连接器也将201、202、203和204 HTTP响应代码视为成功(以前仅200)。

将数据流式传输到Apache Kafka

现在提供了一个新的流式传输数据到外部系统的工具 - Zabbix服务器的Kafka连接器。 Kafka连接器是一个用Go编写的轻量级服务器,旨在将监控项值和事件从Zabbix服务器转发到Kafka代理。

异步 pollers

新的poller进程能够同时执行多个检查时,它分出了以下poller类型: - agent poller - http agent poller - snmp poller ( 支持walk[OID]get[OID] 监控项)

异步poller可以在等待网络响应的同时启动新的并行检查,可以配置最多1000个并发检查

异步轮询器的设计是为了提高效率,与同步轮询器相比,同步轮询器在同一时间只能执行一个检查,并且大部分时间都花费在等待响应上。

server/proxy配置文件中新增了 agent pollers参数,你可以通过修改 StartAgentPollers 参数值来启动指定数量的 agent pollers。

可以通过分别修改StartHTTPAgentPollersStartSNMPPollers 参数值来启动指定数量的HTTP agent pollers和SNMP pollers。

异步pollers (agent, HTTP agent and SNMP) 的最大并发数是由MaxConcurrentChecksPerPoller定义的。

要注意agent升级后,所有的agent、HTTP agent and SNMP walk[OID] poller检查将都会切换为异步pollers.

作为开发的一部分,持久连接 cURL 特性已经添加到了 HTTP agent 检查中。

Proxy 负载均衡和高可用

zabbix中通过引入proxy groups来实现proxy的负载均衡。Proxy groups可以自动将主机分配给proxy,当proxy离线时,其监控的主机将立即被分配到组内的其他proxy,实现proxy负载均衡和高可用。

了解更多信息, 参阅 proxy load balancing and high availability.

多线程

在过渡到多线程架构的过程中,进行了以下一些更改:

  • 添加了一个新的配置参数:--with-stacksize。该参数允许覆盖系统使用的默认线程堆栈大小(以千字节为单位)。
  • 用户宏解析已从预处理管理器移至预处理工作进程。

在运行时检测cURL库特性

以前,Zabbix服务器、代理或agent在构建时会检测cURL库的特性。如果cURL的特性得到了升级,为了使用这些特性,需要重新编译相应的Zabbix组件。

现在,只需要重启Zabbix,就可以在Zabbix中使用升级的cURL库特性了。不再需要重新编译。这适用于Zabbix服务器、代理或agent。

另请参阅升级说明

在配置文件中添加了Vault前缀参数

配置文件zabbix_server.confzabbix_proxy.conf已补充了一个新的可选参数Vault Prefixzabbix.conf.php已补充了可选的$DB['VAULT_PREFIX'],并且已相应地更新了setup.php

因此,CyberArkHashiCorp的vault路径不再硬编码,以允许使用非标准路径的vault部署。

Agent 2配置

缓冲区大小

Zabbix agent 2的BufferSize配置参数的默认值已从100增加到1000。

允许空值

现在,Zabbix agent 2上与插件相关的配置参数允许为空值。

Proxy 内存缓存

Zabbix proxy 已经支持内存缓存。内存缓存允许将新的数据(监控值、网络发现、主机自动注册)存储在缓存中,并在不访问数据库的情况下直接上传到 Zabbix server 。

在Zabbix 7.0之前的版本中,收集的数据在上传到Zabbix server之前会先存储在数据库中。升级后,仍然保留这一默认特性。

为了优化性能,建议在proxy上配置使用内存缓存。可以通过ProxyBufferMode 参数值修改,从 "disk" (默认值) 修改为 "hybrid" (推荐) 或者 "memory"。此外还需设置内存缓存大小 (ProxyMemoryBufferSize 参数).

在混合模式下(hybrid),如果 proxy 停止、缓存满或数据过旧,未发送的数据会被刷新到数据库中,从而避免数据丢失。当所有数值都刷新到数据库后,proxy 会重新使用内存缓存模式。

在内存模式下,将使用内存缓存存储数据会有数据丢失的风险。如果 proxy 停止或内存溢出,未发送的数据将会丢失。

从 Zabbix 7.0 开始,混合模式 (ProxyBufferMode=hybrid) 适用于所有新的版本。

Proxy 其他参数,如 ProxyMemoryBufferSizeProxyMemoryBufferAge 分别用于定义内存缓存的大小和缓存中数据存储的最大时长。

此外新增了内部监控项用于监控 proxy 的内存缓存。

JIT 即时用户预配

之前配置用户仅限于创建媒介,无法灵活地配置诸如工作时长或严重级别等属性

现在 Zabbix 为用户提供了更多灵活的配置:

  • 预配 用户媒介 可以禁止/启用;
  • 预配 媒介属性 例如 何时发送, 告警级别设置状态 可以手动修改;
  • 可以为预配用户添加额外的用户媒介(例如, 电子邮件) ;
  • 可以删除手动添加的用户媒介 (预配的用户媒介不可删除)。

Additionally, when configuring user media mapping for provisioning such fields as When active, Use if severity and Enabled are now available. Note that changes to user media type mapping form will take effect only for new media created during provisioning. 此外,在配置用户媒介映射时,可以使用 何时发送, 告警级别设置状态 等属性。请注意,对媒体类型映射表的更改仅在新的媒介创建时生效。

被动 agent 检查的 JSON 协议

已经为被动 agent 检查实现了一个基于 JSON 的协议。

为了与旧版 agent 兼容,添加了一个回退到旧版纯文本协议的选项。如果 agent 返回 "ZBX_NOTSUPPORTED",Zabbix 将将该接口缓存为旧版协议,并通过仅发送纯文本项键来重试检查。

现在,Zabbix get 可以使用新选项 -P --protocol <value> 运行,其中 "value" 可以是:

  • auto - 使用 JSON 协议连接,回退到纯文本协议并重试(默认);
  • json - 使用 JSON 协议键连接;
  • plaintext - 使用纯文本协议连接,其中仅发送项键。

统一的agent/agent2协议

Zabbix agent和agent 2协议已通过将Zabbix agent切换为Zabbix agent 2协议进行了统一。Zabbix agent和Zabbix agent 2请求/响应之间的区别通过“variant”标签值(“1”- Zabbix agent,“2”- Zabbix agent 2)来表示。

另请参阅:被动和主动agent检查

主动检查中的灵活/调度间隔支持

现在,Zabbix agent和Zabbix agent 2(以前仅Zabbix agent 2)在主动检查中都支持灵活/调度间隔。

网络发现的并发性

之前,每个网络发现规则都由一个发现器进程处理。因此,规则内的所有服务检查只能按顺序执行。

在新版本中,网络发现进程已重新设计,以允许服务检查之间的并发性。

已添加一个新的发现管理器进程,以及可配置数量的发现工作进程(或线程)。

发现管理器处理发现规则,并为每个规则创建一个带有任务(服务检查)的发现作业。

服务检查由发现工作进程接收并执行。只有那些具有相同IP和端口的检查才会按顺序进行调度,因为某些设备可能不允许在相同端口上进行并发连接。

一个新的内部项zabbix[discovery_queue]允许监视队列中的发现检查数量。

现在,StartDiscoverers参数确定可用于发现的发现工作进程的总数。StartDiscoverers的默认数量已从1增加到5,范围从0-250扩大到0-1000。

来自以前Zabbix版本的discoverer进程已被弃用。

另外:

  • 现在,除了LDAP检查外,所有服务检查都是异步执行的;
  • 每种服务检查类型的并发异步检查数量(或所有同步服务检查可用的工作进程数量)现在可以在前端中配置(参见每种类型的最大并发检查数)。此参数是可选的。
  • HTTP服务检查以前与TCP检查相同。现在,HTTP/HTTPS检查通过libcurl进行。如果Zabbix服务器/代理未编译libcurl,则HTTP检查将像以前一样工作(即作为TCP检查),但HTTPS检查将不起作用。
  • 网络发现过程中的错误现在将显示在前端(在数据收集 -> 发现中),例如: - fping错误; - 不正确的SNMP OID; - 项目超时的宏不正确; - 地址范围错误。

在发现和自动注册期间添加主机标签

现在,发现和自动注册事件可以进行以下额外操作:

  • 添加主机标签
  • 删除主机标签

共享已发现的主机组

现在,低级发现规则可以将已经发现和现有的主机组链接到由相同的低级发现规则创建的主机。

这会影响基于指定的组原型通过其他低级发现规则之前发现和创建的主机组。

连接器

数据流功能不再处于实验阶段。

模板

对于新模板和对现有模板的更改,请参见模板更改

更新的函数

已对几个函数进行了更新:

  • 聚合函数现在支持非数字类型进行计算。例如,对于countcount_foreach函数来说,这可能很有用。
  • countcount_foreach聚合函数支持可选参数operatorpattern,可用于精细调整项过滤,并仅计算符合给定条件的值。
  • 所有foreach函数在计数中不再包括不支持的项。
  • 之前配置为忽略时间周期参数的last_foreach函数现在接受它作为可选参数。
  • 预测函数返回的值所支持的范围已扩展到与双数据类型范围匹配。 现在,timeleft()函数可以接受最大值为1.7976931348623158E+308的值,而forecast()函数可以接受范围从-1.7976931348623158E+308到1.7976931348623158E+308的值。

监控项

一致的默认历史数据存储周期

在前端和数据库中,将保持监控项历史的默认周期统一为31天。此更改会影响监控项、模板监控项和监控项原型配置表单以及低级发现中的历史数据存储周期覆盖。

整数监控项的浮点数值被截断

现在,如果整数监控项接收到浮点数值, 该值将从小数部分被截断并以整数形式保存。 以前,浮点数值会使整数监控项不受支持。

Windows事件日志中的行数统计

在Windows上的Zabbix agent/agent 2中添加了一个新的eventlog.count监控项。 该监控项根据指定的参数返回Windows事件日志中的行数,以整数形式表示。

异步单OID SNMP请求

新增了一个get[OID] SNMP监控项,允许异步查询单个OID值。

浏览器监控

zabbix7增加了一种新的监控项类型 - 浏览器监控项,能够使用浏览器监控复杂的网站和web应用。 浏览器监控项允许执行用户定义的JavaScript代码来模拟与浏览器相关的操作,例如点击、输入文本、网页导航等。

该监控项通过HTTP/HTTPS收集数据,并部分实现了使用Selenium Server或普通的WebDriver(例如ChromeDriver)作为测试终端的W3C WebDriver标准。

要注意浏览器监控项的支持目前属于实验性

此外, 这个功能增加了 Website by Browser 模板以及配置导出/导入的新元素,还包括Zabbix server/proxy配置文件、超时设置以及zabbix_js命令行实用程序。 了解更多内容, 参阅 7.0.0更新说明.

内部监控项

已添加内部监控项以监控proxy内存缓冲区

还添加了以下内部监控项:

新的和更新的agent监控项

Zabbix agent/agent 2添加了新的监控项:

  • net.dns.perf 监控项返回等待服务响应所花费的秒数,计算net.dns 监控项的执行时间。
  • net.dns.get Zabbix agent 2监控项返回详细的DNS记录信息。

以下Zabbix agent/agent 2监控项已更新:

  • net.dnsnet.dns.record 监控项现在在进行反向DNS查找时接受反向和非反向格式的DNS名称;
  • "process" 和 "summary" 模式下的 proc.get 监控项现在也在Linux上返回PSS(比例集大小)内存;
  • system.sw.packagessystem.sw.packages.get 监控项现在支持Gentoo Linux;
  • 如果type参数中指定了新的fqdn选项,则system.hostname 监控项现在可以返回完全限定域名。
  • system.hostname 监控项现在如果type参数中指定了新的_fqdn_选项,可以返回完全限定域名;
  • 与Zabbix agent 2一起使用的wmi.getwmi.getall监控项现在返回JSON,其中的布尔值以字符串形式表示(例如,"RealTimeProtectionEnabled": "True"而不是以前返回的"RealTimeProtectionEnabled": true),以匹配Zabbix agent上这些监控项的输出格式;
  • oracle.ts.discovery Zabbix agent 2监控项现在返回一个新的{#CON_NAME} LLD宏,其中包含容器名称;
  • oracle.ts.stats Zabbix agent 2监控项具有新的conname参数,用于指定目标容器名称。
    返回数据的JSON格式已更新。
    如果在键参数中未指定tablespacetypeconname,则返回的数据将包含一个包含容器名称的额外JSON级别,以区分不同的容器。

简单检查

vmware.eventlog 监控项现在支持在第三个参数中按严重性进行可选过滤。

vmware.vm.discovery 监控项现在也返回有关虚拟机网络接口的数据。 这些数据可用于配置自定义主机接口

vmware.vm.net.if.discovery 监控项现在也返回网络接口地址的数组。

以下监控项已添加新的options参数:

此参数可用于指定是否应将重定向的响应视为目标主机已上线或目标主机已下线。 有关更多详细信息,请参阅简单检查

记录重复的SNMPv3引擎ID

SNMPv3中的引擎ID用作设备的唯一标识符。由于配置错误或出厂设置,有时多个设备的引擎ID相同。由于SNMP标准要求引擎ID是唯一的,因此Zabbix不支持共享相同引擎ID的监控项,这会导致这些设备的可用性出现问题。

为了帮助排查此类问题,Zabbix服务器现在将定期记录共享相同引擎ID的SNMPv3设备的信息。请注意,每个SNMP轮询器都分别进行重复的引擎ID检测。

在主动 agent 上执行远程命令

现在,可以在以主动模式运行的 7.0 版本的 agent 上执行远程命令。 一旦某个动作操作或手动脚本执行触发了远程命令的执行, 该命令将被包含在主动检查配置中,并在主动 agent 收到时执行。 请注意,较旧的主动 agent 将忽略包含在主动检查配置中的任何远程命令。 有关更多信息,请参阅被动和主动 agent 检查

内部事件支持标签处理

现在,webhook脚本返回的标签处理也支持内部事件

此外,内部事件通知现在支持{EVENT.TAGS.<tag name>}、{EVENT.TAGS}、{EVENT.TAGSJSON}、{EVENT.RECOVERY.TAGS}、{EVENT.RECOVERY.TAGSJSON}宏。

这些更改允许通过内部事件恢复通知使用webhook来更新或关闭外部问题/支持票据。

数据库

TimescaleDB上的Auditlog转换为超表

在新安装中,auditlog表已转换为TimescaleDB上的超表,以利用时间自动分区(默认7天)和更好的性能。

为了成功升级现有安装:

  1. 启动Zabbix服务器;这将升级现有的数据库。
  2. 检查服务器日志文件以确认数据库升级是否成功;如果成功,停止Zabbix服务器,然后进行下一步。
  3. 运行postgresql/timescaledb/schema.sql脚本(从Zabbix 7.0.0开始,脚本的位置和名称已从postgresql/timescaledb.sql更改为postgresql/timescaledb/schema.sql)。 请注意,如果没有运行此脚本而启动Zabbix服务器,将记录一条警告。

另请参阅:

proxies的单独数据库表

Proxy记录已经从hosts表中移出,现在存储在新的proxy表中。

同时,proxies的操作数据(如最后访问时间、版本、兼容性)已经从host_rtdata表中移出,现在存储在新的proxy_rtdata表中。

进程

配置字段的字符限制增加

URL字段

现在,所有URL字段的字符限制为2048个字符。 这包括与地理地图设置相关的Tile URL, 配置杂项前端参数Frontend URL网络地图网络地图元素URLs主机清单字段的URL A-C, 以及URL仪表板小部件URL

认证字段

现在,认证字段User/User namePassword的字符限制为255个字符。 这适用于配置HTTP agent项、Web场景连接器的HTTP认证, 以及配置简单检查ODBC监控SSH检查Telnet检查和 [JMX监控]((/manual/config/items/itemtypes/jmx_monitoring#adding-jmx-agent-item)认证。

监控项和预处理测试结果的截断

测试监控项测试预处理步骤时,从主机获取的值和测试结果现在会在发送到前端时截断为最大512KB的大小。 请注意,大于512KB的数据仍会由Zabbix服务器完全处理。

主机仪表盘标签

现在,所有为选定主机配置的主机仪表盘都将在主机仪表盘页面头部下方以标签形式显示,取代了之前右上角的下拉菜单。 这允许轻松地在各种主机仪表盘之间切换,并改善了通过监控数据进行导航的体验。

审计日志

管理审计日志,现在您可以启用/禁用服务器(系统用户)执行的低级发现、网络发现和自动注册活动的审计日志记录。

审计日志记录在被管家删除之前的默认存储期限已从365天更改为31天。

最新数据过滤器

监控最新数据中,如果未设置过滤器,则默认情况下不再显示子过滤器和数据。

如果从之前的Zabbix版本进行升级,请参见:7.0.0版本升级说明

所需最低PHP版本

所需的最低PHP版本已从7.4.0提升至8.0.0。

已重命名的元素

  • 一些带有 Tags 标签的仪表盘部件参数已进行重命名以提高清晰度: 监控项标签(对于 数据概览 部件),场景标签(对于 Web监控 部件); 问题标签(对于 图形问题主机问题按严重性问题触发器概览 部件);
  • 监控地图 部分中,地图列表中的地图内容编辑动作链接已从 Constructor 重命名为 Edit
  • 监控项监控项原型配置表单中的设置历史和趋势存储周期字段已进行重命名;
  • Top hosts 部件配置中,字段 Order columnHost count 已分别重命名为 Order byHost limit,以更好地描述其功能。
  • Graph 部件配置中,图例字段 Display min/max/avg 已重命名为 Display min/avg/max,并且数据集字段 host patternitem pattern 已分别重命名为 host patternsitem patterns
  • 用户配置文件设置中,将 Messaging 选项卡重命名为 Frontend notifications,并将其中的 Frontend messaging 选项也重命名为 Frontend notifications

模态表单

现在,几个前端表单在模态(弹出)窗口中打开:

改进的Top触发器菜单部分

查看顶部触发器的菜单部分现在被命名为Top 100 triggers。 现在增加了按问题名称和标签过滤触发器的功能。 此外,对于每个触发器,现在显示检测到的问题数量而不是状态更改的数量。

不再支持旧的数值类型

由于使用了扩展范围的数值,因此不再支持以前弃用的旧浮点数值样式。

自动发现

简化克隆操作

之前,可以克隆完全克隆主机模板地图

现在,已经移除了克隆选项,并将完全克隆选项重命名为克隆,同时保留了完全克隆的所有先前功能。

部件

新版本中添加了多个新部件,同时增强了其他部件的可用功能。此外,仪表盘部件现在可以相互连接和通信,使部件和仪表盘更加动态。

仪表盘

仪表盘部件中添加了仪表盘部件,允许将单个监控项的值显示为仪表盘。 更多信息,请参见仪表盘

饼图

仪表盘部件中添加了饼图部件,允许将选定监控项的值显示为:

  • 饼图
  • 环形图

饼图。

环形图。

更多信息,请参见饼图

作为此次开发的一部分,在图形部件配置(在图例选项卡中)中添加了显示聚合函数复选框。

Top触发器

一个Top触发器部件已添加到仪表盘部件, 它允许您查看具有最多问题的触发器。

更多信息,请参见:顶级触发器

蜂窝图

仪表盘部件中添加了蜂窝图部件,它提供了对受监控的网络基础设施和资源的动态且充满活力的概览,其中主机组(如虚拟机和网络设备)及其各自的监控项以交互式六边形单元格的形式直观地表示出来。

更多信息,请参见蜂窝图

主机导航器和监控项导航器

主机导航器监控项导航器部件已添加到仪表盘部件。 这些部件分别根据各种过滤和分组选项显示主机或监控项,并允许根据所选的主机或监控项控制其他部件中显示的信息。 更多信息,请参见主机导航器监控项导航器

监控项历史和纯文本

新的监控项历史仪表盘部件已替换纯文本部件,并提供了多项改进。

与仅显示最新监控项数据的纯文本的纯文本部件不同,监控项历史部件支持多种监控项类型(数值、字符、日志、文本和二进制)的各种显示选项。 例如,它可以显示进度条或指示器、二进制数据类型的图像(对于浏览器监控项非常有用),以及突出显示的文本值(对于日志文件监控非常有用)。

更多信息,请参见监控项历史。 关于纯文本部件的替换详情,请参见7.0.0升级说明

监控项值/Top主机部件中的聚合时间段

现在可以在监控项值顶部主机部件中配置时间段。

现在还可以在选择的时间段内显示监控项值部件中的聚合值。聚合值可以显示为:

  • 最小值
  • 最大值
  • 平均值
  • 计数
  • 总和
  • 第一个值
  • 最后一个值

这些新增功能对于创建数据比较部件很有用。例如,在一个部件中,您可以显示最新值,而在另一个部件中,您可以显示更长时间段内的平均值。或者,可以使用多个部件来并排比较过去不同时间段的聚合值。

模板仪表盘中部件的可用性扩展

以前,在模板仪表盘上,您只能创建以下部件: * 时钟 图形(经典) 图形原型 监控项值 纯文本 URL *。

现在,模板仪表盘支持创建所有部件。

Top主机部件中的扩展排序

现在,除了按监控项值排序外,还可以在Top主机部件中将主机名文本列设置为排序列。

函数

新功能

已添加新函数,用于触发器表达式和计算监控项:

另请参阅:字符串函数

可折叠的高级配置

高级配置复选框,用于显示高级配置选项,现在已经被可折叠区块所取代(例如,连接器配置服务配置时钟部件配置等)。 这改善了用户体验,因为折叠这些区块并保存配置将不再将已配置的高级选项重置为其默认值。

前端

多因素身份验证

现在可以使用基于时间的一次性密码(TOTP)或Duo通用提示身份验证方法的多因素身份验证(MFA)登录Zabbix,为用户提供除用户名和密码之外的额外安全层。

美国时间格式

当前端使用默认(en_US)前端语言时,前端显示的时间和日期将遵循美国标准时间和日期显示。

以前 现在

仪表盘部件的通信框架

仪表盘部件现在可以相互连接和通信,使部件和仪表盘更加动态。 多个部件具有参数,这些参数使它们能够在兼容的部件或仪表盘之间共享配置数据。

此功能引入了以下更改:

  • 主机组主机监控项参数允许您选择相应的实体或提供这些实体的数据源。
  • 启用主机选择参数已被覆盖主机参数替换,该参数允许您选择提供主机的数据源。
  • 已在多个部件中添加时间段参数,允许您选择提供时间段的数据源。
  • 地图部件中的地图参数允许您选择地图或另一个部件作为地图的数据源。
  • 图形(经典)部件中的图形参数允许您选择图形或另一个部件作为图形的数据源。

根据部件及其参数,数据源可以是同一仪表盘中的兼容部件或仪表盘本身。 有关更多信息,请参见仪表盘部件

对于Zabbix自带的默认模板所做的更改,请参见模板更改

主机可用性部件的功能增强

主机可用性部件现在允许主机可用性部件的功能增强

主机可用性部件现在允许显示使用Zabbix agent(主动检查)接口的主机。显示使用Zabbix agent(主动检查)接口的主机。此外,还增加了一种可用性状态,即混合状态,这对应于至少一个接口不可用,而至少一个接口可用或未知的情况。此外,还增加了一种可用性状态,即混合状态,这对应于至少一个接口不可用,而至少一个接口可用或未知的情况。此外,还引入了仅查看主机总数(不按接口细分)的可能性。此外,还引入了仅查看主机总数(不按接口细分)的可能性。

Graph部件中的图例大小可变

现在,Graph部件支持配置可变数量的图例行,具体数量由已配置的监控项数量确定。

每个标准项的文档链接

现在,每个标准项在前端都直接链接到其文档页面。

这些链接位于问号图标下方,从项配置表单打开项助手窗口时(点击项键字段旁边的“选择”)即可看到。

可配置的每个监控项的超时时间

现在,更多监控项类型支持为每个监控项配置超时时间(请参见支持的监控项类型)。 除了可以在监控项级别设置超时值外,还可以为各种监控项类型定义全局代理超时时间。

在监控项级别配置的超时时间具有最高优先级。 默认情况下,全局超时时间应用于所有监控项;但是,如果设置了代理超时时间,它们将覆盖全局超时时间。

自动禁用丢失的资源

现在,不再通过低级发现发现的资源可以自动禁用。它们可以立即禁用,也可以在指定的时间段后禁用,或者永不禁用(请参阅发现规则中的新参数Disable lost resources配置)。

丢失的资源(主机、监控项、触发器)在状态列中由一个信息图标标记。工具提示文本提供了有关其状态的详细信息。

在同一开发中,将Keep lost resources period参数重命名为Delete lost resources,提供了立即删除、在指定时间段后删除或永不删除的选项。

脚本的手动用户输入

前端脚本的手动用户输入允许在每次执行脚本时提供一个自定义参数。这避免了创建多个仅有一个参数差异的类似用户脚本的必要性。

例如,您可能想在执行脚本时提供一个不同的整数或不同的URL地址。

要启用手动用户输入:

  • 在脚本(命令、脚本、脚本参数)或URL脚本的URL字段中需要的位置使用{MANUALINPUT}宏;
  • 高级脚本配置中,启用手动用户输入并配置输入选项:

启用用户输入后,在脚本执行前,将向用户显示一个“手动输入”弹出窗口,要求提供自定义值。提供的值将替换脚本中的{MANUALINPUT}。

根据配置,用户将被要求输入字符串值或从预定义选项的下拉列表中选择值。

预处理

不支持项状态的高级根源处理

在无法获取项值(因此变得不受支持)时,之前的错误处理缺乏区分过程失败原因或运行时阶段的能力。所有错误都必须使用相同的错误处理选项来处理——要么丢弃该值,要么设置指定值,要么设置指定的错误消息。

现在可以将错误消息与正则表达式匹配。如果错误匹配(或不匹配),则可以指定如何处理错误情况。例如,可以将特定的错误消息“映射”到更一般的情况,以便进一步预处理步骤进行匹配和处理,或者可以对一些间歇性问题(例如网络连接问题)与确定无法获取项值的问题进行不同的处理。

现在可以添加多个“检查不受支持的值”预处理步骤。请注意,在探测项不受支持状态的管道末尾只能有一个“任何错误”匹配步骤。如果存在,则在没有任何特定检查(误)匹配相应模式或(修改后)错误消息被传递时,将激活该步骤——即没有“丢弃值”或“将值设置为”覆盖生效。

另请参阅:检查不受支持的值

预处理步骤批量更新更易用

之前的监控项批量更新表单设计并不足以明确预处理步骤更新是添加还是替换预处理步骤。在新的设计中,添加了“替换”和“全部删除”单选按钮,使用户能够清楚地知道预处理步骤批量更新的结果是什么:

监控项和监控项原型名称中支持的用户宏

用户宏现在支持在监控项名称和监控项原型名称中使用。

请注意,在Zabbix 6.0中,已从监控项/监控项原型名称中移除了对用户宏的支持。 现在,该支持已恢复。现在还支持使用已解析的宏来搜索监控项名称,这在之前是不支持的。

具有已解析宏的监控项名称存储在单独的数据库表(item_rtname)中,这是监控项表的扩展。对于监控项表中的每条记录,都会创建相应的item_rtname记录(除了监控项原型、发现规则监控项和模板监控项)。具有已解析宏的名称限制为2048个字符。

除了“数据收集”部分外,具有已解析宏的监控项名称将显示在所有前端位置。

已添加一个新的configuration syncer worker服务器进程,负责解析和同步监控项名称中的用户宏值。

宏函数的扩展支持

/manual/config/macros/macro_functions中的宏函数现在支持所有类型的宏:

可以在支持所列宏的所有位置使用宏函数。 除非明确指定仅期望使用宏(例如,在配置主机宏或低级发现规则过滤器时)。

计划报表

计划报表功能不再是实验性的。

多页报表

对于多页仪表盘,现在返回的报表包含仪表盘的所有页面,每个PDF页面对应一个仪表盘页面。以前,此功能仅限于返回第一个仪表盘页面。

通知

图标替换为字体

前端中的所有图标已从图标图像表切换为字体。

其他

  • 主菜单的图标已更新;
  • 指示没有数据或未设置过滤器(在没有数据可显示的部件或弹出过滤器中)的消息已更新。 此外,在没有数据可显示或过滤(或使用全局搜索)结果为空的情况下,已删除“显示0个已找到的0个”页脚;
  • Zabbix前端和Zabbix服务器的版本号现在可以在系统信息页面上查看;
  • 现在,在媒体类型列表(在动作中使用列)中显示了所有使用媒体类型的动作。以前,在动作操作配置中仅发送给 选项为“全部”的动作不包括在媒体类型的在动作中使用列中;
  • 已向最新数据部分添加了新的过滤选项:现在允许您根据状态(受支持/不受支持)过滤监控项;
  • 已向问题部分添加了新的确认状态过滤选项:现在允许您根据状态(未确认/已确认/我确认的)过滤问题;
  • 用于配置和批量更新地图元素和形状的弹出窗口已添加标准窗口关闭按钮;
  • 已经对用户组权限和用于过滤可见问题的标签的配置进行了优化。 现在,可以一次选择多个主机/模板组,以便为它们分配相同的权限。
  • 在单个浏览器中暂停全局通知后,现在将在用户登录的所有浏览器/设备上暂停这些通知。
  • 为了改善易用性,已将监控项值部件中的覆盖主机参数移动到高级配置部分之前。

插件

Ember+

Zabbix agent 2已经添加了一个用于直接监控Ember+的新插件。

更多信息,请参见:

安装

RHEL衍生版本的独立安装包

针对AlmaLinux、CentOS Stream、Oracle Linux和Rocky Linux的8和9版本,提供了专用的安装包。之前,为RHEL和基于RHEL的发行版提供了单一安装包。 现在,为了避免潜在的二进制不兼容问题,RHEL和上述每个衍生版本都使用了独立的安装包。

支持ARM64/AArch64

现在,Debian、RHEL 8、9及其衍生版本,以及SLES/OpenSUSE Leap 15均提供了ARM64/AArch64安装包。