预告:Zabbix6.0 十大新功能详解

感谢译者王亚楠,欢迎更多资深用户参与原厂博文翻译并分享!

图片
王亚楠 | 宏时数据技术服务中心经理

Zabbix 6.0 LTS新功能介绍

Zabbix 6.0 LTS 包含许多新的企业级功能和改进。加入 Artūrs Lontons,了解 Zabbix 6.0 LTS 发布后将要提供的一些主要功能。如果我们特别关注Zabbix路线图和Zabbix 6.0 LTS版本,可以发现Zabbix主要开发的重点之一是解决许多企业级复杂问题及相关用例的功能,Zabbix 6.0 LTS旨在:

解决企业级安全和冗余需求;

提高Zabbix 大型实例的性能;

为不同类型的 Zabbix 用户提供附加价值 ——DevOPS 和 ITOps 团队、业务流程负责人、经理;

继续扩展Zabbix监控和数据收集能力;

持续提供与第三方系统的官方集成

让我们看一下Zabbix 6.0 LTS如何为实现这些目标所提供的具体功能,最后有大家关注的QA问答。

目录

  1. Zabbix Server高可用集群

  2. 业务服务监控

  3. 新的审计日志功能

  4. 机器学习

  5. 新的数据可视化功能

  6. Zabbix agent – 优化和新增项

  7. 自定义 Zabbix 密码复杂度要求

  8. UI/UX 优化

  9. 新模板和第三方集成

  10. 其他优化内容

  11. Q&A

Zabbix Server高可用集群

随着 Zabbix 6.0 LTS 版本的发布,Zabbix管理员现在能够开箱即用地部署Zabbix Server的HA集群功能,而不需要通过额外的软件或工具实现。

Zabbix Server HA 集群支持无限数量的 Zabbix Server 节点。所有节点都将使用相同的数据库后端 – 所有节点的状态都存储在 ha_node 表中。Zabbix Server节点每隔5秒报告一次状态并更新ha_node表中的记录。

要启用高可用性,您首先必须在 Zabbix Server配置文件中定义一个新的参数:HANodeName

· 默认为空

· 此参数包含任意HA节点的名称

· 为该参数提供值将启用 Zabbix Server集群模式

备用节点从ha_node表中监控活动节点的最后访问时间。

· 如果上次访问时间与当前时间之差达到故障转移的延迟时间,则发送故障的集群节点将转移到备用集群节点。

· Zabbix Server日志中记录了集群故障转移操作。

可以自定义节点故障切换延迟的时间 – 一个时间窗口,在此时间窗口之外,无法访问的活动集群节点被视为丢失,同时触发故障集群节点转移到其中一个备用集群节点上。

对于Zabbix 代理,Zabbix 代理配置文件中的 Server 参数现在支持多个地址用分号分隔。代理将尝试连接到每个节点,直到成功。

图片

其他 HA 集群相关功能:

· 用于检查 HA 集群状态的新命令行选项;

· 可以通过API方法:hanode.get 获取HA节点列表;

· 提供新的内部检查项,可以通过LLD发现 Zabbix Server的HA节点列表;

· 当Zabbix Server的HA发生故障转移时会被记录在Zabbix审计日志中;

· Zabbix Frontend 将自动切换到活动的 Zabbix Server节点上;

图片

业务服务监控

在Zabbix 6.0 LTS版本中对IT Services功能进行了重新设计与优化,新的Services监控(BSM)能够帮助Zabbix管理员定义不同复杂性的服务并监控它们的状态。

BSM 在众多用例中提供了附加值,我们希望在这些用例中定义和监控基于以下内容的服务:

重构后的BSM提供了更多的新功能,通过新的功能可以实现以下内容:

· Server集群

· 利用负载平衡的服务

· 包含复杂IT堆栈的服务

· 具有冗余组件的系统

· 更多

业务服务监控(BSM)的设计考虑了可扩展性。Zabbix 能够在单个 Zabbix 实例上监控超过 100k 的服务。

