背景描述:
利用 CloudWatch Logs,可以对日志数据进行实时分析并使用 CloudWatch 创建警报和查看指标。您可以使用 CloudWatch Logs 在高持久性存储中存储日志记录。
环境描述:
一台RDS数据库 MySQL 8.0.36
操作步骤:
第一步:修改参数组
(注意:参数组要自己创建出来的自定义参数组,默认的参数组是不支持修改。数据库更换参数组是要重启的)
进到RDS控制台在左侧导航栏找到参数组,选中参数组点击操作下拉框中编辑
可通过使用下面列表中的参数来控制 RDS for MySQL 日志记录:
slow_query_log:要创建慢速查询日志,请设置为 1。默认值为 0。
general_log:要创建一般日志,请设置为 1。默认值是 0。
long_query_time:要防止在慢速查询日志中记录快速运行的查询,请指定需要记录的最短查询运行时间值,以秒为单位。默认值为 10 秒;最小值为 0。如果 log_output = FILE,则可以指定精确到微秒的浮点值。如果 log_output = TABLE,则必须指定精确到秒的整数值。系统只记录运行时间超过 long_query_time 值的查询。例如,将 long_query_time 设置为 0.1 可防止记录任何运行时间少于 100 毫秒的查询。
log_queries_not_using_indexes:要将所有不使用索引的查询记录到慢速查询日志,请设置为 1。将记录不使用索引的查询,即使它们的运行时间小于 long_query_time 参数的值。默认值是 0。
log_output option:您可为 log_output 参数指定下列选项之一。
TABLE (默认)— 将一般查询写入 mysql.general_log 表,将慢速查询写入 mysql.slow_log 表。
FILE– 将一般查询日志和慢速查询日志写入文件系统。
NONE– 禁用日志记录。
更多信息参考官方文档RDS for MySQL 数据库日志概览 - Amazon Relational Database Service
我们这里修改以下参数
存储日志到文件:log_output = FILE
开启常规日志: general_log = 1
开启慢查询日志:slow_query_log = 1
long_query_time = 3(记录超过3秒的查询)#这个改了要重启实例
log_queries_not_using_indexes = 1 (记录未使用索引的查询)
#开启performance_schema:performance_schema = 1
#RDS参数组没有默认打开performance_schema,建议打开。
第二步:修改数据库开启日志导出
划到最下面看到日志导出将需要的勾选上(审核日志需要具有MARIADB_AUDIT_PLUGIN的参数组)
第三步:验证启用效果
进入到RDS的详细页面点击配置,在已发布日志那里可以看日志点击可以看记录(注意如果数据库实例参数组出现等待重启意味着参数组要在重启后生效,因为修改了long_query_time这个参数)