【问题标题】:Exporting Cloudwatch logs in original format以原始格式导出 Cloudwatch 日志
【发布时间】:2019-07-02 14:38:28
【问题描述】:

我正在寻找一种将 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 命令运行命令并在本地处理每一行是不可行的。有什么已知的方法可以做我想做的事吗?

谢谢

【问题讨论】:

    标签: amazon-cloudwatch amazon-cloudwatchlogs


    【解决方案1】:

    当您将日志推送到 CloudWatch 时,会自动添加时间戳。 CloudWatch 中存在的所有日志事件都有时间戳。

    您可以为 Kinesis Firehose 创建订阅过滤器,并在 Kinesis 上使用 lambda 函数格式化日志事件(删除时间戳),然后将日志存储在 S3 中。

    https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-06
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      相关资源
      最近更新 更多