对于我们的业务服务监控示例,我们使用了一个网站,它依赖于多个组件,例如网络连接、数据库后端、应用程序服务器等。我们可以看到,服务状态的计算是利用标签来完成的,根据问题标签来判断存在的问题是否会影响服务。

图片

在Zabbix 6.0 LTS 中,可以通过多种方式执行服务状态计算。如果出现问题,可以将服务状态更改为:

· 最严重的故障级别,基于子服务故障的严重性

· 最严重的故障级别,基于子服务故障的严重性,仅当所有子服务都处于故障状态时

· 服务设置为始终处于正常状态

在以下情况下,将服务状态更改为特定的故障级别:

· 至少 N 或 N% 的子服务具有特定状态

· 定义服务权重并根据服务权重计算服务状态

图片

其他功能如下:

· 能够定义服务的特定权限;

· SLA监控;

· 业务服务的根本原因分析;

· 业务服务状态发生变化时,支持告警方式提醒;

· 为多租户环境定义业务服务的权限;

新的审计日志功能

现有的审计日志功能已经重新设计,现在支持Zabbix Server和 Zabbix Frontend操作的详细日志记录:

· Zabbix 6.0 LTS 为审计日志功能引入了新的数据库结构;

· 防碰撞ID (CUID) 将用于ID生成,以防止审计日志行锁定;

· 可以通过批量SQL请求添加审计日志记录;

介绍 Recordset ID 列。这将帮助用户识别特定操作中的更改内容;

图片

Zabbix 6.0 LTS审核日志重新设计的目标是为了提供更可靠和更详细的审计日志信息,同时最大化的降低对Zabbix性能的潜在影响:

· Zabbix 前端和 Zabbix 服务器记录的详细日志记录

· 设计时考虑到最小的性能影响

· 可通过Zabbix API 获取审计日志信息

新的审计日志功能的开发是一项持续的工作——将持续在 Zabbix 版本更新的生命周期里进行改进与优化。

机器学习

Zabbix 6.0 LTS版本添加了新的趋势预测功能,通过机器学习来执行异常检测和基线监控:

· 新的趋势预测函数——trendstl,检测周期中值异常率

· 新的趋势预测函数——baselinewma,返回检测周期中的平均基线值

· 新的趋势预测函数——baselinedev,返回标准偏差的数量

新的数据可视化功能

采集和处理监控指标只是监控系统的一部分。监控数据可视化功能在监控系统中也至关重要。在Zabbix 6.0 LTS版本中增加了许多新的可视化选项,同时也对现有的可视化功能进行了优化。

· 通过数据表格展示控件,可以展现选定主机上的相关指标状态视图;

· 通过数据表格展示控件中的Top N和Bottom N,可以展现主机监控项的Top N排行和Bottom N排行;

· 支持对单个监控项的数据进行展现;

· 对现有的矢量图进行优化改进,支持了单个监控项数据展示的能力;

· 通过SLA展示控件可以展现过滤后的当前服务的SLA状态;

我们很自豪地宣布Zabbix 6.0 LTS将提供原生Geomap 控件。现在,您可以在地图上查看 IT 基础架构的当前状态:

· 可以通过配置主机的经纬度资产信息提供坐标位置;

· 用户可以通过主机组和标签过滤进行地图展现;

· 支持地图缩放 – 主机可以分组成为一个对象

· 支持多个地图提供商,如支持OpenStreetMap、OpenTopoMap、Stamen Terrain以及USGS US Topo等

图片

Zabbix agent – 优化和新增项

在Zabbix 6.0 LTS版本中,Zabbix agent 和 Zabbix agent 2 也进行了一些改进。除了新增监控项外,还对代理的可用性进行了优化,现在比以往更加灵活,相关改进功能如下:

· 新增监控项:获取文件其他信息(如文件所有者和文件权限)

· 新增监控项:收集代理主机的元数据作为监控项值

