Zabbix 5.0 的新增功能

5.0月中旬,Zabbix 5.0版本发布,我们组织了一系列不同语言的在线聚会,以便向社区清楚地展示所有的变化和创新。我们邀请您阅读 Zabbix 执行董事兼创始人 Alexey Vladyshev 的报告,他在报告中逐步描述了 Zabbix XNUMX 中的新功能。

Zabbix 5.0 的新增功能

Zabbix 4.2 和 Zabbix 4.4

让我们从 Zabbix 4.0 版本中出现的与 LTS 版本的使用相关的变化开始。
在4.2年2019月发布的Zabbix XNUMX版本中,出现了以下功能:

  • 高频节流监控可提供扩展和更高的 NVPS,这意味着更快的问题检测和警报,而不会给 Zabbix 带来沉重的负载。
  • 使用 HTTP 代理收集数据。
  • 支持 Prometheus Pro 的数据收集。
  • 预处理支持验证和 JavaScript,允许您转换任何收集的数据。
  • 代理端预处理,允许更有效地使用代理进行扩展。
  • 改进了标签管理 - 事件和问题级别的元信息,这很方便使用,因为模板级别和主机级别都支持标签。

去年4.4月,Zabbix XNUMX发布,它提供了以下功能:

  • 新的 Zabbix 代理。
  • Webhook 支持警报和通知,允许与外部系统集成。
  • TimescaleDB 支持。
  • Zabbix 用户可以看到内置的指标和触发器知识库。例如,用户可以使用项目和触发器描述 监控 > 最新数据.
  • 模板的新标准。

扎比克斯5.0

今天我们将讨论Zabbix 5.0的LTS版本,它将支持5年。对 4.4 版本的支持将在一个月后结束。 Zabbix 3.0 的 LTS 版本将再获得 3,5 年的支持。

Zabbix提供了很多东西的监控,可以在页面上指定监控的列表 http://www.zabbix.com/integrations,其中提供了监控模板和插件,包括新代理的监控模板和插件。

Zabbix 5.0 的新增功能
用于监控和集成的可用模板

此外,还可以与各种系统集成,包括票务系统、ITSM 系统和使用 Webhook 的消息传递系统。

Zabbix 5.0 的新增功能
集成选项

Zabbix 5.0 扩展了对与各种票务系统以及警报系统集成的内置支持:

Zabbix 5.0 的新增功能
与各种系统集成

用于监控应用程序和设备的内置模板列表已扩展:

Zabbix 5.0 的新增功能
用于监控应用程序和设备的内置模板

所有更新均可在以下位置下载: Git仓库.

任何用户或开发人员都可以使用现成的产品(模板或插件)参与 Zabbix,只需使用一个简单的过程:

  1. 签署 Zabbix 贡献协议(ZCA) https://www.zabbix.com/developers.
  2. 发布拉取请求 https://git.zabbix.com.
  3. 由开发团队审查应用程序。如果插件或模板符合 Zabbix 标准,它就会包含在产品中,并且此类开发人员的工作将得到 Zabbix 团队的正式支持。

Zabbix是开源软件,可以查看、研究、修改。用户有机会自由使用该产品、参与改进程序或将代码用于自己的新程序。另一方面,Zabbix团队竭尽全力确保Zabbix能够轻松安装在各种平台上。

Zabbix 开发人员为几乎所有最流行的发行版和各种虚拟化平台提供软件包。另外,Zabbix可以一键安装在公有云中。 Zabbix 还可以在 Red Hat Openshift 或 OpenStack 平台上使用。

Zabbix 5.0 的新增功能
适用于发行版和平台的 Zabbix 软件包

Zabbix Agent 2 支持 Windows 和 Linux

新的 Zabbix Agent 2 是市场上最好的解决方案之一。

  • 提供基于插件的结构,并支持可运行数小时的数据收集脚本。
  • 支持并行主动扫描和与外部系统的持久连接,这对于有效的数据库监控等很有用。
  • 支持陷阱和事件,这对于监控(例如 MQTT 设备)非常重要。
  • 新版本的代理很容易安装(因为新代理支持所有以前的功能)。

此外,Zabbix 5.0中的新代理提供了对持久数据存储的支持。以前,未发送的信息仅存储在代理的缓冲存储器中,但在新版本中,可以配置将此类信息存储在磁盘上。

Zabbix 5.0 的新增功能
持久数据存储

这在监控关键系统和不稳定通信的情况下非常重要,因为大量关键数据在发送到 Zabbix 服务器之前会被存储。该选项对于可能长时间无法使用的卫星连接也很有用。
重要! Zabbix 5.0 保留对 Zabbix Agent 1 的支持。

