插件 〉Amazon Aurora
Amazon Aurora
Amazon Aurora 数据源
使用 Grafana 查询和可视化来自 AWS Aurora 的数据。此数据源插件目前处于 公开预览 阶段。
简介
使用 Amazon Aurora 数据源,您可以轻松查询和可视化 Amazon Aurora 中的数据。此插件目前支持 MySQL 兼容和 Postgres 兼容的 Aurora 引擎。
要求
此插件专为 Grafana 9.4.7 及以上版本的企业版设计,但也可能适用于旧版本。
此插件使用带有 AWS SDK for Go 的 IAM 连接到 AWS Aurora 集群。请通读 AWS 的 “使用 IAM 身份验证和 AWS SDK for Go 连接到数据库集群”指南的先决条件部分,以确保 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 的文档
入门指南
配置选项
Amazon Aurora 数据源使用 AWS SDK for Go 通过 AWS IAM 凭证连接到您的数据库集群。有几种可能的方式可以使用 Grafana 配置数据源实例,以指定您希望如何连接到 AWS
配置选项 | 详细信息 |
---|---|
身份验证提供程序 | 根据运行环境的不同,Grafana 支持不同的身份验证提供程序,例如密钥、凭证文件或来自 AWS 的“默认”提供程序,该提供程序支持使用基于服务的 IAM 角色。可以使用 allowed_auth_providers 字段手动启用/禁用这些提供程序。要了解有关支持的身份验证提供程序的更多信息,请参阅 CloudWatch 数据源的文档 |
Assume Role ARN(承担角色 ARN) | 一个可选字段,如果您希望上面选择的任何提供程序承担角色,则可以使用该字段。 |
外部 ID | 一个可选字段,有时在承担角色时使用 |
端点 | 一个可选字段,默认情况下,所有请求都将使用 AWS SDK 中指定的任何端点。但是,如果您想覆盖此设置,可以这样做。 |
默认区域 | 指定您的集群区域。 |
引擎 | 选择您的集群使用的 Aurora 引擎。目前,我们提供对 PostgreSQL 和 MySQL 兼容引擎的支持。 |
数据库名称 | 一个可选字段,用于创建 DSN。 |
数据库用户 | 用于创建 DSN。 |
数据库主机 | 用于创建 DSN(注意:建议您选择“指定只读连接”,因为 Grafana UI 中没有任何内容可以阻止写入您的数据库)。 |
数据库端口 | 用于创建 DSN。 |
高级设置
为了连接到您的集群,Grafana 会进行 2 次调用
- 使用端点通过 RDS 生成身份验证令牌
- 使用该令牌和您的端点打开与 DSN 的连接。
通常,这两个步骤的端点是相同的。但是,如果您的数据库集群位于负载均衡器之后,您可能需要 2 个单独的端点。对于第一步,您需要指定负载均衡器后面的端点。对于第二步,您需要为打开的 SQL 连接指定负载均衡器端点。要让 Grafana 代表您执行此操作,请在 DB Host for Auth
和 DB 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
查询
表格与时间序列
与 Grafana 中的其他 SQL 数据源插件一样,您可以指定在查询时将数据作为“宽”时间序列还是“长”时间序列返回。这由 Format data frames as
下拉列表控制。
为了更好地解释这个概念,请考虑如下所示的表格
当我们使用时间序列可视化呈现相同的查询时,我们会注意到“neighborhood”和“city”字段折叠成 1 个时间序列
这通常是 SQL 数据源的期望行为,尤其是在使用表格可视化时。但是,有时您可能希望为每个城市/社区组合呈现单独的时间序列。为此,请在“Format data frames as”下拉列表中选择“Time series”,这将像这样呈现相同的时间序列可视化
当使用 Explore 时,Grafana 会在您更改格式时自动使用适当的时间序列或表格可视化来呈现您的数据。在仪表板中的查询编辑器中,用户可以控制如何可视化数据。
要了解更多信息,请参阅 Grafana 文档时间序列格式。
变量和宏
此插件支持自定义变量和全局变量,以简化查询编写。例如,如果您将自定义变量设置为 $tableName
,则可以在多个表格的仪表板中使用相同的查询
select * from $tableName limit 3;
{{< admonition type="note" }} 变量不适用于 Grafana 告警。 {{ /admonition >}}
此插件还支持来自 sql util 库的宏,例如 $__timeFrom
和 $__timeTo
。例如
select * from test_table where $__timeFrom(recorded_at) and $__timeTo(recorded_at)
如果您对 aurora 数据源独有的宏有任何建议,请随时联系客户支持。
Grafana Cloud Free(Grafana Cloud 免费版)
- 免费层级:限 3 个用户
- 付费计划:超出包含使用量后,每用户每月 55 美元
- 访问所有企业版插件
- 完全托管服务(不适用于自托管)
Grafana Cloud Free(Grafana Cloud 免费版)
- 免费层级:限 3 个用户
- 付费计划:超出包含使用量后,每用户每月 55 美元
- 访问所有企业版插件
- 完全托管服务(不适用于自托管)
Grafana Cloud Free(Grafana Cloud 免费版)
- 免费层级:限 3 个用户
- 付费计划:超出包含使用量后,每用户每月 55 美元
- 访问所有企业版插件
- 完全托管服务(不适用于自托管)
Grafana Cloud Free(Grafana Cloud 免费版)
- 免费层级:限 3 个用户
- 付费计划:超出包含使用量后,每用户每月 55 美元
- 访问所有企业版插件
- 完全托管服务(不适用于自托管)
Grafana Cloud Free(Grafana Cloud 免费版)
- 免费层级:限 3 个用户
- 付费计划:超出包含使用量后,每用户每月 55 美元
- 访问所有企业版插件
- 完全托管服务(不适用于自托管)
在 Grafana Cloud 上安装 Amazon Aurora
在 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 工具从命令行安装 Amazon Aurora
grafana-cli plugins install
插件将安装到您的 grafana 插件目录中;默认目录为 /var/lib/grafana/plugins。有关 cli 工具的更多信息。
2. 配置数据源
从 Grafana 主菜单访问,可以在“数据源”部分立即添加新安装的数据源。
接下来,单击右上角的“添加数据源”按钮。数据源将在“类型”选择框中可用。
要查看已安装数据源的列表,请单击主菜单中的“插件”项。核心数据源和已安装的数据源都将出现。
变更日志
0.4.1
- 在 #119 中将 github.com/grafana/grafana-plugin-sdk-go 更新到 v0.265.0
0.4.0
- 在 #102 中添加 PDC 支持
0.3.1
- 在 #104 中更新包含 12 个更新的 all-node-dependencies 组
- 在 #103 中更新包含 6 个更新的 all-go-dependencies 组
- 在 #100 中更新包含 31 个更新的 1 个目录中的 all-node-dependencies 组
- 在 npm_and_yarn 组中将 nanoid 从 3.3.7 更新到 3.3.8,位于 #93
- 在 #101 中更新包含 8 个更新的 1 个目录中的 all-go-dependencies 组
0.3.0
- 在 #65 中合并泄露连接修复
- Chore:在 #69 中更新 dependabot 配置
- Chore:在 #66 中添加 plugin.json 关键字
- 在 #89 中改进查询编辑器样式
- Dependabot 更新,位于 #88, #87, #85, #75, #74, #73, #72, #67
- @babel/core 从 7.24.9 更新到 7.26.0
- @emotion/css 从 11.10.6 更新到 11.13.5
- @grafana/aws-sdk 从 0.3.5 更新到 0.5.0
- @grafana/data 从 10.4.6 更新到 11.3.1
- @grafana/eslint-config 从 7.0.0 更新到 8.0.0
- @grafana/experimental 从 1.7.13 更新到 2.1.4
- @grafana/plugin-e2e 从 1.9.0 更新到 1.12.3
- @grafana/runtime 从 10.4.6 更新到 11.3.1
- @grafana/schema 从 10.4.6 更新到 11.3.1
- @grafana/tsconfig 从 1.2.0-rc1 更新到 2.0.0
- @grafana/ui 从 10.4.6 更新到 11.3.1
- @playwright/test 从 1.45.3 更新到 1.49.0
- @swc/core 从 1.7.3 更新到 1.9.3
- @swc/helpers 从 0.5.12 更新到 0.5.15
- @swc/jest 从 0.2.36 更新到 0.2.37
- @testing-library/jest-dom 从 6.1.4 更新到 6.6.3
- @testing-library/react 从 14.0.0 更新到 16.0.1
- @types/jest 从 29.5.12 更新到 29.5.14
- @types/lodash 从 4.17.7 更新到 4.17.10
- @types/node 从 20.14.13 更新到 22.10.1
- @types/testing-library__jest-dom 从 5.14.8 更新到 6.0.0
- aws/aws-sdk-go-v2 从 1.30.0 更新到 1.32.6
- aws/aws-sdk-go-v2/config 从 1.26.6 更新到 1.28.6
- aws/aws-sdk-go-v2/credentials 从 1.16.16 更新到 1.17.47
- aws/aws-sdk-go-v2/feature/rds/auth 从 1.3.10 更新到 1.5.0
- aws/aws-sdk-go-v2/service/sts 从 1.26.7 更新到 1.33.2
- copy-webpack-plugin 从 11.0.0 更新到 12.0.2
- cross-spawn 从 7.0.3 更新到 7.0.6
- cspell 从 8.12.1 更新到 8.16.1
- css-loader 从 6.11.0 更新到 7.1.2
- eslint-plugin-deprecation 从 2.0.0 更新到 3.0.0
- fork-ts-checker-webpack-plugin 从 8.0.0 更新到 9.0.2
- glob 从 10.4.5 更新到 11.0.0
- grafana/grafana-aws-sdk 从 0.31.2 更新到 0.31.4
- grafana/grafana-plugin-sdk-go 从 0.252.0 更新到 0.258.0
- grafana/sqlds/v4 从 4.1.3-0.20241001145423-0b49f1269922 更新到 4.1.4
- prettier 从 2.8.8 更新到 3.4.1
- react 从 18.2.0 更新到 18.3.1
- react-dom 从 18.2.0 更新到 18.3.1
- sass 从 1.63.2 更新到 1.81.0
- sass-loader 从 13.3.1 更新到 16.0.3
- style-loader 从 3.3.3 更新到 4.0.0
- tslib 从 2.5.3 更新到 2.8.1
- typescript 从 4.8.4 更新到 5.7.2
- webpack 从 5.93.0 更新到 5.96.1
- 在 npm_and_yarn 组中将 micromatch 从 4.0.7 更新到 4.0.8
- 在 npm_and_yarn 组中将 path-to-regexp 从 1.8.0 更新到 1.9.0
0.2.4
0.2.3
- 添加 errorsource,更新依赖项 (#60)
- 将 grafana-plugin-sdk-go 更新到 0.250.2 (#61)
- 将 grafana-aws-sdk 更新到 0.31.2 (#61)
0.2.2
- 修复文档语法
0.2.1
- 更新 plugin.json 数据源名称以遵循约定
- 更新 README 和文档以进行样式设置并遵循名称约定
- 更新发布流程文档
0.2.0
- 初始公开预览版本
0.1.11(开发版本)
- 对图像使用绝对路径
0.1.10(开发版本)
- 更新依赖项
0.1.9(开发版本)
- 添加文档
0.1.8(面向测试客户的私有版本)
- 添加对表格与时间序列格式下拉列表的支持
0.1.7(面向测试客户的私有版本)
- 添加对 mysql 的支持并修复 postgres 转换器的问题
0.1.6(面向测试客户的私有版本)
- 添加对用于生成身份验证令牌的单独端口的支持
0.1.5(面向测试客户的私有版本)
- 添加对变量/宏的支持
0.1.4(面向测试客户的私有版本)
- 支持承担具有特定端点的角色
- 更新 plugin-e2e
0.1.3(面向测试客户的私有版本)
- 移除日志行
0.1.2(面向测试客户的私有版本)
- 为生成身份验证令牌添加额外的 host 选项
0.1.1(面向测试客户的私有版本)
- 添加承担角色的支持
- 添加新的配置编辑器页面
- 临时添加日志行以进行更好的调试
0.1.0(面向测试客户的私有版本)
初始 Beta 版本。