跳到主要内容

UI 扩展

使用 UI 扩展向核心 Grafana UI 和其他应用插件贡献新的操作和功能。

术语定义

在深入细节之前,我们需要介绍 UI 扩展框架中的两个主要概念

  1. 扩展点 - UI 中插件可以为最终用户贡献新功能的地方。Grafana UI 公开扩展点,应用插件也可以定义自己的扩展点。
  2. 扩展 - 应用插件注册的、出现在扩展点的新功能。例如,扩展可以提供导航链接将用户带到特定视图,可以打开模态菜单允许用户在其当前上下文中配置要执行的操作(例如,创建 SLO),或者可以触发后台任务。
Panel menu showing available extensions
显示可用扩展的面板菜单

在上面的示例中,有一个扩展点注册了三个扩展。这突出了使用 UI 扩展的一个好处。一旦你在 UI 中添加了一个扩展点,多个插件就可以多次扩展它。

为什么我应该添加一个扩展点?

应用插件可以在 Grafana UI 中提供自定义页面,这些页面通常与特定服务或任务高度关联,以提高用户的生产力。Grafana 是一个功能丰富的可观测性平台,拥有庞大的插件生态系统,允许用户监控各种数据并对其采取行动。

扩展点有助于打破各个视图之间的壁垒,允许用户快速利用当前上下文中的数据采取相关操作。通过在你的应用中提供扩展点,相关的扩展可以轻松地为你的共享用户提供新功能。

在你的 UI 中添加一个扩展点可以带来以下好处

  • 只需定义一次 UI 扩展点,即可让多个插件用新功能扩展你的 UI。在 UI 中提供更多插件的功能无需额外工作。
  • 关注点分离清晰。你的应用无需了解任何关于扩展你 UI 的插件的信息。
  • 为变化而构建的集成。由于你的应用不了解扩展你 UI 的插件的内部工作原理,它们可以自由更改 API,而不会破坏扩展点 UI。
  • 易于引导启动。如果两个应用都已安装并启用,则扩展会自动配置并显示给用户。两个应用都无需包含自定义逻辑来检测对方的存在。
  • 扩展速度快。我们在 Grafana 启动时预构建扩展注册表,这使得在渲染 UI 时使用它速度很快。

有用的示例场景

  • 用户查看包含历史数据的仪表盘。通过向这部分 UI 添加扩展点,机器学习应用插件可以为用户提供直接从面板创建该数据预测的功能。
  • 用户查看正在触发的警报。通过向这部分 UI 添加扩展点,事件(Incident)应用插件可以为用户提供直接从警报视图创建事件的功能。

进一步说明