本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
数据库日志
MySQL 和 MariaDB 数据库生成日志,您可以访问这些日志进行审计和故障排除。这些日志是:
作为最佳实践,你应该将数据库日志从亚马逊 RDS 发布到亚马逊CloudWatch日志。和CloudWatch日志,您可以对日志数据进行实时分析,将数据存储在高度耐用的存储器中,并使用日志管理数据CloudWatch日志代理。你可以访问和监视您的数据库日志来自亚马逊 RDS 控制台。你也可以使用CloudWatchLogs Insights 可交互式搜索和分析您的日志数据CloudWatch日志。以下示例说明了对审计日志的查询,该查询检查了多少次CONNECT
事件出现在日志中,连接了谁以及从哪个客户端(IP 地址)连接。审核日志的摘录可能如下所示:
20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,CONNECT,,,0,SOCKET 20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,DISCONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,CONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,DISCONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,CONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,DISCONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,CONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,DISCONNECT,,,0,SOCKET
Log Insights 查询示例显示rdsadmin
从以下地址连接到数据库localhost
每 5 分钟一次,共计 22 次,如下图所示。这些结果表明,该活动源自内部 Amazon RDS 进程,例如监控系统本身。
![日志见解报告](images/log-insights.png)
日志事件通常包含您想要计算的重要消息,例如与 MySQL 和 MariaDB 数据库实例相关的操作的警告或错误。例如,如果操作失败,则可能会出现错误并按如下方式记录到错误日志文件中:ERROR 1114 (HY000): The table zip_codes is full
。您可能需要监控这些条目以了解错误的趋势。你可以创建自定义CloudWatch使用筛选器来自 Amazon RDS 日志的指标启用对 Amazon RDS 数据库日志的自动监控,以监控特定日志中的特定模式,并在出现违反预期行为时生成警报。例如,为日志组创建指标筛选器/aws/rds/instance/database-1/error
这将监视错误日志并搜索特定模式,比如ERROR
。设置过滤器图案到ERROR
和指标值到1
。过滤器将检测包含关键字的每条日志记录ERROR
,它会将每个包含 “ERROR” 的日志事件的计数增加 1。创建过滤器后,您可以设置警报,以便在 MySQL 或 MariaDB 错误日志中检测到错误时通知您。
要了解有关通过创建监控慢速查询日志和错误日志的更多信息CloudWatch仪表板和使用CloudWatchLogs Insights,请参阅博客文章创建亚马逊CloudWatch监控亚马逊 RDS 和亚马逊 Aurora MySQL 的仪表