· 新增监控项:匹配计算TCP/UDP套接字

· 新增监控项:通过Zabbix Agent2可以本地检测SSL/TLS证书的状态及其他详细信息

· 现在无需重新启动Zabbix Agent服务即可重新加载用户参数

此外,对Zabbix agent2引入新的插件功能进行了重大改进。Zabbix agent2现在支持加载独立插件,而无需重新编译Zabbix Agent2。

自定义 Zabbix 密码复杂度要求

Zabbix安全性的主要改进之一是能够灵活定义密码的复杂性要求。Zabbix超级管理员现在可以定义以下密码复杂性的要求:

· 设置最小密码长度

· 定义密码字符要求

· 通过禁止使用最常见的密码字符串,降低字典攻击的风险

图片

UI/UX 优化

改进和简化现有工作流始终是每个Zabbix 主要版本的优先事项。在Zabbix 6.0 LTS中,我们添加了许多看似简单的改进,这些改进对产品的“感觉”产生了重大影响,让您在日常使用Zabbix的工作中更加顺畅:

· 现在可以直接从Monitoring – Hosts创建主机

· 删除了Monitoring – Overview部分。为了改善用户体验,现在只能通过监控Dashboard查看触发器和数据概览功能。

· 现在将根据监控项键值自动选择监控项的默认信息类型。

· 地图标签和图形名称中的简单宏已替换为表达式宏,以确保与新的触发器表达式语法保持一致

新模板和第三方集成

添加新的官方模板和集成是一个持续的过程,Zabbix 6.0 LTS也不例外。下面是一些新模板和集成的预览,您可以在Zabbix 6.0 LTS中看到:

Zabbix 6.0还带来了一个新的GitHub webhook集成,它允许您基于Zabbix事件生成GitHub问题!

其他优化内容

但这还不是全部!Zabbix 6.0 LTS还有更多的功能和改进等着您。从特定Zabbix组件的整体性能改进,到全新的历史记录功能和命令行工具参数:

· 使用新的单调历史函数检测值的连续增加或减少

· 添加utf8mb4作为MySQL字符集和排序规则支持

· 增加了对Webhook的HTTP方法的额外支持

· Zabbix命令行工具的超时设置

· Zabbix Server、Frontend和Proxy的性能改进

Q&A

1

问:如何配置地理地图?它们与常规地图相似吗?

答:Geomap可以用作仪表板小部件。首先,您必须在“Administration – General – Geographical maps”部分选择地理地图的提供商。您可以使用预定义的Geomap提供程序,也可以定义自定义的Geomap提供程序。然后,您需要确保要在地图上显示的主机的资产记录部分中配置了位置纬度和位置经度字段。完成后,只需部署一个新的Geomap小部件,过滤所需的主机,就可以了。地理地图目前在最新的alpha版本中可用,因此您现在可以获得一些实际操作经验。

2

问:我们现在可以讨论Zabbix 6.0 LTS的具体性能改进吗?

答:Zabbix 6.0 LTS版本的性能已经做了不少改进了。

前端的改进:我们改进了与链接新模板相关的底层查询,因此模板链接性能有所提高。这在大型监控环境中会非常明显,尤其是在一次链接或取消链接多个模板时。Server – Proxy的通信也有所改进。具体来说——Zabbix proxy如何释放数据未压缩的逻辑。我们还引入了数据库后端方面的改进——从对现有查询/逻辑的改进,到为历史数据表引入主键,目前我们仍在广泛测试。

3

问:如果您有一些预处理的高级规则,您是否仍然可以手动更改信息类型?

答:在 Zabbix 6.0 LTS 中,Zabbix 将尝试并自动为您的监控项选择相应的信息类型。这是一个很好的 UX 改进,因为您不必在每次定义新项目时都去参考文档。当然您仍然可以手动更改信息类型 - 无论是因为预处理规则或是您只是在进行一些故障排除。

你可能感兴趣的:(devops,big,data,运维)