aws-lambda - 使用 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 -
谢谢。
解决方案
我认为您正在寻找以下 Logs Insights 查询:
解析 @message /status:(?\d{3}/ | 解析 @message /" (?\d{3}/ | fields coalesce(status1, status2) 作为状态
如果您有机会,请考虑将 JSON 键/值对发送到 CloudWatch Logs。查询时它会让您的生活更轻松,因为这些字段会自动为您发现和提取。
例如,给定这样的日志事件: { "method": "POST", "status": 200 }
您的查询将只是:
字段状态
推荐阅读
- java - 从同一个类构造的多个单独的对象
- laravel - Laravel 逆一对多关系
- javascript - 为什么 webpack 更新后我无法启动我的 react 项目?
- java - 无法在 Maven 构建中写入清单文件
- python - 如何通过套接字python发送函数
- haskell - 如何将键/值对附加到在yesod的小村庄块中生成的url
- javascript - Javascript .onclick 不调用函数
- python - 如何通过 Git Bash (amazon-crawler) 安装这个 github 包
- kubernetes - 从 kubernetes pod 嗅探主机网络流量
- python - 比较 df 跨 3 列的行以找出它们是否都具有相同的字符串值并返回布尔答案?