Zabbix 5.0 中的安全更改

1.新版本支持Webhook的HTTP代理,这允许您以更安全和受控的方式从Zabbix服务器到外部警报系统进行连接。

如果您需要将本地网络上的Zabbix服务器与外部系统(例如云端的JIRA)集成,可以通过HTTP代理维护连接,从而提高连接的可控性和可靠性。

2. 对于旧代理和新代理,都可以选择对特定代理可用的检查。例如,您可以限制检查数量,本质上是创建白名单和黑名单,并定义支持的键。

  • MySQL相关检查白名单
    AllowKey=mysql[*] 
    DenyKey=*
  • 黑名单拒绝所有 shell 脚本
    DenyKey=system.run[*]
  • 黑名单拒绝访问 /etc/password
    DenyKey=vfs.file.contents[/etc/passwd,*]

3. 可以为所有 Zabbix 组件选择加密算法,以避免在 TLS 连接中使用不安全的密码。这对于监控应用某些安全标准的环境非常重要。

Zabbix 5.0 的新增功能
选择 TLS 连接的加密算法

4. Zabbix 5.0引入了对数据库加密连接的支持。目前仅可使用与 PostgreSQL 和 MySQL 的加密连接。

Zabbix 5.0 的新增功能
加密的数据库连接

5. Zabbix 5.0从MD5切换到SHA256,用于在数据库中存储用户密码哈希值,因为这是目前最安全的算法。

6. Zabbix 5.0 支持秘密用户宏来存储最终用户无权访问的任何敏感信息,例如密码和 API 令牌。

Zabbix 5.0 的新增功能
秘密宏

7. 所有 Zabbix 与外部系统的连接以及与代理的内部连接都是安全的。支持使用 TLS 证书进行加密,或使用预共享密钥加密来连接到代理和代理或 HTTPS。通过白名单和黑名单可以增强代理端的安全性。该界面通过 HTTPS 运行。

Zabbix 5.0 的新增功能
安全连接

8. SAML 支持向受信任的身份服务提供商提供单点身份验证,因此用户凭据不会离开防火墙。

Zabbix 5.0 的新增功能
SAML 身份

SAML 支持允许您将 Zabbix 与各种本地和云身份服务提供商集成,例如 Microsoft ADFS、OpenAM、SecurAuth、Okta、Auth0 以及 Azure、AWS 或 Google Cloud Platform。

Zabbix 5.0 的易用性

1. 针对宽屏优化的用户界面。我们已将菜单从顶部(总有空间)移至屏幕左侧。菜单仍然以完整、最小和隐藏模式显示。

Zabbix 5.0 的新增功能
针对宽屏优化的界面

2. 从面​​板复制小部件 允许您非常快速地创建新面板。为此,您需要在面板中选择所需的小部件,然后单击复制

Zabbix 5.0 的新增功能
复制小部件

并将小部件插入所需的面板中。

Zabbix 5.0 的新增功能
粘贴复制的小部件

3.导出图表。要复制图表并发送(例如通过电子邮件),您可以通过选择所需的小部件并单击来获取 PNG 格式的图表 下载图片.

Zabbix 5.0 的新增功能
导出图表

4. 按标签过滤:问题严重性和问题主机。例如,收集与一个数据中心的一个网络节点相关的所有问题的数据成为可能。

Zabbix 5.0 的新增功能
按标签过滤

5.支持扩展Zabbix接口的模块。要安装独立模块,需要将其复制到特定目录。模块允许您扩展界面的现有功能、创建新页面、更改菜单结构,例如添加项目。

任何用户都可以编写和集成模块。为此,模块被复制到模块文件夹中,之后它对界面可见,可以在其中打开和关闭它。

Zabbix 5.0 的新增功能
添加新模块

6. 轻松浏览与网络节点相关的资源。 在 监控 > 主机 显示 Zabbix 监控的设备列表:主机、服务、网络设备等。此外,还可以快速导航到特定设备的屏幕、图表和问题。

我们已经删除了标签 监控 > 图形和监控 > Web,所有导航都是通过 监控 > 主机。可以过滤显示的信息,包括按标签过滤,这允许您显示禁用的设备

Zabbix 5.0 的新增功能
导航与网络节点相关的资源

例如,您可以通过选择“来选择被分类为最终用户服务的设备”服务’,以及设定这些问题的重要性级别。

Zabbix 5.0 的新增功能
过滤选项

