Amazon RDS/Aurora 日志
您可以将数据库实例日志发布到 Amazon CloudWatch Logs。 然后,您可以对日志数据进行实时分析,将数据存储在高度耐用的存储中,并使用 CloudWatch Logs 代理管理数据。
前提条件
确保您的数据库日志已启用。 某些数据库日志默认未启用,您需要更新数据库参数以启用日志。
请参阅如何为 Amazon RDS MySQL 数据库实例启用和监控日志? 了解如何将日志输出到 CloudWatch 日志。
下表列出了 RDS/Aurora MySQL 参数的要求。
| 参数 | 要求 | 
|---|---|
| Audit Log | 数据库实例必须使用带有 MARIADB_AUDIT_PLUGIN选项的自定义选项组。 | 
| General log | 数据库实例必须使用参数设置为 general_log = 1的自定义参数组来启用通用日志。 | 
| Slow query log | 数据库实例必须使用参数设置为 slow_query_log = 1的自定义参数组来启用慢查询日志。 | 
| Log output | 数据库实例必须使用参数设置为 log_output = FILE的自定义参数组将日志写入文件系统并将它们发布到 CloudWatch Logs。 | 
创建日志摄取
您可以使用日志通 控制台或通过部署独立的 CloudFormation 堆栈来将日志摄取到 Amazon OpenSearch Service 中。
重要
- RDS 和 CloudWatch 必须与日志通位于同一区域。
- 默认情况下,该解决方案将每天轮换索引。您可以在额外设置中进行调整。
使用日志通控制台
- 登录日志通控制台。
- 在导航窗格中的 日志分析管道,选择 AWS 服务日志。
- 选择创建日志摄取按钮。
- 在 AWS 服务 部分,选择 Amazon RDS。
- 选择下一步。
- 在 指定设置,为 RDS 日志启用选择 自动 或 手动。自动模式将自动检测您的 RDS 日志配置,并从 CloudWatch 摄取日志。- 对于自动模式,从下拉列表中选择 RDS 集群。
- 对于手动模式,输入数据库标识符,选择数据库类型并在日志类型和位置中输入 CloudWatch 日志位置。
- (可选步骤) 如果需要跨账户摄取日志,需要先在 账户 的下拉列表中选择一个链接的 AWS 账户。
 
