插件 〉Google BigQuery


开发者

Grafana Labs

资源


注册以接收偶尔的产品新闻和更新



数据源
grafana

Google BigQuery

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

Google BigQuery 数据源为 Grafana

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 元数据服务器自动检索凭据(仅当 Grafana 在 GCE 虚拟机上运行时可用)

Google 服务帐户身份验证

创建 Google Cloud Platform (GCP) 服务帐户。BigQuery 数据查看器角色和作业用户角色提供了 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元数据服务器

# 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数据集、表和列的详尽自动完成。

  • BigQuery标准SQL语言语法。
  • BigQuery数据集、表和列。
  • 宏和模板变量。

SQL查询编辑器还支持查询验证和代码格式化。

查询验证

SQL查询编辑器会验证查询,并为您提供有关查询中错误的有意义信息。如果查询有效,则会显示估计的查询大小。

扩展代码编辑器

SQL查询编辑器允许您在全屏代码编辑器中编辑查询,这使得处理长查询变得容易。

键盘快捷键

  • CMD/Ctrl + Return - 运行查询

可视化查询编辑器

可视化查询编辑器允许您在不了解SQL的情况下创建简单的BigQuery查询。它具有基本的聚合支持、过滤、分组、排序和原始查询预览功能。与SQL查询编辑器类似,可视化查询编辑器也会在创建查询时验证您的查询。

按时间序列查询

在将TIMESTAMP字段添加到查询后,可以选择时间序列可视化选项。此字段将用作时间戳。您可以使用可视化选项选择时间序列可视化。Grafana将无显式时区的timestamp行解释为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

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

变更日志

1.9.3

  • 日常:将 uplot 从 1.6.31 升级到 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)
  • 修复:在时间组宏中处理亚秒间隔 (#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。这还将修复时间过滤器宏的问题。 #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
  • 修复:在宏时间组中不要恐慌 #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

0.1.15

  • 数据类型支持:添加对 GEOGRAPHY、BIGNUMERIC 和 BYTES 数据类型的支持。
  • 代码编辑器:添加在展开编辑器中编辑查询的可能性。
  • 可视化查询构建器:在 SELECT 中支持星号。
  • 可视化查询构建器:格式预览。
  • 可视化查询构建器:在聚合选择时打开分组。
  • 修复:在数据集更改时重置查询。
  • 修复:删除未使用的配置设置。
  • 修复:在处理位置更改时执行查询验证。
  • 更新可用的处理位置列表。
  • 更新最小 Grafana 版本。

0.1.14

  • 修复:在表更改时在可视化查询构建器中重置查询。
  • 修复:在可视化查询构建器中删除防抖状态更新。
  • 修复:在代码编辑器中正确格式化模板变量和宏。
  • 修复:不运行隐藏的查询。
  • 修复:正确插值模板变量以进行验证请求。

0.1.13

  • 数据源设置:修复了导致无法重置和更改用于身份验证的JWT令牌的bug。

0.1.12

  • 注解:添加注解支持。
  • 视觉查询构建器:现在为查询设置了默认限制(50)。
  • 视觉查询构建器:使用视觉查询构建器构建的查询不再自动执行 - 显示的运行查询按钮与代码编辑器中相同。
  • 视觉查询构建器:由视觉查询构建器生成的查询具有用反引号包围的表。
  • 视觉查询构建器:将聚合列添加到Order By选择中。
  • 视觉查询构建器:修复了用户更改过滤器运算符时的bug。
  • 自动完成:为宏添加完成功能。
  • 查询验证:将时间范围添加到查询验证API调用中。修复了使用时间范围宏时的查询验证错误。
  • 查询验证:当使用不受支持的宏时返回验证。
  • 修复:timeGroup宏现在应正确插值。

0.1.11

  • 修复:允许运行脚本查询。
  • 查询验证:将插值添加到验证响应中。

0.1.10

  • 代码编辑器:添加格式化查询的选项。
  • 代码编辑器:当用户使代码编辑器失去焦点时不运行查询。
  • 查询验证:如果查询未更改,则不重新验证查询。

0.1.9

  • 自动完成:为WHERE子句中的列添加建议。
  • 查询验证:在查询更改时主动运行查询验证,而不是在失去焦点时运行。
  • 代码编辑器:当按下CTRL/CMD+Return时运行查询。

0.1.8

  • 自动完成:改进表建议。
  • 查询验证:在执行干运行之前插值模板变量和宏。

0.1.7

  • 自动完成:为摄取时间分区表过滤器添加建议。
  • 代码编辑器:使自动完成对关键字和运算符不区分大小写。
  • 代码编辑器:使查询字节数估计更友好。

0.1.6

  • 代码编辑器:添加查询干运行验证。

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版本。