首页 > 解决方案 > 使用 boto3 过滤 cloudwatch 日志组

问题描述

有没有办法使用 boto3 从下面的示例日志中提取状态代码?它们都属于一个 cloudwatch 日志组。我能够查询其中任何一个,但不能同时查询。你能帮助我吗?

2020-04-28 16:45:11,466-elasticsearch-信息-获取http://0.0.0.0:9200/sampledata/_search [状态:200 请求:0.004s]

2020-04-28 16:45:11,186 - werkzeug - INFO - 0.0.0.0 - - [28/Apr/2020 16:45:11]“POST /v1/savesampledata HTTP/1.1”200 -

谢谢。

标签: aws-lambdaboto3amazon-cloudwatchamazon-cloudwatchlogsaws-cloudwatch-log-insights

解决方案


我认为您正在寻找以下 Logs Insights 查询:

解析 @message /status:(?\d{3}/ | 解析 @message /" (?\d{3}/ | fields coalesce(status1, status2) 作为状态

如果您有机会,请考虑将 JSON 键/值对发送到 CloudWatch Logs。查询时它会让您的生活更轻松,因为这些字段会自动为您发现和提取。

例如,给定这样的日志事件: { "method": "POST", "status": 200 }

您的查询将只是:

字段状态


推荐阅读