如何在Terraform中为AWS CloudWatch Log Insights配置相对时间戳过滤
实现CloudWatch Log Insights相对时间过滤的Terraform配置
CloudWatch Log Insights支持通过相对时间表达式动态过滤日志时间范围,完美适配你月度CRON任务的需求。你只需要在查询语句的filter子句中添加基于@timestamp的相对时间条件即可,无需硬编码绝对日期。
修改后的完整Terraform资源定义如下:
resource "aws_cloudwatch_query_definition" "audit_connections" { name = "audit_connections" log_group_names = ["/aws/rds/instance/stuff"] query_string = <<EOF fields @timestamp, @message | filter @message like /application_name/ and not (@message like /AUDIT/) | filter @timestamp >= ago(30d) EOF }
关键说明
ago(30d)是CloudWatch Log Insights的内置相对时间函数,表示从当前查询执行时间往前推30天,每次运行查询时都会自动计算时间范围- 你可以根据需求调整时间单位,比如
h(小时)、d(天)、w(周)等,例如ago(1w)表示筛选过去一周的日志
内容的提问来源于stack exchange,提问作者Nick McLaughlin
相关产品推荐
相关产品推荐

