

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 兼容 Aurora PostgreSQL 的日志集成 CloudWatch
<a name="cloudwatch-logs"></a>

Amazon Log CloudWatch s 是一项日志管理服务，用于收集、监控和分析各种日志。 AWS 服务您可以将兼容 Amazon Aurora PostgreSQL 的版本日志（包括错误日志、慢速查询日志和审核日志）流式传输到日志。 CloudWatch 您可以实时集中和监控数据库日志，从而更轻松地识别和排除问题。

您可以使用监控日志 AWS 管理控制台，也可以使用`log_fdw`扩展程序查询日志。该`log_fdw`扩展支持直接从数据库中查询和分析 PostgreSQL 日志文件。这可以帮助您深入了解数据库性能、解决问题并主动识别潜在问题。

要设置与 CloudWatch Logs 的`log_fdw`集成，请使用以下高级步骤：

1. 使用 PostgreSQL 客户端连接到与 Aurora PostgreSQL 兼容的集群，然后创建扩展模块：`log_fdw`

   ```
   CREATE EXTENSION log_fdw;
   ```

   此扩展提供连接 CloudWatch 日志的功能。

1. 创建一个名为的日志服务器`log_server`，该服务器指向存储 PostgreSQL 日志文件的目录。与 Aurora PostgreSQL 兼容的日志文件的默认位置是：`/rdsdbdata/log/`

   ```
   CREATE SERVER log_server FOREIGN DATA WRAPPER log_fdw OPTIONS (log_directory '/rdsdbdata/log/');
   ```

   [有关将兼容 Aurora PostgreSQL 的日志文件发布到 CloudWatch 日志的更多信息，请参阅文档。AWS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.CloudWatch.html)

1. 要列出可通过`log_fdw`扩展程序访问的所有可用日志文件，请运行以下查询：

   ```
   SELECT * FROM log_file_list('log_server');
   ```

1. 要创建映射到`log_table`该`postgres.log`文件的外部表，请运行以下命令：

   ```
   SELECT create_foreign_table_for_log_file('log_table', 'log_server', 'postgres.log');
   ```

   表列对应于 PostgreSQL 日志文件格式中存在的字段。

1. 现在，您可以像查询普通表一样查询日志数据，并根据您的要求筛选和分析日志条目：

   ```
   SELECT * FROM log_table
   ```

## 清理
<a name="cleanup"></a>

要清理创建的对象，包括删除`log_fdw`扩展、服务器和外部表，请运行以下命令：

```
DROP FOREIGN TABLE log_table;
DROP SERVER log_server; 
DROP EXTENSION log_fdw;
```