菜单
文档面包屑箭头 插件面包屑箭头 Amazon Aurora 数据源
Enterprise Grafana Cloud

Amazon Aurora 数据源

使用 Grafana 查询和可视化 Amazon Aurora 中的数据。此数据源插件目前处于公开预览阶段。

简介

借助 Amazon Aurora 数据源,您可以轻松查询和可视化 Amazon Aurora 中的数据。此插件目前支持兼容 MySQL 和兼容 Postgres 的 Aurora 引擎。

Screenshot of a timeseries query with aurora

要求

此插件专为 Grafana Enterprise 9.4.7 及更高版本设计,但也可能兼容旧版本。

此插件使用 IAM 和 AWS SDK for Go 连接到 AWS Aurora 集群。请仔细阅读 AWS 提供的“使用 IAM 身份验证和 AWS SDK for Go 连接到您的 DB 集群”指南中的“先决条件”部分,了解如何使用 IAM 连接到您的 DB 集群,以确保 Grafana 能够查询您的集群。

权限示例

作为上述步骤的一部分,请确保您用于查询 Aurora 的用户/角色拥有适当的权限。例如


{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
             "rds-db:connect"
         ],
         "Resource": [
             "arn:aws:rds-db:us-east-2:1234567890:dbuser:cluster-ABCDEFGHIJKL01234/db_user"
         ]
      }
   ]
}

欲了解更多信息,请阅读AWS 的文档

入门

  1. 安装插件
  2. 使用 UI 添加新的数据源预配数据源
  3. 配置数据源
  4. 开始查询

配置选项

Amazon Aurora 数据源使用AWS SDK for Go 通过 AWS IAM 凭据连接到您的 DB 集群。有几种可能的方式可以在 Grafana 中配置数据源实例,以指定您希望如何连接 AWS

配置选项详细信息
身份验证提供者根据运行环境,Grafana 支持不同的身份验证提供者,例如密钥、凭据文件,或使用 AWS 的“默认”提供者,该提供者支持使用基于服务的 IAM 角色。这些提供者可以通过 allowed_auth_providers 字段手动启用/禁用。要详细了解支持的身份验证提供者,请参阅Cloud Watch 数据源文档
假设角色 ARN可选字段,如果您希望上述选定的提供者担任某个角色时使用。
外部 ID可选字段,有时在担任角色时使用。
端点可选字段,默认情况下,所有请求将使用aws sdk 中指定的任何端点,但是如果您想覆盖此设置,您可以这样做。
默认区域指定您集群的区域。
引擎选择您的集群使用的 Aurora 引擎。目前我们支持兼容 PostgreSQL 和兼容 MySQL 的引擎。
数据库名称可选字段,用于创建 DSN。
数据库用户用于创建 DSN。
数据库主机用于创建 DSN(注意:建议您指定只读连接,因为 Grafana UI 中没有任何内容可以阻止对您的 DB 进行写入)。
数据库端口用于创建 DSN。

高级设置

为了连接到您的集群,Grafana 发出 2 个调用

  1. 使用 RDS 和一个端点生成身份验证令牌
  2. 使用该令牌和您的端点打开到 DSN 的连接。

通常这两个步骤的端点是相同的。但是,如果您的 DB 集群位于负载均衡器后面,您可能需要两个单独的端点。对于第一个步骤,您需要指定负载均衡器后面的端点。对于第二个步骤,您需要指定用于打开 SQL 连接的负载均衡器端点。要让 Grafana 代表您执行此操作,请在 DB Host for AuthDB Port for Auth 中指定负载均衡器后面的端点,并使用上面的负载均衡器端点/端口配置字段。

预配 Aurora 数据源示例

如果您正在预配数据源,您可以使用 YAML 文件设置所有上述配置选项。以下是该文件可能的样子示例

  - name: AWS Aurora with mysql behind a load balancer
    type: grafana-aurora-datasource
    editable: true
    jsonData:
      engine: 'aurora-mysql'
      authType: keys
      dbName: 'testDatabase'
      dbUser: 'dbuser'
      dbHost: 'aurora-mysql.cluster-123.us-east-1.rds.amazonaws.com'
      dbPort: 3306
      defaultRegion: 'us-east-1'
    secureJsonData:
      accessKey: someAccessKey
      secretKey: someSecretKey
    version: 1

这是另一个包含负载均衡器的示例

  - name: AWS Aurora with mysql behind a load balancer
    type: grafana-aurora-datasource
    editable: true
    jsonData:
      engine: 'aurora-mysql'
      authType: keys
      dbName: 'testDatabase'
      dbUser: 'dbuser'
      dbHost: 'protectedByALoadBalancer.example.com'
      dbPort: 3307
      defaultRegion: 'us-east-1'
      dbPortAuth: 3306
      dbHostAuth 'aurora-mysql.cluster-123.us-east-1.rds.amazonaws.com'
    secureJsonData:
      accessKey: someAccessKey
      secretKey: someSecretKey
    version: 1

查询

表格 vs 时间序列

与 Grafana 中的其他 SQL 数据源插件一样,您可以在查询时指定是将数据作为“宽”时间序列还是“长”时间序列返回。这由“格式化数据帧为”下拉菜单控制。

为了更好地解释这个概念,考虑这样一个表格

Using Format data frames as Table with a Table Visualization

当我们使用时间序列可视化呈现相同的查询时,我们会注意到“neighborhood”和“city”字段会合并为一个时间序列。

Using Format data frames as Table with a Time Series Visualization

这通常是 SQL 数据源所需和预期的行为,尤其是在使用表格可视化时。但是,有时您可能希望为每个城市/区域组合呈现一个单独的时间序列。为此,请在“格式化数据帧为”下拉菜单中选择“时间序列”,这将呈现相同的时间序列可视化,如下所示

Using Format data frames as Time Series with a Time Series Visualization

使用 Explore 时,当您更改格式时,Grafana 会自动使用适当的时间序列或表格可视化呈现您的数据。使用仪表盘中的查询编辑器,用户可以控制如何可视化数据。

欲了解更多信息,请参阅Grafana 文档中的时间序列格式

变量和宏

此插件支持自定义变量和全局变量,使编写查询更容易。例如,如果您将自定义变量设置为 $tableName,您可以在仪表盘中跨多个表格使用相同的查询。

select * from $tableName limit 3;

注意

变量不适用于 Grafana 警报。

此插件还支持来自sql util 库的宏,例如 $__timeFrom$__timeTo。例如

select * from test_table where $__timeFrom(recorded_at) and $__timeTo(recorded_at)

如果您对 Amazon Aurora 数据源特有的宏有任何建议,请随时联系客户支持。