插件 〉Google BigQuery


开发者

Grafana Labs

注册以接收不定期的产品新闻和更新



数据源
grafana

Google BigQuery

  • 概述
  • 安装
  • 更新日志
  • 相关内容

Grafana 的 Google BigQuery 数据源

Google BigQuery 数据源插件允许您从 Grafana 内部查询和可视化 Google BigQuery 数据。

安装插件

  1. 导航到 BigQuery 插件主页。

  2. 从左侧菜单中,单击安装插件按钮。

    将显示安装选项卡。

验证插件是否已安装

  1. 在 Grafana 中,导航到配置 > 数据源
  2. 从右上角,单击添加数据源按钮。
  3. 在搜索字段中搜索 Google BigQuery,并将鼠标悬停在 Google BigQuery 搜索结果上。
  4. 单击 Google BigQuery 的选择按钮。如果可以单击选择按钮,则表示已安装。

在 Grafana 中配置 Google BigQuery 数据源

按照这些说明添加新的 Google BigQuery 数据源,然后输入配置选项

要求

需要启用以下 Google API,插件才能正常工作

身份验证

Google BigQuery 数据源提供两种身份验证方式

  • 通过上传 Google 服务帐户密钥
  • 通过从 Google Metadata Server 自动检索凭据(仅在 GCE 虚拟机上运行 Grafana 时可用)

Google 服务帐户身份验证

创建 Google Cloud Platform (GCP) 服务帐户。BigQuery Data Viewer 角色和 Job User 角色提供 Grafana 所需的所有权限。

Google 元数据服务器

当 Grafana 在 Google Compute Engine (GCE) 虚拟机上运行时,Google BigQuery 数据源可以从元数据服务器自动检索默认项目 ID 和身份验证令牌。为了使此功能正常工作,您需要确保您有一个服务帐户设置为虚拟机的默认帐户,并且该服务帐户已被授予对 BigQuery API 的读取权限。

配置

可以使用带有 Grafana 配置系统的配置文件来配置数据源。要了解其工作原理,包括您可以为此数据源设置的所有设置,请参阅配置 Grafana 数据源

下面您将找到一些配置示例

使用服务帐户

# 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

有关更多信息,请访问有关插件安装的文档。

更新日志

2.0.2

补丁更改

⚙️ 将 github.com/grafana/grafana-plugin-sdk-go 升级到 0.263.0

2.0.1

  • Chore:更新发布工作流程

2.0.0

  • Chore:插件现在需要 Grafana 10.4.8 或更高版本

1.9.3

  • Chore:将 uplot 从 1.6.31 升级
  • Chore:将 github.com/grafana/grafana-plugin-sdk-go 从 0.250.0 升级到 0.258.0

