You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行获取指定LogStream中最近30分钟的AWS CloudWatch日志

获取最近30分钟的AWS CloudWatch日志

1. 提取指定LogGroup最近30分钟的日志

使用AWS CLI的filter-log-events命令,结合时间范围参数筛选最近30分钟的日志。首先通过命令行生成UTC时区的毫秒级时间戳(CloudWatch要求时间戳以毫秒为单位):

# 计算30分钟前的UTC毫秒时间戳
START_TIME=$(date -u -d '-30 minutes' +%s000)
# 当前UTC时间的毫秒时间戳
END_TIME=$(date -u +%s000)

# 替换为你的LogGroup名称
aws logs filter-log-events \
    --log-group-name "/aws/ec2/instance-logs" \
    --start-time $START_TIME \
    --end-time $END_TIME

如果需要简化输出,只查看日志内容,可添加--query参数过滤字段:

aws logs filter-log-events \
    --log-group-name "/aws/ec2/instance-logs" \
    --start-time $START_TIME \
    --end-time $END_TIME \
    --query 'events[*].message' \
    --output text

2. 提取指定LogStream最近30分钟的新增日志

在上述命令基础上,添加--log-stream-names参数指定目标LogStream(支持多个流,空格分隔):

START_TIME=$(date -u -d '-30 minutes' +%s000)
END_TIME=$(date -u +%s000)

# 替换为你的LogGroup和LogStream名称
aws logs filter-log-events \
    --log-group-name "/aws/ec2/instance-logs" \
    --log-stream-names "i-1234567890abcdef0-logs" "i-0987654321fedcba0-logs" \
    --start-time $START_TIME \
    --end-time $END_TIME

关键说明

  • 确保AWS CLI已配置有效凭证(通过aws configure完成配置),且当前用户拥有logs:FilterLogEvents权限。
  • 时间参数必须使用UTC时区,date -u命令确保生成正确的UTC时间戳,避免时区差异导致日志范围错误。
  • 若返回结果过多,可使用--limit <数量>限制单次返回条数,或通过--next-token参数分页获取剩余日志。

内容的提问来源于stack exchange,提问作者kkkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:30:52