插件 〉Google BigQuery
Google BigQuery
Grafana 的 Google BigQuery 数据源
Google BigQuery 数据源插件允许你在 Grafana 中查询和可视化 Google BigQuery 数据。
安装插件
导航至 BigQuery 插件主页。
从左侧菜单中,点击 安装插件 按钮。
显示 安装 标签页。
验证插件已安装
- 在 Grafana 中,导航至 配置 > 数据源。
- 从右上角,点击 添加数据源 按钮。
- 在搜索字段中搜索 Google BigQuery,并将鼠标悬停在 Google BigQuery 搜索结果上。
- 点击 Google BigQuery 的 选择 按钮。如果可以点击 选择 按钮,则表示插件已安装。
在 Grafana 中配置 Google BigQuery 数据源
遵循这些说明添加新的 Google BigQuery 数据源,并输入配置选项
要求
插件正常工作需要启用以下 Google API
身份验证
Google BigQuery 数据源提供两种身份验证方式
- 通过上传 Google Service Account 密钥
- 通过自动从 Google Metadata Server 获取凭据(仅在使用 GCE 虚拟机运行 Grafana 时可用)
Google Service Account 身份验证
创建一个 Google Cloud Platform (GCP) Service Account。BigQuery Data Viewer 角色和 Job User 角色提供了 Grafana 需要的所有权限。
Google metadata server
当 Grafana 在 Google Compute Engine (GCE) 虚拟机上运行时,Google BigQuery 数据源可以自动从 metadata server 获取默认项目 ID 和身份验证令牌。为此,你需要确保已将一个服务账户设置为该虚拟机的默认账户,并且该服务账户已获得 BigQuery API 的读取权限。
配置
可以使用 Grafana 的配置系统通过配置文件配置数据源。要了解其工作原理以及此数据源的所有设置,请参阅 配置 Grafana 数据源。
下面是一些配置示例
使用 Service Account
# config file version (with private key in secureJsonData)
apiVersion: 1
datasources:
- name: BigQuery DS
type: grafana-bigquery-datasource
editable: true
enabled: true
jsonData:
authenticationType: jwt
clientEmail: your-client-email
defaultProject: your-default-bigquery-project
tokenUri: https://oauth2.googleapis.com/token
secureJsonData:
privateKey: your-private-key
# config file version (with private key path in jsonData)
apiVersion: 1
datasources:
- name: BigQuery DS
type: grafana-bigquery-datasource
editable: true
enabled: true
jsonData:
authenticationType: jwt
clientEmail: your-client-email
defaultProject: your-default-bigquery-project
tokenUri: https://oauth2.googleapis.com/token
privateKeyPath: '/etc/secrets/bigquery.pem'
使用 Google Metadata Server
# config file version
apiVersion: 1
datasources:
- name: BigQuery DS
type: grafana-bigquery-datasource
editable: true
enabled: true
jsonData:
authenticationType: gce
导入使用 DoiT International BigQuery DataSource 插件创建的查询
对于所有使用 Grafana 8.5+ 的用户,只需将数据源更改为 Grafana BigQuery,即可导入使用 DoiT International BigQuery 社区插件创建的查询。请注意,查询将作为原始 SQL 查询导入。
查询数据源
查询编辑器允许你查询 Google BigQuery 数据源。查询可以包含宏,以简化语法并允许动态部分。
SQL 查询编辑器
SQL 查询编辑器提供了对标准 SQL 的丰富支持,以及对以下内容的详细自动完成功能:
- BigQuery 标准 SQL 语言语法。
- BigQuery 数据集、表和列。
- 宏和模板变量。
SQL 查询编辑器还支持查询验证和代码格式化。
查询验证
SQL 查询编辑器会验证查询,并提供关于查询错误的有用信息。如果查询有效,将显示预计的查询大小。
扩展代码编辑器
SQL 查询编辑器允许在全屏代码编辑器中编辑查询,方便处理长查询。
键盘快捷键
CMD/Ctrl + Return
- 运行查询
可视化查询编辑器
可视化查询编辑器允许无需 SQL 知识即可创建简单的 BigQuery 查询。它支持基本聚合、过滤、分组、排序和原始查询预览。与 SQL 查询编辑器类似,可视化查询编辑器也会在创建查询时验证你的查询。
查询为时间序列
在查询中添加 TIMESTAMP
字段后,可以选择时间序列可视化选项。此字段将用作时间戳。你可以使用可视化选项选择时间序列可视化。Grafana 将没有显式时区的时间戳行解释为 UTC。除时间列外,任何其他列都将视为值列。
查询为表格
对于任何有效的 Google BigQuery 查询,表格可视化始终可用。
宏
为了简化语法并允许动态部分(如日期范围过滤器),查询可以包含宏。
以下是使用 Grafana 时间过滤器的包含宏的查询示例
SELECT
time_column,
value_column,
FROM `project.dataset.table`
WHERE $__timeFilter(time_column)
宏示例 | 描述 |
---|---|
$__timeFilter(timeColumn) | 将被替换为使用指定名称的时间范围过滤器。 |
$__timeGroup(timeColumn,interval) | 将被替换为可在 GROUP BY 子句中使用的表达式。 |
模板和变量
要添加新的 Google BigQuery 查询变量,请参阅 添加查询变量。
创建变量后,你可以使用 变量语法 在 Google BigQuery 查询中使用它。有关变量的更多信息,请参阅 模板和变量。
了解更多
在 Grafana Cloud 上安装 Google BigQuery
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键操作;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在你的 Grafana 中显示。
更多信息请参阅插件安装文档。
在本地 Grafana 上安装
对于本地实例,插件通过简单的 CLI 命令进行安装和更新。插件不会自动更新,但你将在 Grafana 中收到更新可用通知。
1. 安装数据源
使用 grafana-cli 工具从命令行安装 Google BigQuery
grafana-cli plugins install
插件将安装到你的 grafana 插件目录;默认路径为 /var/lib/grafana/plugins。更多关于 cli 工具的信息。
2. 配置数据源
从 Grafana 主菜单访问,“数据源”部分可以立即添加新安装的数据源。
接下来,点击右上角的“添加数据源”按钮。该数据源将在 类型 选择框中显示以供选择。
要查看已安装数据源列表,点击主菜单中的 插件 项。核心数据源和已安装数据源都将显示。
更新日志
2.0.4
🐛 改进健康检查,正确返回错误 ⚙️ 将 golang.org/x/net
从 0.35.0 更新到 0.36.0 ⚙️ 更新前端依赖项
2.0.3
⚙️ 将 github.com/grafana/grafana-plugin-sdk-go
更新到 0.268.0 ⚙️ 更新前端依赖项
2.0.2
⚙️ 将 github.com/grafana/grafana-plugin-sdk-go
提升到 0.263.0
2.0.1
- 日常维护: 更新发布工作流程
2.0.0
- 日常维护: 插件现在需要 Grafana 10.4.8 或更高版本
1.9.3
- 日常维护: 将
uplot
从 1.6.31 提升 - 日常维护: 将
github.com/grafana/grafana-plugin-sdk-go
从 0.250.0 提升到 0.258.0
1.9.2
- 日常维护: 将
path-to-regexp
从 1.8.0 提升到 1.9.0 (#296) - 日常维护: 将
github.com/grafana/grafana-plugin-sdk-go
从 0.245.0 提升到 0.250.0 (#297) - 日常维护: 将
dompurify
从 3.1.0 提升到 3.1.6 (#298)
1.9.1
- 日常维护: 将
github.com/grafana/grafana-plugin-sdk-go
更新到 v0.245.0 (#293) - 日常维护: 将
micromatch
从 4.0.5 更新到 4.0.8 (#292) - 日常维护: 将
webpack
从 5.86.0 更新到 5.94.0 (#291)
1.9.0
- 功能: 添加对自定义服务端点的支持 (#266)
- 日常维护: 为自定义服务端点添加日志记录 (#286)
- 日常维护: 将
github.com/grafana/grafana-plugin-sdk-go
更新到v0.241.0
(#285)
1.8.0
- 修复: 使编辑器标签可点击 (#276)
- 日常维护: 插件现在需要 Grafana 10.3.6 或更高版本 (#275)
1.7.1
- 修复: 移除与 grafana9 不兼容的更改 (#273)
1.7.0
- 功能: 允许指定最大计费字节数 (#254)
- 修复: 处理 timeGroup 宏中的亚秒级间隔 (#262)
- 修复: 修复日志行格式 (#255)
- 修复: 使编辑器标签可点击 (#256)
- 修复: 更新文档以列出正确的宏 (#259)
- 日常维护: 更新依赖项 (#264)
- 日常维护: 图标一致性 (#261)
1.6.1
- 日常维护: 更新依赖项
1.6.0
- 日常维护: 更新依赖项、插件关键字
- 功能: 查询编辑器:自动位置选择 (#244)
- 功能: 查询编辑器:更佳的项目选择流程 (#239)
1.5.0
- 日常维护: 添加缺失的处理位置 (#231)
- 功能: 从前端隐藏敏感项目信息 (#236)
- 日常维护: 更新 create-plugin 和依赖项 #240
- 功能: 将 grafana-http-headers 附加为查询的配置标签 (#241)
1.4.1
- 功能: 为代码编辑器添加宏自动完成功能
- 功能: 更新配置页面以遵循最佳实践
- 日常维护: 升级 grafana-plugin-sdk-go 到最新版本
1.4.0
- 日常维护: 更新 go 和 npm 依赖项。
- 修复: 修复查询编辑器中的 A11y(可访问性)问题。
- 功能: 添加对从驱动器查询数据库的支持。
1.3.1
- 日常维护: 将 grafana-plugin-sdk-go 更新到 0.171.0
1.3.0
- 功能: 添加对 PDC 的支持。
1.2.9
- 日常维护: 在每个插件实例中使用 SQLDS。
1.2.8
- 修复: 变量查询错误,因为缺少 refId #180
1.2.7
- 日常维护: 更新变量编辑器以使用新的 API。这也将修复 timeFilter 宏的问题。#174
1.2.6
- 日常维护 - 后端二进制文件现在使用 golang 1.20.4 编译
1.2.5
- 日常维护: 提升 go 版本
1.2.4
- 日常维护: 升级到最新的 grafana-google-sdks #166
- 日常维护: 迁移到 create-plugin #165
- 添加了处理位置:哥伦布(俄亥俄)、马德里、米兰和巴黎 #161
1.2.3
- 日常维护: 升级 grafana/experimental 到 1.0.1 #144
- 修复: 更新时间宏以取消引用时间变量 #155
- 修复: 避免在宏 timegroup 中崩溃 #156
1.2.2
- 日常维护: 更新到 Golang 1.19 #149
1.2.1
- 查询: 修复查询位置设置不正确的问题。(#140)
1.2.0
- 数据源配置: 添加对在数据源配置中使用私钥路径的支持。
1.1.1
- 修复: 与 Grafana 8.0.0 版本的兼容性问题。(#121)
1.1.0
此版本包含一个新功能,可以使用单个数据源连接多个 BigQuery 项目。为了在查询编辑器中看到列出的 GCP 项目,你需要启用 Google Cloud Resource Manager API。
- 功能: 添加对多项目配置的支持。(#112)
- 日常维护: 更新 @grafana/experimental 依赖项。(#115)
- 修复: 代码编辑器查询更改时,处理位置不再重置。(#114)
1.0.3
- 数据类型支持: 添加对查询原始类型数组的支持。
- 修复: 验证查询时插值
$__interval
和$__interval_ms
变量。
1.0.2
- 修复: 使用 GCE 身份验证时使用配置的默认项目。
1.0.1
- 身份验证: 使用 GCE 身份验证时允许配置默认项目。
1.0.0
- 可视化查询构建器: 支持 IS [NOT] NULL 运算符。
- 代码编辑器: 添加模板变量建议。
- 查询构建器: 在将数据源更改为 google-bigquery-datasource 时自动导入 doitintl-bigquery-datasource 查询。仅适用于 Grafana 8.5+。
0.1.15
- 数据类型支持 添加对 GEOGRAPHY, BIGNUMERIC 和 BYTES 数据类型的支持。
- 代码编辑器: 添加在扩展编辑器中编辑查询的可能性。
- 可视化查询构建器: 支持 select 中的星号。
- 可视化查询构建器: 格式化预览。
- 可视化查询构建器: 选择聚合时打开 group by。
- 修复: 数据集更改时重置查询。
- 修复: 移除未使用的配置设置。
- 修复: 在处理位置更改时执行查询验证。
- 更新可用处理位置列表。
- 更新最低 Grafana 版本。
0.1.14
- 修复: 表格更改时重置可视化查询构建器中的查询。
- 修复: 移除可视化查询构建器中去抖动状态更新。
- 修复: 在代码编辑器中正确格式化模板变量和宏。
- 修复: 不运行隐藏查询。
- 修复: 为验证请求正确插值模板变量。
0.1.13
- 数据源设置: 修复一个 bug,该 bug 导致无法重置和更改用于身份验证的 JWT token。
0.1.12
- 注解: 添加注解支持。
- 可视化查询构建器: 可视化查询构建器现在为查询设置了默认限制 (50)。
- 可视化查询构建器: 使用可视化查询构建器构建的查询不再自动执行 - 像在代码编辑器中一样显示“运行查询”按钮。
- 可视化查询构建器: 可视化查询构建器生成的查询表名用反引号括起来。
- 可视化查询构建器: 将聚合列添加到 Order By select 中。
- 可视化查询构建器: 修复用户更改过滤器运算符时的 bug。
- 自动完成: 添加宏的完成功能。
- 查询验证: 为查询验证 API 调用添加时间范围。修复使用时间范围宏时的查询验证错误。
- 查询验证: 使用不支持的宏时返回验证错误。
- 修复: timeGroup 宏现在应该能正确插值。
0.1.11
- 修复: 允许运行脚本查询。
- 查询验证: 将插值后的查询添加到验证响应中。
0.1.10
- 代码编辑器: 添加格式化查询的选项。
- 代码编辑器: 用户失焦代码编辑器时,不运行查询。
- 查询验证: 如果查询未更改,则不再重新验证。
0.1.9
- 自动完成: 为 WHERE 子句中的列添加建议。
- 查询验证: 在查询更改时而不是失焦时主动运行查询验证。
- 代码编辑器: 按下 CTRL/CMD+Return 时运行查询。
0.1.8
- 自动完成: 改进表格建议。
- 查询验证: 在执行 dry run 之前插值模板变量和宏。
0.1.7
- 自动完成: 添加对摄取时间分区表过滤器的建议。
- 代码编辑器: 使关键字和运算符的自动完成不区分大小写。
- 代码编辑器: 使查询字节数预估更易于用户理解。
0.1.6
- 代码编辑器: 添加带有查询 dry run 的验证。
0.1.5
- 自动完成: 修复了损坏的数据集/表格建议。
0.1.4
- 可视化查询构建器: 引入可视化查询构建器。
- 代码编辑器: 使原始查询编辑器在 Grafana < 8.2.x 中工作。
0.1.3
- 自动完成: 去重逻辑运算符。
- 代码编辑器: 不在失焦时运行查询,改进查询头组件。
0.1.2
- 数据类型支持: 处理 NUMERIC 数据类型。
0.1.1
- 自动完成: 修复了项目 ID 或数据集 ID 包含 Monaco 默认 SQL 语言定义中定义的关键字时数据集/表格建议损坏的问题。
0.1.0
初次 Beta 发布。