1.9.2

  • Chore:将 path-to-regexp 从 1.8.0 升级到 1.9.0 (#296)
  • Chore:将 github.com/grafana/grafana-plugin-sdk-go 从 0.245.0 升级到 0.250.0 (#297)
  • Chore:将 dompurify 从 3.1.0 升级到 3.1.6 (#298)

1.9.1

  • Chore:将 github.com/grafana/grafana-plugin-sdk-go 更新到 v0.245.0 (#293)
  • Chore:将 micromatch 从 4.0.5 更新到 4.0.8 (#292)
  • Chore:将 webpack 从 5.86.0 更新到 5.94.0 (#291)

1.9.0

  • Feature:添加对自定义服务端点的支持 (#266)
  • Chore:为自定义服务端点添加日志记录 (#286)
  • Chore:将 github.com/grafana/grafana-plugin-sdk-go 更新到 v0.241.0 (#285)

1.8.0

  • Fix:使编辑器标签可点击 (#276)
  • Chore:插件现在需要 Grafana 10.3.6 或更高版本 (#275)

1.7.1

  • Fix:删除与 grafana9 不兼容的更改 (#273)

1.7.0

  • Feature:允许指定最大计费字节数 (#254)
  • Fix:处理 timeGroup 宏中的亚秒级间隔 (#262)
  • Fix:修复了日志行格式 (#255)
  • Fix:使编辑器标签可点击 (#256)
  • Fix:更新文档以列出正确的宏 (#259)
  • Chore:更新依赖项 (#264)
  • Chore:一致的图标 (#261)

1.6.1

  • Chore:更新依赖项

1.6.0

  • Chore:更新依赖项、插件关键字
  • Feature:查询编辑器:自动位置选择 (#244)
  • Feature:查询编辑器:更好的项目选择流程 (#239)

1.5.0

  • Chore:添加缺少的处理位置 (#231)
  • Feature:从前端隐藏敏感项目信息 (#236)
  • Chore:更新 create-plugin 和依赖项 #240
  • Feature:将 grafana-http-headers 作为查询的配置标签附加 (#241)

1.4.1

  • Feature:为代码编辑器添加宏自动完成功能
  • Feature:更新配置页面以遵循最佳实践
  • Chore:将 grafana-plugin-sdk-go 升级到最新版本

1.4.0

  • Chore:更新 go 和 npm 依赖项。
  • Fix:修复查询编辑器中的 A11y 问题。
  • Feature:添加对从驱动器查询数据库的支持。

1.3.1

  • Chore:将 grafana-plugin-sdk-go 更新到 0.171.0

1.3.0

  • Feature: 添加对 PDC 的支持。

1.2.9

  • Chore:在每个插件实例中使用 SQLDS。

1.2.8

  • Fix:变量查询错误,因为缺少 refId #180

1.2.7

  • Chore:更新变量编辑器以使用新的 API。这也将修复 timeFilter 宏的问题。 #174

1.2.6

  • Chore - 后端二进制文件现在使用 golang 1.20.4 编译

1.2.5

  • Chore:升级 go 版本

1.2.4

  • Chore:升级到最新的 grafana-google-sdks #166
  • Chore:迁移到 create-plugin #165
  • 添加了处理位置:哥伦布(俄亥俄州)、马德里、米兰和巴黎 #161

1.2.3

  • Chore:将 grafana/experimental 升级到 1.0.1 #144
  • Fix:更新时间宏以取消引用时间变量 #155
  • Fix:不要在宏 timegroup 中崩溃 #156

1.2.2

  • Chore:更新到 Golang 1.19 #149

1.2.1

  • Querying:修复查询位置未正确设置的问题。(#140)

1.2.0

  • Datasource config:添加对在数据源配置中使用私钥路径的支持。

1.1.1

  • Fix: 与 Grafana 8.0.0 版本兼容性问题。(#121)

1.1.0

此版本带有一项新功能,该功能允许使用单个数据源使用多个 BigQuery 项目。为了在查询编辑器中查看列出的 GCP 项目,您需要启用 Google Cloud Resource Manager API

  • Feature:添加对多项目设置的支持。(#112)
  • Chore:更新 @grafana/experimental 依赖项。(#115)
  • Fix:代码编辑器查询更改时,处理位置不再重置。(#114)

1.0.3

  • Data types support:添加对查询原始类型数组的支持。
  • Fix:在验证查询时内插 $__interval$__interval_ms 变量。

1.0.2

  • Fix:使用 GCE 身份验证时,使用配置的默认项目。

1.0.1

  • Authentication:允许在使用 GCE 身份验证时配置默认项目。

1.0.0

0.1.15

  • Data types support 添加对 GEOGRAPHY、BIGNUMERIC 和 BYTES 数据类型的支持。
  • Code editor:添加在扩展编辑器中编辑查询的可能性。
  • Visual Query Builder:支持在 select 中使用星号。
  • Visual Query Builder:格式预览。
  • Visual Query Builder:选择聚合时打开 group by。
  • Fix:在数据集更改时重置查询。
  • Fix:删除未使用的配置设置。
  • Fix:在处理位置更改时执行查询验证。
  • 更新可用处理位置列表。
  • 更新最低 Grafana 版本。

0.1.14

  • Fix:在表更改时重置可视化查询生成器中的查询。
  • Fix:删除可视化查询生成器中已取消抖动的状态更新。
  • Fix:在代码编辑器中正确格式化模板变量和宏。
  • Fix:不要运行隐藏的查询。
  • Fix:为验证请求正确内插模板变量。

0.1.13

  • Data source settings:修复了使重置和更改用于身份验证的 JWT 令牌成为不可能的错误。

0.1.12

  • Annotations:添加注释支持。
  • Visual Query Builder:可视化查询生成器现在为查询设置了默认限制(50)。
  • Visual Query Builder:使用可视化查询生成器构建的查询不再自动执行 - “运行查询”按钮在代码编辑器中显示。
  • Visual Query Builder:可视化查询生成器生成的查询的表用反引号括起来。
  • Visual Query Builder:将聚合列添加到 Order By select。
  • Visual Query Builder:修复了用户更改过滤器运算符时的错误。
  • Autocomplete:为宏添加完成功能。
  • Query validation:将时间范围添加到查询验证 API 调用。修复了使用时间范围时宏的查询验证错误。
  • Query validation:当使用不受支持的宏时,返回验证。
  • Fix:timeGroup 宏现在应正确内插。

0.1.11

  • Fix:允许运行脚本查询。
  • Query validation:将内插添加到验证响应。

0.1.10

  • Code editor:添加格式化查询的选项。
  • Code editor:当用户模糊代码编辑器时,不要运行查询。
  • Query validation:如果查询未更改,则不要重新验证查询。

0.1.9

  • Autocomplete:在 WHERE 子句中添加列的建议。
  • Query validation:在查询更改时而不是在模糊时主动运行查询验证。
  • Code editor:按下 CTRL/CMD+Return 时运行查询。

0.1.8

  • Autocomplete:改进表建议。
  • Query validation:在执行试运行之前内插模板变量和宏。

0.1.7

  • Autocomplete:为注入时间分区表过滤器添加建议。
  • Code editor:使关键字和运算符的自动完成功能不区分大小写。
  • Code editor:使查询字节估计更用户友好。

0.1.6

  • Code editor:添加带有查询试运行的验证。

0.1.5

  • Autocomplete:修复了损坏的数据集/表建议。

0.1.4

  • Visual Query Builder:引入可视化查询生成器。
  • Code editor:使原始查询编辑器在 Grafana < 8.2.x 中工作。

0.1.3

  • Autocomplete:去重逻辑运算符。
  • Code editor:不要在模糊时运行查询,改进查询标头组件。

0.1.2

  • Data types support:处理 NUMERIC 数据类型。

0.1.1

  • Autocomplete:如果项目 ID 或数据集 ID 包含在 Monaco 的默认 SQL 语言定义中定义的关键字,则修复了损坏的数据集/表建议。

0.1.0

初始 Beta 版本。