我正在寻找一种将CW日志以其原始格式导出到s3的方法。我使用控制台从日志组中导出了价值一天的日志,并且似乎在每行上都添加了时间戳,这破坏了原始的JSON格式。我一直在寻找将其作为测试转换脚本的json文件导入到胶水中。导入到cloudwatch时,使用的原始数据被格式化为普通的json字符串,并正常处理其数据,如下所示:
{ "a": 123, "b": "456", "c": 789 }
导出并解压缩数据后,它看起来像
2019-06-28T00:00:00.099Z { "a": 123, "b": "456", "c": 789 }
由于它不再是标准格式,因此无法将行作为json字符串读取。
这次运行的数据集相当大(超过100GB),将来可能会更大,因此我认为运行CLI命令并在本地处理每一行是不可行的。有什么已知的方式可以做我想要做的事吗?
谢谢
将日志推送到CloudWatch时,会自动添加时间戳。CloudWatch中存在的所有日志事件都有时间戳。
您可以创建Kinesis Firehose的订阅过滤器,并在Kinesis上使用lambda函数创建日志事件(删除时间戳记),然后将日志存储在S3中。
https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句