Zabbix 4.2 正式发布!What's New?

2021-02-03 11:11:39 浏览数 (1)

Zabbix团队很高兴在此宣布4.2正式发布!Zabbix集众多现代化监控系统的优秀功能于一身:数据采集和处理、分布式监控、实时问题和异常检查、告警升级、可视化等等...

那么Zabbix在4.2版本中做了哪些升级呢?以下列出了一系列重要的新功能:

#官方支持更多的平台

除了现存的一些官方安装包和应用之外,4.2版本开始支持以下平台:

Zabbix package for RaspberryPi

Zabbix package for SUSE Enterprise Linux Server

Zabbix agent for Mac OS/X

Zabbix agent for MSI for Windows

Zabbix Docker images

///

点击进入下载页面查看更多支持的平台。

#支持Prometheus数据采集

Zabbix支持通过不同的方式(push/pull)从不同的数据源进行数据采集,包括JMX, SNMP, WMI, HTTP/HTTPS, RestAPI, XML Soap, SSH, Telnet, agents, scripts以及其他数据源。Prometheus是最新加入的一个支持项。

现版本中,我们提供一个和exporters之间的集成,使用的是PromQL语言的本地支持,而且通过依赖监控项的使用,可以让我们以一种非常高效的方式来批量收集Prometheus监控项:我们使用单个HTTP call收集所有的数据,再将它复用给对应的依赖监控项。

Zabbix也可以将Prometheus的数据转化成JSON格式,这这使得它可以被用于低级别自动发现(low-level discovery)

#高效高频监控

我们是不是要尽可能最快的发现问题?当然!而且常常需要如此,但这会导致我们需要高频率的执行check操作,而导致监控系统过载。如何避免这种情况呢?简单——使用预处理中的的throttling新功能,可以让我们跳过重复值。

这样的话,我们可以高频次的采集数据,及时的发现问题,而不需要在Zabbix数据库中保存过多的历史数据。通过throttling设置的跳动(heartbeat),我们还可以定制出简单美观的图表。

我们是否需要处理所有的数据?不,我们只对状态改变的数据感兴趣,这也是throttling的这个功能所要实现的。通过此功能,我们可以避免海量数据,而是将他们转化成– 01010101…这种简单的形式,这个形式可以在有效的执行问题检测的同时避免被迫存储不需要的数据

那么图形会是什么样呢?会不会因为缺乏数据而空白?如果大量值被忽略的话我们如何判断Zabbix是否收集到了数据?不用担心,对此我们也有解决方案,我们称之为“throttling with heartbeat”这种情况下Zabbix会在给定的时间段内至少处理一个值。如果每秒钟采集数据,heartbeat的时间段设置为一分钟的话,Zabbix会保留每个间隔中的第60个值,数据的压缩是60倍

☰☰☰☰

#采集的数据验证和错误处理

没有人想要采集错误的数据,在Zabbix 4.2中,我们可以通过内置的预处理规则,使用JSONPath 或者XMLPath这些方式验证数据是否匹配到正则表达式

目前也支持从收集到的数据中提取错误信息,如果错误信息来自于外置的API的话提取操作会更加简单

我们也可以自定义如何响应预处理过程中检测到的问题,比如:如果收集到的温度测量信息超过正常范围,我们可以设置忽略这个值,也可以收集到的数据转化成默认值(比如0°C),或者自定义错误信息,比如说“传感器失灵”,或者说“请更换电池”等

#使用JavaScript预处理数据

在Zabbix 4.2中,你可以充分使用JavaScript中的自定义脚本

对JavaScript的支持使得我们在数据预处理功能中获得最高的自由度,实际上,用户可以使用JavaScript来代替所有的外部脚本

这使得我们可以操作多个形式的数据转化:聚合,筛选,计算和逻辑操作等等

#从UI测试预处理规则

随着预处理功能更加强大,使用工具来校对复杂场景非常重要,Zabbix 4.2我们可以测试预处理规则,直接从Web UI测试预处理的规则是否正确

///

#每秒处理百万级别指标!

4.2之前的版本中,所有的预处理过程都是单独由Zabbix server来执行,现版本中,proxies也可以执行预处理过程,这大大的提升了可扩展性。

基于proxy的预处理和throttling功能的组合式,使得我们可以执行高频率的监测,每秒实现百万级别的数据采集,而不会导致Zabbix Server过载。Proxies执行大量数据收集与处理,而Server只收到有价值的一部分数据

#采集的数据验证和错误处理

低级别自动发现(LLD)是一个非常有效的工具,我们而可以自动发现各种信息源(文件系统、进程、应用、服务等),并且自动的创建监控项和触发器以及这些相关的图形。我们可以使用一个模板来监控有设备上的各种信息,这极大地简化了我们的工作,节省了时间。

Zabbix4.2能够基于任意JSON对象做操作,这让我们可以直接访问外部API,根据返回值进行操作,通过结合JavaScript的预处理功能,也使得Zabbix模板的功能大放光彩,现在模板可以和多种外部数据源对接,比如说cloud APIs, application APIs, 或者XML, JSON和其他的任何形式的数据。

#支持时序数据库

得益于其高效的算法和性能导向的数据库结构,时序数据库(TimescaleDB)的使用可以大大的提升性能

时序数据库(TimescaleDB)另一个巨大的优势就是能够实现自动表分区,自动表分区能够提高性能并且(结合Zabbix使用)可以对历史数据进行全自动管理。

#简化的tag管理

在Zabbix 4.2之前,我们只能为单个触发器设置标签。 现在,由于支持模板和主机标签,标签管理更加高效。

所有检测到的问题不仅会从触发器获取tag信息,还会从主机和相应的模板中获取tag信息。

///

#更灵活的自动注册

Zabbix 4.2自动注册选项使我们能够根据正则表达式过滤host names

#控制自动发现的主机名

另外一项改进是在自动发现过程中命名主机,4.2中我们可以将收集到的监控项数据赋值给主机名称和可见名称.

这是个非常好用的功能,尤其是使用Zabbix 或者SNMP agents的时候实现了很大程度的自动化。

#高效高频监控

4.2中,我们可以直接从前端发送测试信息来检查选择的告警方式是否符合预期。当我们使用脚本和外部告警方式集成或直接链接到helpdesk的时候,这个新增的测试步骤非常有用

#Zabbix组件远程监控

Zabbix 4.2中引进了Zabbix Server和Proxy的内部性能和可用性的远程监控功能。不仅如此,对于已经过载或者有大量的数据存储在本地缓存中的组件,还是可以检测Zabbix相关的问题和告警。

#格式优化的邮件通知

Zabbix 4.2中支持HTML格式的邮件信息,这意味着我们的邮件内容不仅限于单纯的文字,还可以使用HTML和CSS的强大功能创建更加美观和易读的格式

///

#通过网络拓扑图远程获取服务

网络拓扑图中新增了一组全新的宏,支持用户自定义的URLs指向外部系统。这使得我们可以在helpdesk中打开外部工单系统或配置管理系统,只需要点击鼠标,即可简单执行很多外部操作。

#Maps的动画效果

Zabbix 4.2的maps中支持GIFs,使得问题的展示更加直观好看

#其他新功能还有:

触发器配置的过滤器

在提示框中展示确切时间

仪表板构件的大小调整和重新排序

监控项原型的批量更新

支持IPv6进行DNS相关检查

扩展预处理错误消息以包括中间步骤结果

0 人点赞