菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 重大变更breadcrumb arrow Grafana v11.0 中的重大变更
Grafana Cloud Enterprise 开源

Grafana v11.0 中的重大变更

以下是升级到 Grafana v11.0 时应注意的重大变更。

对于本文档而言,重大变更指需要用户或操作员进行操作的任何变更。这包括

  • 系统中某部分的变化可能导致其他组件失败
  • 功能的弃用或移除
  • 可能破坏自动化的 API 变更
  • 影响部分 Grafana 插件或功能的变更
  • 无法回滚的迁移

对于每个变更,提供的信息

  • 帮助您确定是否受到影响
  • 描述变更或相关的背景信息
  • 指导您如何缓解或迁移以应对变更
  • 提供更多学习资源

有关版本亮点和弃用信息,请参阅我们的v11.0 新特性。关于升级到 v11.0 的具体推荐步骤,请查阅我们的升级指南

用户和操作员

AngularJS 支持默认关闭

描述

在 Grafana v11 中,所有自托管(本地)和 Grafana Cloud 实例默认关闭了对已弃用 AngularJS 框架的支持。这将阻止依赖 AngularJS 的任何数据源或面板可视化加载,因此可能会严重影响您的仪表盘。在 Grafana 的下一个主要版本中,将完全移除该支持。

迁移/缓解措施

为避免中断,请确保所有插件都是最新的,并将所有剩余的 AngularJS 插件迁移到基于 React 的替代方案。如果插件依赖于 AngularJS,在 Grafana 的插件目录以及使用该插件的任何仪表盘面板中,都会显示警告图标和消息。此外,受影响的仪表盘中会出现警告横幅。您还可以使用 detect-angular-dashboards 工具生成所有受影响的仪表盘列表。

我们的文档列出了所有已知的公共插件,并提供了可能的迁移建议。

对于 Grafana 的自托管用户和现有的 Grafana Cloud 实例,您可以通过配置参数 angular_support_enabled=false 暂时重新启用支持。但是,基于 AngularJS 的插件将不再接收任何更新,我们强烈建议尽快迁移。此配置参数也将在 Grafana v11 之后的下一个主要版本中移除。

新的 Grafana Cloud 用户将无法请求为其实例添加此支持。

了解更多

请参考这篇博客文章获取更多信息。

Grafana Enterprise:匿名设备按用户计费

描述

从 Grafana v11 开始,Grafana Enterprise 中的匿名用户将被计算并按用户收费。当您升级到 v11 时,匿名用户将自动计入您的 Grafana Enterprise 许可证下的活跃用户数。

迁移/缓解措施

关闭匿名访问,并考虑使用公共仪表盘允许只读访问公开可用的仪表盘。

了解更多

匿名访问文档

旧版告警已完全移除

旧版告警已达到生命周期终点。在 Grafana v11 中,您无法再启用旧版告警,如果设置未更新为运行新的 Grafana Alerting,Grafana 将无法启动。这也意味着从 Grafana v11 开始,不再可能从旧版告警迁移到我们的新告警系统。Grafana v10.4.x 是最后一个提供迁移的版本,因此请务必在升级到 Grafana v11 之前 迁移到新的 Grafana Alerting 系统。在旧版告警弃用文档中了解更多关于 Grafana Alerting 和新系统优势的信息。在升级告警文档中了解更多关于迁移的信息。

有关代码移除的更多详细信息,请查阅以下 PR:

报告功能中已弃用的端点和字段已移除

描述

在 Grafana v11 中,与旧调度格式、电子邮件和仪表盘相关的报告功能中的已弃用端点和字段的支持已完全移除。这将阻止任何调用已弃用端点以及向已弃用字段传递值。此功能仅影响使用 API 生成报告的 Cloud 和 Enterprise 客户。

迁移/缓解措施

确保已弃用的端点更新到新的对应端点,并移除已弃用字段,替换为新的对应字段。

了解更多

点击此处,查看报告 HTTP API 文档以获取所有支持的端点和字段的列表。

描述

在 Grafana v11 中,自定义品牌公共仪表盘页脚行为发生变化,如果未设置页脚徽标或页脚文本,将默认显示 Grafana 徽标。不再提供隐藏公共仪表盘页脚的选项。此功能仅影响 Cloud Advanced 和 Enterprise 客户。

迁移/缓解措施

如果您不想显示默认的 Grafana 页脚,请确保已设置公共仪表盘页脚徽标或页脚文本。

了解更多

公共仪表盘的自定义品牌配置文档

子文件夹导致在名称中包含正斜杠的文件夹出现极少数问题

描述和迁移/缓解措施

启用子文件夹的升级在某些情况下可能导致告警出现问题。如果您之前设置的文件夹名称中包含正斜杠,并且在该文件夹中有告警规则,且通知策略设置为匹配该文件夹的名称,则通知将发送到默认接收器,而不是配置的接收器。

