跳转到主要内容

插件元数据(plugin.json)

所有插件都必须包含 plugin.json 文件。当 Grafana 启动时,它会扫描插件文件夹,并挂载包含 plugin.json 文件的每个文件夹,除非该文件夹包含名为 dist 的子文件夹。在这种情况下,Grafana 会挂载 dist 文件夹。

属性

属性类型必需描述
id字符串插件的唯一名称。如果插件在 grafana.com 上发布,则插件的 id 应遵循 Grafana 命名约定。
name字符串插件在 UI 中显示给用户的可读名称。
type字符串插件类型。可能的值是:appdatasourcepanelrenderersecretsmanager
info对象插件的元数据。一些字段用于 Grafana 中的插件页面,而其他字段在插件发布到 grafana.com 时使用。
dependencies对象与 Grafana 和其他插件相关的依赖信息。
$schema字符串插件.json 文件的模式定义。主要用于模式验证。
alerting布尔值对于数据源插件,如果插件支持警报。需要将 backend 设置为 true
annotations布尔值对于数据源插件,如果插件支持注释查询。
autoEnabled布尔值对于应在所有组织中启用并固定到导航栏的应用插件,设置为 true。
backend布尔值如果插件具有后端组件。
category字符串用于 "添加数据源" 页面的插件分类。可能的值是:tsdbloggingcloudtracingprofilingsqlenterpriseiotother
enterpriseFeatures对象Grafana 企业版特定功能
executable字符串后端组件可执行文件名的前一部分。可以为不同的操作系统和架构构建多个可执行文件。Grafana将检查名为<executable>_<$GOOS>_<lower case $GOARCH><.exe for Windows>的可执行文件,例如 plugin_linux_amd64。有关$GOOS和$GOARCH的组合,请参阅:https://golang.ac.cn/doc/install/source#environment
iam对象为插件初始化一个服务帐户,并设置了定制的RBAC权限集。
包括对象[]插件中要包含的资源。
logs布尔值对于数据源插件,如果插件支持日志功能,可能用于过滤日志的唯一特性。
metrics布尔值对于数据源插件,如果插件支持度量查询,可以在面板编辑器中启用插件。
multiValueFilterOperators布尔值对于数据源插件,如果插件支持在动态过滤器中使用多值操作符。
preload布尔值在启动时初始化插件。默认情况下,插件在首次使用时初始化,但将preload设置为true时,插件将在Grafana网络应用首次加载时加载。仅适用于应用程序插件。设置为true时,请实现前端代码拆分以最小化性能影响。
queryOptions对象对于数据源插件,插件查询编辑器中有一个查询选项部分,如果需要,可以启用这些选项。
roles对象[]RBAC角色的列表及其默认分配。
routes对象[]对于数据源插件。代理路由用于插件认证,并为插件发出的HTTP请求添加标题。有关更多信息,请参阅数据源插件的认证
skipDataQuery布尔值对于面板插件。隐藏查询编辑器。
state字符串将插件标记为预发布。可能的值是:alphabeta
streaming布尔值对于数据源插件,如果插件支持流式传输,用于在探索中启动实时流。
tracing布尔值对于数据源插件,如果插件支持跟踪,例如用于将日志(如Loki日志)与跟踪插件链接。
extensions对象[]插件在以下扩展点注册的扩展列表。

dependencies(直接链接到依赖项)

插件所需的依赖项。

Properties(直接链接到属性)

属性类型必需描述
grafanaDependency字符串此插件所需的有效Grafana版本。使用https://github.com/npm/node-semver进行验证。
grafanaVersion字符串(已弃用)此插件所需的有效Grafana版本,例如6.x.x 7.x.x表示插件需要Grafana v6.x.x或v7.x.x。
plugins对象[]依赖于此插件所需的插件数组。

plugins(直接链接到插件)

Plugin dependency. Used to display information about plugin dependencies in the Grafana UI.

Properties(直接链接到属性)

属性类型必需描述
id字符串
name字符串
type字符串可能的值是:appdatasourcepanel
version字符串此属性应使用一个特定、固定版本的SemVer,而不是一个范围。如果未指定版本,则将解析为最新支持版本。

enterpriseFeatures(直接链接到企业特性)

Grafana企业版特定功能。

Properties(直接链接到属性)

属性类型必需描述
healthDiagnosticsErrors布尔值启用/禁用健康诊断错误。需要 Grafana ≥7.5.5。

iam

Grafana 读取身份和访问管理部分,并为插件初始化一个服务账号,带有定制的Grafana RBAC 权限集。Grafana 将通过 GF_PLUGIN_APP_CLIENT_SECRET 环境变量将与插件后端共享服务账号的令牌。

需要 Grafana 版本 10.3.0 或更高版本。目前,此功能位于 externalServiceAccounts 功能切换后。

要尝试此功能,请按照此示例操作。

属性

属性类型必需描述
权限对象[]查询 Grafana 所需的 RBAC 权限。

权限

属性

属性类型必需描述
动作字符串动作,例如:teams:read
作用域字符串作用域,例如:teams:*

包含

属性

属性类型必需描述
动作字符串用户必须在导航菜单中查看此页面时需要的 RBAC 动作。警告:除非动作目标是插件,否则仅验证动作,而不验证其应用的对象。
addToNav布尔值将包含项添加到侧边菜单。
component字符串(旧版)用于页面的 Angular 组件。
defaultNav布尔值用户在侧边菜单中点击图标时显示的页面或仪表板。
icon字符串用于侧边菜单的图标。有关可用图标的详细信息,请参阅图标概述
name字符串
path字符串用于应用程序插件。
role字符串可能的值:AdminEditorViewer
type字符串可能的值:dashboardpagepaneldatasource
uid字符串包含资源的唯一标识符。

