M.B*_*eas 6 amazon-web-services amazon-cloudwatch aws-sdk
使用AWS一段时间后,我发现我的cloudwatch充满了过时的日志,有没有办法按日期删除所有日志组和流?这样我就可以清除所有往年的日志。
小智 9
虽然您可以像 @DominikHelps 所说的那样设置流的保留期,但这只会删除消息;它不会删除流本身。
您可以使用 CLI 查找日志组的流及其创建时间:
aws logs describe-log-streams --log-group-name Example --output text --query 'logStreams[*].[creationTime,logStreamName]' | sort -rn
Run Code Online (Sandbox Code Playgroud)
这将为您提供如下所示的输出:
1544374120302 stream1
1544373223032 stream2
1544365017774 stream3
Run Code Online (Sandbox Code Playgroud)
这些数字是纪元时间戳,以毫秒为单位。您可以使用这样的工具将它们转换为人类可读的时间戳。然后,一旦确定了要删除的流,您就可以再次使用 CLI:
aws logs delete-log-stream --log-group-name Example --log-stream-name stream1
Run Code Online (Sandbox Code Playgroud)
从手动执行此操作到以 cronjob 执行此操作是一个相当简单的步骤。如果您不介意编程,请将其转换为由 CloudWatch Events 计划事件调用的 Lambda。
| 归档时间: |
|
| 查看次数: |
15280 次 |
| 最近记录: |