amazon-cloudwatch - Cloudwatch 洞察查询按字段分组
问题描述
尝试编写云观察洞察查询以连接相同时间戳的错误消息,以在结果中显示为一行而不是多行。
到目前为止,我已经尝试了以下查询。
fields @timestamp,concat(@message)
| filter @message like /(?i)(Exception|error|fail|)/
| limit 20
这显示结果如下。
2019-09-12T12:17:09.803+10:00 12:17:09,720 |-ERROR in A
2019-09-12T12:17:09.803+10:00 12:17:09,720 |-ERROR in B
2019-09-12T12:17:09.803+10:00 12:17:09,720 |-ERROR in C
我期待以下结果。
2019-09-12T12:17:09.803+10:00 12:17:09,720 |- A 中的错误 -B 中的错误 -C 中的错误
解决方案
concat
运算符不是聚合函数,因此不会执行您要查找的操作。
相反,它用于在单行中连接多个值,例如
fields @timestamp, concat("Got message ", @message, " from stream ", @logStream)
会给你
| 2019-09-12T12:17:09.803+10:00 12:17:09,720 | Got message bla from stream some_log_stream |
据我所知,没有办法将多行中的字符串聚合到一行中。
推荐阅读
- javascript - 无法从网站多次请求
- java - 骑士在爪哇的岩石之旅
- javascript - 如何在 NextJS 中添加自定义脚本包
- sql - 将具有相同 ID 但多列的“是”/“否”值不同的多行组合成一行,显示所有“是”/“否”值
- c++ - 用于多维张量的 TensorflowLite C API 输入缓冲区布局
- django - 如何为这个模型制作一个表单,让用户能够为每个问题选择选项 - Django
- r - 在跳过缺失值的同时计算数字序列
- python - Django中的持久连接?
- java - 为什么我收到错误“无法解析“x”中的方法“x””?
- sas - 在 SAS 中动态连接变量