首页 > 解决方案 > 您可以让 CloudWatch 指标筛选器查看模式在单个事件中显示的次数吗?

问题描述

我们正在使用pandas在我们的 python Lambda 代码中读取 CSV。我们对其进行了设置,以便它发出警告并跳过错误行而不是出错 - 这是代码:

    dataframe = pandas.read_csv(
        filepath_or_buffer=our_filepath_here,
        error_bad_lines=False,
        warn_bad_lines=True
    )

这是部分工作 - 它正在输出警告并仍然通过跳过坏行成功处理文件。但是,现在我正在尝试为此添加一个度量过滤器,以便我们可以度量我们看到的坏行的数量。

我打算使用这个计算日志事件的例子。但是,看起来这只会计算具有匹配模式的日志事件的数量,但是我们使用的库以一种丑陋的方式将所有失败放在同一个事件中,就像 Lambda 日志中这样:

2020-10-15T13:43:23.943-07:00   START RequestId: 14f054bb-aa9e-4a86-be87-fb46087a7b43 Version: $LATEST

2020-10-15T13:43:24.189-07:00   b'Skipping line 7: expected 17 fields, saw 20\nSkipping line 11: expected 17 fields, saw 20\n'

2020-10-15T13:43:24.705-07:00   END RequestId: 14f054bb-aa9e-4a86-be87-fb46087a7b43

理想情况下,我们希望它们位于单独的日志条目/行上,但如果没有,如果我们不能将它们拆分,是否至少有一种方法可以检测模式出现在同一行上的次数?到目前为止,我还没有找到任何支持这种例子的东西。例如,此示例重复计算某个术语的出现次数,但它计算的是包含该术语的事件的数量,而不是单个事件中出现的次数。

标签: pandasaws-lambdaamazon-cloudwatchlogs

解决方案


推荐阅读