7.新的预处理操作-“替换” 允许您执行一些以前只能使用正则表达式才能完成的有用操作,这对于许多用户来说相当复杂。
更换 允许您实际用另一个字符串或字符替换一个字符串或字符,从而使您可以简单地将以文本格式接收的数据转换为数字表示形式。

Zabbix 5.0 的新增功能
更换操作员

8.JSONPath 运算符,它允许您以方便的形式提取属性名称

Zabbix 5.0 的新增功能
JSONPath 的运算符

9. 显示 Zabbix 电子邮件消息。在以前的版本中,文件夹中来自 Zabbix 的所有电子邮件 收件箱 显示在列表中。从 Zabbix 5.0 开始,消息将按问题分组。

Zabbix 5.0 的新增功能
对来自 Zabbix 的电子邮件进行分组

10.支持IPMI用户名和密码自定义宏。如果用户名和密码使用秘密宏,则将拒绝访问其值。

Zabbix 5.0 的新增功能
支持自定义宏

11. 批量更改网络节点的用户宏。在新版本中,您可以打开模板列表,选择主机列表并添加宏或更改现有宏的值,

Zabbix 5.0 的新增功能
添加和编辑自定义宏

并且还从网络节点的选定模板中删除某些或所有宏。

Zabbix 5.0 的新增功能
删除单个或所有用户宏

12、通知方法级别的消息格式控制。 在 媒体类型 标签出现 媒体模板 与消息模板。

Zabbix 5.0 的新增功能
通知方法模板

您可以为不同的消息类型定义不同的模板。

Zabbix 5.0 的新增功能
定义消息类型的模板

在以前的版本中,您必须在操作级别管理这些消息,定义默认消息和项目。

Zabbix 5.0 的新增功能
在活动级别管理模板

在新版本中,一切都可以在全局级别定义,并且在消息级别,可以重写全局设置。

Zabbix 5.0 的新增功能
全局管理模板

对于大多数用户来说,在媒体方法级别定义模板格式就足够了。而且,导入新的通知方法后,所有相应的模板格式都已经成为其中的一部分。

13. JavaScript 的更广泛使用。 JavaScript用于预处理脚本、Webhook等。在命令行上使用 JavaScript 并不容易。
Zabbix 5.0 使用一个新实用程序 - zabbix_js,它运行接受数据、处理数据并生成输出值的 JavaScript。

Zabbix 5.0 的新增功能
zabbix_js 实用程序

Zabbix 5.0 的新增功能
使用 zabbix_js 实用程序的示例

14.支持触发表达式的文本操作 允许您检查已安装组件的版本,将值与任何常量进行比较,常量可以是自定义宏,

{host:zabbix.version.last()}="5.0.0"
{host:zabbix.version.last()}="{$ZABBIX.VERSION}

将最后一个值与前一个值进行比较,例如,当涉及文本数据时,

{host:text.last()}<>{host.text.prev()}

или