- 选择下一步。
- 在 指定 OpenSearch 域 部分,为 Amazon OpenSearch 域 选择一个导入的域。
- 如果您要摄取关联的模板化 Amazon OpenSearch Service 仪表板,请为 示例仪表板 选择 是。
- 如果需要,您可以更改目标 Amazon OpenSearch Service 索引的 索引前缀。默认前缀是数据库标识符。
- 在 日志生命周期 部分,输入管理 Amazon OpenSearch Service 索引生命周期的天数。日志通 将为此管道自动创建关联的 索引状态管理 (ISM) 策略。
- 在 日志处理器设置 中,选择 日志处理器类型,并根据需要配置 Lambda 并发数,然后 下一步。
- 如果需要,添加标签。
- 选择创建。
使用 CloudFormation 堆栈
此自动化 AWS CloudFormation 模板在 AWS 云中部署 日志通- RDS Log Ingestion 解决方案
| 在 AWS 控制台中启动 | 下载模板 | |
|---|---|---|
| AWS 海外区域 |  | 模板 | 
| AWS 中国区域 |  | 模板 | 
- 
登录 AWS 管理控制台并选择按钮以启动 AWS CloudFormation 模板。 您还可以下载模板开始部署。 
- 
要在不同的 AWS 区域中启动日志通,请使用控制台导航栏中的区域选择器。 
- 
在 创建堆栈 页面上,验证正确的模板 URL 显示在 Amazon S3 URL 文本框中,然后选择 下一步。 
- 
在 指定堆栈详细信息 页面上,为您的解决方案堆栈分配一个名称。 
- 
在 参数 下,查看模板的参数并根据需要进行修改。 此解决方案使用以下默认值。 
| 参数 | 默认值 | 描述 | 
|---|---|---|
| Log Bucket Name | <需要输入> | 用于导出 CloudWatch Logs 的日志桶。 | 
| Log Bucket Prefix | <需要输入> | 存储日志的 S3 存储桶路径前缀。 | 
| Log Source Account ID | <可选输入> | CloudWatch 日志组所在账户 ID. 对于跨账户日志摄取是必填 (需要先 链接一个账户). 默认情况下, 会使用您在 步骤 1 中登录的账户 ID。 | 
| Log Source Region | <可选输入> | CloudWatch 日志组所在的区域. 默认情况下, 会使用您在 步骤 2 中指定的区域。 | 
| Log Source Account Assume Role | <可选输入> | 跨账户日志摄取所需要使用的 IAM Role. 对于跨账户日志摄取是必填 (需要先 链接一个账户)。 | 
| KMS-CMK ARN | <可选输入> | 用于加密 SQS 的 KMS-CMK ARN。留空以创建新的 KMS CMK。 | 
| Enable OpenSearch Ingestion as processor | <可选输入> | Ingestion 表 Arn。如果不使用 OSI 作为处理器,请留空。 | 
| Log Group Names | <需要输入> | 日志的 CloudWatch 日志组的名称。 | 
| S3 Backup Bucket | <需要输入> | 用于存储失败提取日志的 S3 备份存储桶名称。 | 
| Engine Type | OpenSearch | OpenSearch 的引擎类型。选择 OpenSearch 或 Elasticsearch。 | 
| OpenSearch Domain Name | <需要输入> | Amazon OpenSearch 集群的域名。 | 
| OpenSearch Endpoint | <需要输入> | OpenSearch 端点 URL。例如, vpc-your_opensearch_domain_name-xcvgw6uu2o6zafsiefxubwuohe.us-east-1.es.amazonaws.com。 | 
| Index Prefix | <需要输入> | 日志的 OpenSearch 索引的公共前缀。索引名称将为 <Index Prefix>-<log-type>-<YYYY-MM-DD>。 | 
| Create Sample Dashboard | Yes | 是否创建示例 OpenSearch 仪表板。 | 
| VPC ID | <需要输入> | 选择可以访问 OpenSearch 域的 VPC。日志处理 Lambda 将驻留在选定的 VPC 中。 | 
| Subnet IDs | <需要输入> | 选择至少两个可以访问 OpenSearch 域的子网。日志处理 Lambda 将驻留在子网中。确保子网可以访问 Amazon S3 服务。 | 
| Security Group ID | <需要输入> | 选择将与日志处理 Lambda 关联的安全组。确保安全组有权访问 OpenSearch 域。 | 
| Number Of Shards | 5 | 将索引均匀分布在所有数据节点上的分片数。将每个分片的大小保持在 10-50 GiB 之间。 | 
| Number of Replicas | 1 | OpenSearch 索引的副本数。每个副本都是索引的完整副本。如果 OpenSearch 选项设置为 带备用的域,你需要将其配置为 2。 | 
| Age to Warm Storage | <可选输入> | 将索引移至温存储所需的时间(例如 7d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。仅当 OpenSearch 中启用了温存储时才生效。 | 
| Age to Cold Storage | <可选输入> | 将索引移入冷存储所需的时间(例如 30d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。仅当 OpenSearch 中启用了冷存储时才生效。 | 
| Age to Retain | <可选输入> | 保留索引的时间(例如 180d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。如果值为空,则不会删除该索引。 | 
| Rollover Index Size | <可选输入> | 索引滚动所需的分片大小(例如 30GB)。 | 
| Index Suffix | yyyy-MM-dd | 索引后缀格式(例如:yyyy-MM-dd、yyyy-MM-dd-HH)。索引名称将为 <Index Prefix>-<Log Type>-<Index Suffix>-000001。 | 
| Compression type | best_compression | 用于压缩存储数据的压缩类型。 可用值为 best_compression 和 default。 | 
| Refresh Interval | 1s | 索引多久刷新,即刷新索引最近的更改数据并使它们可用于搜索。 可以设置为 -1 以禁用刷新。 默认为 1 秒。 | 
| EnableS3Notification | True | 一个二进制选项,用于启用或禁用针对 Amazon S3 存储桶的通知。大多数情况下,建议使用默认选项。 | 
| LogProcessorRoleName | <可选> | 为日志处理器指定一个角色名称。该名称不能与现有角色名称重复。如果没有指定名称,将生成一个随机名称。可选参数,不是必填项。 | 
| QueueName | <可选> | 为 SQS 指定一个队列名称。该名称不能与现有角色名称重复。如果没有指定名称,将生成一个随机名称。可选参数,不是必填项。 | 
- 
选择下一步。 
- 
在 配置堆栈选项 页面上,选择 下一步。 
- 
在 审核 页面上,查看并确认设置。 选中确认模板创建 AWS Identity and Access Management (IAM) 资源的复选框。 
- 
选择创建堆栈 部署堆栈。 
您可以在 AWS CloudFormation 控制台的 状态 列中查看堆栈的状态。 正常情况下,您大约 15 分钟后会看到 CREATE_COMPLETE 状态。**
查看仪表板
该仪表板包括以下可视化图表。
| Visualization Name | Source Field | Description | 
|---|---|---|
| Controller | 
 | 此可视化允许用户根据“db-identifier”和“sq-table-name”字段进行数据筛选。 | 
| Total Log Events Overview | 
 | 此可视化呈现了指定数据库(“db-identifier”)的总日志事件概览。它有助于监控各种日志事件的发生频率。 | 
| Slow Query History | 
 | 此可视化显示了慢查询日志事件的历史数据。它可以帮助跟踪慢查询的发生次数并识别潜在的性能问题。 | 
| Average Slow Query Time History | 
 | 此可视化显示了慢查询的平均持续时间(“sq-duration”)的历史趋势。它有助于了解数据库随时间的性能情况,并识别与慢查询持续时间相关的趋势。 | 
| Total Slow Queries | 
 | 此可视化提供了日志事件中慢查询总数。它可以立即查看在特定时间段内发生了多少个慢查询,这有助于评估数据库的性能和潜在的瓶颈。 | 
| Average Slow Query Duration | 
 | 此可视化显示了慢查询的平均持续时间(“sq-duration”)随时间的变化。它对于了解数据库中慢查询的典型性能非常有价值。 | 
| Top Slow Query IP | 
 | 此可视化突出显示了与最慢查询相关的 IP 地址(“sq-ip”)及其相应的持续时间(“sq-duration”)。它有助于识别慢查询的来源并确定优化的潜在领域。 | 
| Slow Query Scatter Plot | 
 | 此散点图可视化表示慢查询持续时间(“sq-duration”)、源 IP 地址(“sq-ip”)以及实际查询内容(“sq-query”)之间的关系。它有助于理解查询性能模式,并识别特定查询及其来源的潜在问题。 | 
| Slow Query Pie | 
 | 此饼图可视化显示了基于查询内容(“sq-query”)的慢查询分布。它提供了引起性能问题的查询类型的概览,使您可以专注于优化特定的查询模式。 | 
| Slow Query Table Name Pie | 
 | 此饼图可视化显示了基于访问的表名(“sq-table-name”)的慢查询分布。它有助于识别哪些表受到慢查询的影响,从而可以有针对性地优化特定表。 | 
| Top Slow Query | 
 | 此可视化呈现了基于查询内容(“sq-query”)的最慢单个查询。它有助于精确定位对性能产生 |