UI 扩展
使用 UI 扩展为核心 Grafana UI 和其他应用程序插件贡献新的操作和功能。
术语定义
在详细介绍之前,我们需要介绍 UI 扩展框架中的两个主要概念。
扩展点
- UI 中插件可以为最终用户贡献新功能的地方。Grafana UI 公开扩展点,应用程序插件也可以定义自己的扩展点。扩展
- 由应用程序插件注册的出现在扩展点的新功能。例如,扩展可以提供一个导航链接,将用户带到特定视图;它可以打开一个模态菜单,允许用户在其当前上下文中配置要执行的操作(例如,创建 SLO);或者它可以触发后台任务。
在上面的示例中,有一个扩展点,注册了三个扩展。这突出了使用 UI 扩展的优势之一。在将扩展点添加到 UI 之后,可以由多个插件多次对其进行扩展。
为什么要添加扩展点?
应用程序插件可以在 Grafana UI 中提供自定义页面,这些页面通常高度针对特定服务或任务,以便用户能够高效地工作。Grafana 是一个功能丰富的可观察性平台,拥有庞大的插件生态系统,使用户能够监控并对各种数据进行操作。
扩展点有助于打破单个视图之间的隔阂,使用户能够快速利用其当前上下文中的数据来执行相关操作。通过在应用程序中提供扩展点,相关的扩展可以轻松地为您的共享用户提供新功能。
将扩展点添加到您的 UI 以获得以下好处
- 仅定义一次 UI 扩展点,即可使多个插件能够使用新功能扩展您的 UI。您无需在 UI 中提供来自更多插件的功能方面付出额外的努力。
- 关注点清晰分离。您的应用程序无需了解扩展您的 UI 的插件的任何信息。
- 为变更而构建的集成。由于您的应用程序无需了解扩展您的 UI 的插件的内部工作原理,因此它们可以自由地更改其 API,而不会冒破坏扩展点 UI 的风险。
- 易于引导。如果两个应用程序都已安装并启用,则扩展会自动配置并显示给用户。这两个应用程序都不需要包含自定义逻辑来检测对方的存在。
- 扩展速度很快。我们在 Grafana 启动时预先构建扩展注册表,这使其在渲染 UI 时使用起来非常快。
适用场景示例
- 用户查看包含历史数据的仪表盘。通过将扩展点添加到 UI 的这部分,机器学习应用程序插件可以使用户能够直接从面板创建该数据的预测。
- 用户查看已触发的警报。通过将扩展点添加到 UI 的这部分,事件应用程序插件可以使用户能够直接从警报视图创建事件。