菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 开发者breadcrumb arrow Angular 支持弃用
Enterprise 开源 RSS

Angular 支持弃用

Angular 插件支持已弃用,并将在未来的版本中移除。一些旧版 Grafana 核心可视化和外部插件依赖于 Grafana 的 Angular 插件支持才能工作。多年来,Grafana 用户为在其自身实例上使用而开发的私有插件也可能存在同样的情况。从 Grafana v9 及更高版本开始,有一个服务器配置选项,该选项全局应用于整个实例,并控制是否启用 Angular 插件支持。在 Grafana 11 中,我们将更改该配置的默认值以移除支持。

如果仪表盘依赖于需要 AngularJS 的面板可视化或数据源,将显示警告消息,如下方视频所示。

为避免中断

  • 按照此更新指南,确保您正在运行最新版本的插件。许多面板和数据源已从 AngularJS 迁移。
  • 如果您正在使用旧版 Grafana 核心可视化,例如 Graph 或 Table-old,请使用提供的自动迁移将其迁移到替代版本。
  • 查看当前 Angular 插件列表,了解哪些核心和外部插件受到影响,以及是否需要更新或替代方案。

我们为什么要弃用 Angular 支持?

AngularJS 是一个旧的前端框架,其活跃开发已于多年前停止。因此,它存在安全风险。由于 Grafana 本身在 v5 中就已经开始迁移到 React,这成为了我们插件平台最合理的框架。AngularJS 还需要在 CSP(内容安全策略)设置中启用 unsafe-eval,这也会降低在浏览器中运行 JavaScript 的安全性。

Angular 插件何时停止工作?

在 Grafana 11 中,该版本将于 2024 年 4 月发布预览版,并于 5 月全面可用。我们将更改angular_support_enabled 配置参数的默认行为,以关闭对基于 AngularJS 的插件的支持。如果您仍然依赖内部开发或社区开发的基于 AngularJS 的插件,您需要启用此选项才能继续使用它们。

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

我们何时会彻底移除 Angular 支持?

我们目前的计划是在版本 12 中彻底移除对 Angular 插件的任何剩余支持,包括移除 angular_support_enabled 配置参数。

我使用的仪表盘显示警告,我需要做什么?

当仪表盘中的一个或多个面板可视化或数据源依赖于 Angular 时,仪表盘会显示警告。请联系您的系统管理员告知此问题,或按照前述指南避免中断。

如何将 Angular 插件迁移到 React?

根据它是数据源插件、面板插件还是应用插件,过程会有所不同。

对于面板,在某些情况下可以轻松保留渲染逻辑,但所有选项都需要重做以使用声明式选项框架。对于数据源插件,查询编辑器和配置选项可能需要完全重写。

如何鼓励社区插件进行迁移?

如果您正在使用仍然基于 Angular 的插件,我们鼓励您找到相应插件的仓库并在其中创建或点赞 Issue。