所有插件都必须包含 plugin.json
文件。当 Grafana 启动时,它会扫描插件文件夹,并挂载包含 plugin.json
文件的每个文件夹,除非该文件夹包含名为 dist
的子文件夹。在这种情况下,Grafana 会挂载 dist
文件夹。
属性 | 类型 | 必需 | 描述 |
---|
id | 字符串 | 是 | 插件的唯一名称。如果插件在 grafana.com 上发布,则插件的 id 应遵循 Grafana 命名约定。 |
name | 字符串 | 是 | 插件在 UI 中显示给用户的可读名称。 |
type | 字符串 | 是 | 插件类型。可能的值是:app 、datasource 、panel 、renderer 、secretsmanager 。 |
info | 对象 | 是 | 插件的元数据。一些字段用于 Grafana 中的插件页面,而其他字段在插件发布到 grafana.com 时使用。 |
dependencies | 对象 | 是 | 与 Grafana 和其他插件相关的依赖信息。 |
$schema | 字符串 | 否 | 插件.json 文件的模式定义。主要用于模式验证。 |
alerting | 布尔值 | 否 | 对于数据源插件,如果插件支持警报。需要将 backend 设置为 true 。 |
annotations | 布尔值 | 否 | 对于数据源插件,如果插件支持注释查询。 |
autoEnabled | 布尔值 | 否 | 对于应在所有组织中启用并固定到导航栏的应用插件,设置为 true。 |
backend | 布尔值 | 否 | 如果插件具有后端组件。 |
category | 字符串 | 否 | 用于 "添加数据源" 页面的插件分类。可能的值是:tsdb 、logging 、cloud 、tracing 、profiling 、sql 、enterprise 、iot 、other 。 |
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 | 字符串 | 否 | 将插件标记为预发布。可能的值是:alpha ,beta 。 |
streaming | 布尔值 | 否 | 对于数据源插件,如果插件支持流式传输,用于在探索中启动实时流。 |
tracing | 布尔值 | 否 | 对于数据源插件,如果插件支持跟踪,例如用于将日志(如Loki日志)与跟踪插件链接。 |
extensions | 对象[] | 否 | 插件在以下扩展点注册的扩展列表。 |
插件所需的依赖项。
属性 | 类型 | 必需 | 描述 |
---|
grafanaDependency | 字符串 | 是 | 此插件所需的有效Grafana版本。使用https://github.com/npm/node-semver进行验证。 |
grafanaVersion | 字符串 | 否 | (已弃用)此插件所需的有效Grafana版本,例如6.x.x 7.x.x 表示插件需要Grafana v6.x.x或v7.x.x。 |
plugins | 对象[] | 否 | 依赖于此插件所需的插件数组。 |
Plugin dependency. Used to display information about plugin dependencies in the Grafana UI.
属性 | 类型 | 必需 | 描述 |
---|
id | 字符串 | 是 | |
name | 字符串 | 是 | |
type | 字符串 | 是 | 可能的值是:app 、datasource 、panel 。 |
version | 字符串 | 否 | 此属性应使用一个特定、固定版本的SemVer,而不是一个范围。如果未指定版本,则将解析为最新支持版本。 |
Grafana企业版特定功能。
属性 | 类型 | 必需 | 描述 |
---|
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 | 字符串 | 否 | 可能的值:Admin 、Editor 、Viewer 。 |
type | 字符串 | 否 | 可能的值:dashboard 、page 、panel 、datasource 。 |
uid | 字符串 | 否 | 包含资源的唯一标识符。 |
info
插件的元数据。一些字段用于 Grafana 中的插件页面,而其他字段在插件发布到 grafana.com 时使用。
属性 | 类型 | 必需 | 描述 |
---|
keywords | string[] | 是 | 插件关键词数组。用于 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时间戳。 |
用作插件图标的 SVG 图像。
属性 | 类型 | 必需 | 描述 |
---|
大 | 字符串 | 是 | 指向插件标志的“大”版本链接,该图像必须是SVG图像。可以相同图像用作“大”和“小”标志。 |
小 | 字符串 | 是 | 指向插件标志的“小”版本链接,该图像必须是SVG图像。可以相同图像用作“大”和“小”标志。 |
屏幕截图
查询选项
对于数据源插件,插件查询编辑器中有一个查询选项部分,如果需要,可以启用这些选项。
属性 | 类型 | 必需 | 描述 |
---|
缓存超时 | 布尔值 | 否 | 对于数据源插件。如果应该在查询编辑器的查询选项部分显示“缓存超时”选项。 |
最大数据点数 | 布尔值 | 否 | 对于数据源插件。如果应该在查询编辑器的查询选项部分显示“最大数据点数”选项。 |
最小间隔 | 布尔值 | 否 | 对于数据源插件。如果应该在查询编辑器的查询选项部分显示“最小间隔”选项。 |
插件定义的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令牌认证请求的参数。 |
scopes | string[] | 否 | 您应用应获得的访问权限的权限列表。 |
url | 字符串 | 否 | 获取JWT令牌的URL。 |
params
JWT令牌认证请求的参数。
属性 | 类型 | 必需 | 描述 |
---|
client_email | 字符串 | 否 | |
private_key | 字符串 | 否 | |
token_uri | 字符串 | 否 | |
tokenAuth
对于数据源插件。与OAuth API一起使用的令牌认证部分。
属性 | 类型 | 必需 | 描述 |
---|
params | 对象 | 否 | 令牌认证请求的参数。 |
scopes | string[] | 否 | 您应用应获得的访问权限的权限列表。 |
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 | 字符串 | 否 | |