{host:text.last(#1)}<>{host.text.prev(#2)}

或者比较不同指标的文本值。

{hostA:textA.last()}={hostB:textB.last()}

15. 自动化和发现.

  • 新的 JMX 检查可用于检索和发现 JMX 计数器列表,这对于监视 Java 应用程序以及自动创建监视项、指标、触发器和图形等非常有用。
    jmx.get[]

    и

    jmx.discovery[]

    Zabbix 5.0 的新增功能
    JMX 检查

  • 新版本有一个用于监视Windows性能计数器的密钥,该密钥由俄语和英语的新旧代理支持,并且允许检测处理器、文件系统、服务等的数量。

    Zabbix 5.0 的新增功能
    使用按键监控 Windows 性能计数器 性能计数器

  • ODBC 监控变得更加容易。以前,ODBC 监控的所有参数都必须在外部文件中描述 /etc/odbc.ini,无法从 Zabbix 界面访问。在新版本中,几乎所有参数都可以成为metric key的一部分。

    Zabbix 5.0 的新增功能
    带有参数描述的指标键

    在新版本中,您可以在指标级别设置服务器名称和端口,并使用秘密宏来设置访问的名称和密码以确保安全。

    Zabbix 5.0 的新增功能
    使用秘密宏

  • 当使用 IPMI 协议进行设备监控时,可以使用以下命令创建更简单的自动化模板: ipmi 获取.

    Zabbix 5.0 的新增功能
    ipmi 获取

16. 从界面测试数据元素。 Zabbix 5.0 引入了从界面测试某些项目的能力,更重要的是,测试项目模板的能力。

Zabbix 5.0 的新增功能
测试数据元素

出现的任何问题都会显示在界面中。

Zabbix 5.0 的新增功能
界面显示问题

类似的算法也用于项目模板。此外,如果任何数据项不受支持,您只需单击即可找出失败的原因 测试.

17. 测试通知方法保留了 Zabbix 4.4 中出现的 ,这在 Zabbix 与其他系统(例如票证系统)集成时非常重要。

Zabbix 5.0 的新增功能
测试通知方法

18.支持物品原型的自定义宏。您可以使用 LLD 宏来定义自定义宏值。

Zabbix 5.0 的新增功能
使用 LLD 宏定义自定义宏值

19.Float64数据支持,主要用于监控非常大的值,Zabbix 中需要它们来支持从 Prometheus 代理接收的数据。
如果安装 Zabbix 5.0,则不会自动将数据迁移到 Float64 标准。用户仍然可以选择使用旧数据类型。 Float64 迁移脚本手动运行并更改历史表中的数据类型。不使用自动替换,因为它需要很长时间。

20、Zabbix 5.0改进的可扩展性:界面优化,消除瓶颈

  • 例如,用于选择主机的下拉列表已被消除,因为此功能无法扩展。
  • 表格大小有“内置”限制 概述.
  • 新的机遇出现在 监控 > 主机 > 图表.
  • 分页功能出现了(监控 > 主机 > Web)不是的地方。

21.改进压缩
Zabbix 中的压缩基于 PostgreSQL 的扩展 - TimescaleDB(自 Zabbix 4.4 起)。 TimescaleDB 提供自动数据库分区并提高数据库性能,因为 TimescaleDB 性能实际上与数据库大小无关。

在Zabbix 5.0中 管理 > 一般 > 客房服务 例如,您可以配置压缩 7 天以上的数据。这显着减少了所需的磁盘空间(据用户称几乎减少了十倍),从而节省了磁盘空间并提高了性能。

Zabbix 5.0 的新增功能
使用 TimescaleDB 进行压缩

22. 在接口级别配置 SNMP。在 Zabbix 5.0 中,不再使用三种类型的数据元素,而是仅使用一种 - SNMP 代理。所有 SNMP 属性已移至主机接口级别,这使得简化模板、在 SNMP 版本之间切换等成为可能。

Zabbix 5.0 的新增功能
在接口级别配置 SNMP

23. 监控网络节点可用性对代理可用性的依赖 允许您在使用具有该功能的触发器进行监控时,在网络节点不可用的情况下优先显示代理可用性问题 没有数据:

{HostA:item.nodata(1m)}=1

Zabbix 5.0 的新增功能
网络节点的可用性由代理的可用性决定

功能 没有数据 默认情况下考虑代理的可用性。对于不考虑代理可用性的更严格检查,使用第二个参数 - 严格:

{HostA:item.nodata(1m,strict)}=1

24.管理低级发现规则。 Zabbix 5.0引入了LLD过滤器,允许您查看不支持的检测规则

Zabbix 5.0 的新增功能
LLD过滤器

25. 不承认问题的能力(unacknowledged)) 允许您纠正错误,并且在创建依赖于问题确认的工作流程时非常有用。

Zabbix 5.0 的新增功能
不承认问题

26. 改变低级发现规则 - 能够在由于监视文件系统而检测到对象时添加异常,这允许低级检测创建或不创建某些对象、触发器、数据元素等、更改问题的严重性、为某些对象添加标签、从搜索中排除对象(例如临时文件系统)、更改数据更新间隔等。

Zabbix 5.0 的新增功能
排除临时文件系统的低级检测

例如,您可以更改已发现的 Oracle 文件系统的触发器优先级,同时将其他文件系统的触发器优先级保留在同一级别。

Zabbix 5.0 的新增功能
更改单个文件系统的触发器优先级

27. Zabbix 5.0中的新宏 让您提高监控质量。

Zabbix 5.0 的新增功能
Zabbix 5.0 中的新宏

28、Zabbix 5.0的其他创新:

Zabbix 5.0 的新增功能
Zabbix 5.0 的改进

29. 终止支持
Zabbix 5.0 的新增功能
不支持的功能

结论

升级到 Zabbix 5.0 非常简单!安装并运行新的服务器二进制文件和前端文件,服务器将自动更新您的数据库。
有关 Zabbix 更新过程的信息可从以下位置获取:
https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500

重要!

  1. 可以选择将历史数据升级为 Float64 格式。
  2. TimescaleDB 数据是只读的。
  3. 最低要求 PHP7.2 版本。
  4. 不支持 DB2 作为 Zabbix 服务器的后端

(!)可以查看 Alexey Vladyshev 和其他演讲者在 Zabbix Meetup Online(俄语)上的演示视频和幻灯片 这里.

来源: habr.com

添加评论