在这些情况下,我们建议您在启用子文件夹的升级之前采取以下步骤:

  • 创建受影响路由的副本,并为新副本重写匹配器。例如,如果原始匹配器是 grafana_folder=MyFolder/sub-folder,则新的路由匹配器将是 grafana_folder=MyFolder\/sub-folder
  • 启用子文件夹后,您可以删除旧路由。

请注意,如果您使用文件供应,则可以同时进行升级和路由更新。

了解更多

子文件夹公告

供应:将仪表盘供应到子文件夹 PR

Input 数据源已移除

在 Grafana v11 中,直接输入数据源插件已被移除。它已处于 Alpha 阶段四年,并被 Grafana 自带的TestData 取代。这是一项小幅度的弃用。

有关详细信息,请查阅此 PR

数据源:查询过滤变更

查询编辑器行中的禁用查询按钮给数据源开发者和最终用户带来了很多困惑。在此之前,数据源开发者需要在查询执行之前或之后过滤掉所有隐藏的查询。从 Grafana v11 开始,此按钮的工具提示从禁用查询更改为隐藏响应/显示响应。与隐藏查询关联的响应将在传递给面板之前被 Grafana 移除。

之前未移除隐藏查询(执行之前或之后)的数据源插件用户将看到行为变化,因为之前点击禁用查询按钮对查询结果没有影响。从 Grafana v11 开始,与隐藏查询关联的响应将不再返回给面板。

我们还将对 datasource.filterQuery 方法的调用移至查询运行器。这意味着仅限前端的数据源(或任何不扩展 DataSourceWithBackend 类的数据源)可以实现此方法。这简化了数据源插件的行为,确保所有类型的数据源插件的过滤方式相同。

迁移/缓解措施

如果面板中缺少数据,请确保查询编辑器中的隐藏响应按钮未被点击。

对于扩展 DataSourceWithBackend 的数据源,filterQuery 方法现在在数据源查询方法之前被调用。如果 filterQuery 方法假定在此方法调用之前发生某种查询迁移,您现在也需要在该方法内部进行迁移。

了解更多

GitHub PR

维护:从新实例查询 oauth 信息

我们在 ID token HD 参数的响应与允许域列表之间添加了验证,作为额外的安全层。如果 HD 参数与允许域列表不匹配,我们将拒绝访问 Grafana。

如果您使用 api_url 设置 Google OAuth 配置,您可能正在使用旧版的 OAuth 实现,该实现不包含描述批准令牌来源组织的 HD 参数。这可能会破坏您的登录流程。

您可以通过配置开关 validate_hd 关闭此功能。使用旧版 Google OAuth 配置的任何用户如果 ID Token 响应不包含 HD 参数,应关闭此验证。

GitHub PR

重复面板的面板视图 URL 生成方式变更

描述

随着 Scenes 库引入仪表盘,查看单个重复面板时生成的 URL 已更改。我们改变了这些面板的引用方式,以前是 &viewPanel=panel-5,现在变成了 &viewPanel=panel-3-clone1

这意味着以前的 URL 将不再有效,您将被重定向到仪表盘视图并收到找不到面板的错误。从此时起,仪表盘将继续正常工作。

迁移/缓解措施

在视图模式下重新打开面板,您将获得新的 URL。

插件开发者

React Router 已弃用

描述

在 Grafana v11 中,我们将 react-router v5 标记为已弃用。应用插件应开始迁移到使用 react-router v6。

迁移/缓解措施

有关完整指南,请遵循我们开发者门户上的迁移文档

了解更多

grafana/e2e 测试工具已弃用

描述

基于 Cypress 的 grafana/e2e 端到端测试工具现已弃用。

迁移/缓解措施

我们建议所有插件作者将其端到端测试迁移到使用新的基于 Playwright 的 grafana/plugin-e2e 包。在迁移指南中查找从 grafana/e2e 迁移到 grafana/plugin-e2e 的详细信息。

维护:使用 never 标记 ArrayVector 以进一步劝退

GitHub PR

在 Grafana v10 中已弃用的 Vector 接口被进一步弃用。现在使用它会生成构建时 Typescript 错误,但在运行时仍然有效。如果您的代码中仍在使用 ArrayVector,应立即移除并替换为普通数组。针对旧版本编译并依赖调用 get/set 的插件将继续工作,因为 Array 原型仍然有修改的原型。这将在未来移除。

维护:移除 React 17 peer deps

GitHub PR

我们已从我们的包中移除 React 17 作为对等依赖项。使用这些包新版本的任何人应确保他们已按照升级步骤升级到 React 18。

维护:从 Grafana/Runtime 移除 SystemJS

GitHub PR

@grafana/runtime 不再导出 SystemJS。插件开发者应改用标准 TS 导入语法导入模块/包,并使用 npm/yarn 进行包安装。