info

插件的元数据。一些字段用于 Grafana 中的插件页面,而其他字段在插件发布到 grafana.com 时使用。

属性

属性类型必需描述
keywordsstring[]插件关键词数组。用于 grafana.com 上的搜索。
logos对象用作插件图标的 SVG 图像。
updated字符串此插件构建的日期。
version字符串SemVer 版本的插件,例如:6.7.1
author对象有关插件作者的信息。
build对象构建信息
description字符串插件的描述。用于 Grafana 中的插件页面和 grafana.com 上的搜索。
links对象[]要以 {name: 'foo', url: 'http://example.com'} 的形式显示在插件项目页面上的链接对象的数组。
screenshots对象[]screenshot 对象的数组,形式为 {name: 'bar', path: 'img/screenshot.png'}

author

有关插件作者的信息。

属性

属性类型必需描述
email字符串作者的姓名。
name字符串作者的姓名。
url字符串作者网站的链接。

构建

构建信息

属性

属性类型必需描述
分支字符串构建的插件所使用的Git分支。
哈希值字符串构建的插件所使用的提交的Git哈希值。
数字数字
pr数字构建的插件所使用的GitHub拉取请求。
repo字符串
时间数字构建插件的Unix时间戳。

属性

属性类型必需描述
name字符串
url字符串

标志

用作插件图标的 SVG 图像。

属性

属性类型必需描述
字符串指向插件标志的“大”版本链接,该图像必须是SVG图像。可以相同图像用作“大”和“小”标志。
字符串指向插件标志的“小”版本链接,该图像必须是SVG图像。可以相同图像用作“大”和“小”标志。

屏幕截图

属性

属性类型必需描述
name字符串
path字符串

查询选项

对于数据源插件,插件查询编辑器中有一个查询选项部分,如果需要,可以启用这些选项。

属性

属性类型必需描述
缓存超时布尔值对于数据源插件。如果应该在查询编辑器的查询选项部分显示“缓存超时”选项。
最大数据点数布尔值对于数据源插件。如果应该在查询编辑器的查询选项部分显示“最大数据点数”选项。
最小间隔布尔值对于数据源插件。如果应该在查询编辑器的查询选项部分显示“最小间隔”选项。

角色

插件定义的RBAC角色列表及其对基本角色(如“查看者”、“编辑者”、“管理员”、“Grafana管理员”)的默认分配。

需要Grafana版本9.4.0或更高版本。目前,此功能位于accessControlOnCall功能切换之后。

属性

属性类型必需描述
role对象RBAC角色定义,用于在插件中组织相关的RBAC权限。
授权string[]角色对Grafana基本角色(如“查看者”、“编辑者”、“管理员”、“Grafana管理员”)的默认分配。

角色

一个角色将您的插件相关的RBAC权限分组(例如:Projects Admin将创建、读取、写入和删除项目的权限分组)。您在角色中定义的RBAC操作必须从您的插件id开始(例如:grafana-test-app.projects:read)。

属性类型必需描述
name字符串角色的名称。
description字符串描述角色的目的。
权限对象[]插件上的RBAC权限。

路由

对于数据源插件。代理路由用于插件认证,并为插件发出的HTTP请求添加标题。有关更多信息,请参阅数据源插件的认证

属性

属性类型必需描述
主体对象对于数据源插件。路由头设置代理请求的主体内容和长度。
头信息数组对于数据源插件。路由头向代理请求添加HTTP头。
jwtTokenAuth对象对于数据源插件。与JWT OAuth API一起使用的令牌认证部分。
方法字符串对于数据源插件。路由方法匹配HTTP动词,如GET或POST。可以提供逗号分隔的多个方法列表。
path字符串对于数据源插件。当代理调用时用路由URL字段替换的路由路径。
reqAction字符串用户必须拥有的RBAC操作才能使用此路由。 警告:除非操作针对插件(或嵌套的插件数据源),否则仅验证操作,不验证其应用的对象。
reqRole字符串
reqSignedIn布尔值
tokenAuth对象对于数据源插件。与OAuth API一起使用的令牌认证部分。
url字符串对于数据源插件。路由是请求代理的位置。

body

对于数据源插件。路由头设置代理请求的主体内容和长度。

属性类型必需描述

jwtTokenAuth

对于数据源插件。与JWT OAuth API一起使用的令牌认证部分。

属性

属性类型必需描述
params对象JWT令牌认证请求的参数。
scopesstring[]您应用应获得的访问权限的权限列表。
url字符串获取JWT令牌的URL。

params

JWT令牌认证请求的参数。

属性
属性类型必需描述
client_email字符串
private_key字符串
token_uri字符串

tokenAuth

对于数据源插件。与OAuth API一起使用的令牌认证部分。

属性

属性类型必需描述
params对象令牌认证请求的参数。
scopesstring[]您应用应获得的访问权限的权限列表。
url字符串获取认证令牌的URL。

params

令牌认证请求的参数。

属性
属性类型必需描述
client_id字符串OAuth客户端ID
client_secret字符串OAuth客户端密钥。通常通过从SecureJson blob解密密钥来填充。
grant_type字符串OAuth授权类型
resource字符串OAuth资源

extensions

插件注册到的特定扩展点的链接和组件扩展列表。

属性

属性类型必需描述
extensionPointId字符串注册扩展的点上的字符串ID。
type字符串有效值: "link""component"
title字符串
description字符串