CloudWatch LogInsight 에서 GroupBy 문을 사용하여 Count 를 할 수 있다.
예제 데이터와 쿼리문은 아래와 같다.
Example Data From CloudWatch
{
"timestamp": 1670839795503,
"rule": [
{
"ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet",
"terminatingRule": null,
"nonTerminatingMatchingRules": [
{
"ruleId": "SizeRestrictions_BODY",
"action": "COUNT",
"overriddenAction": "BLOCK",
"ruleMatchDetails": []
}
],
}
],
"uri": "/my/api",
"args": "",
}
Example LogInsight Query
fields @timestamp, @message
| filter rule.0.nonTerminatingMatchingRules.0.ruleId = "SizeRestrictions_BODY"
| stats count(*) as uriCount by uri
| sort uriCount desc
결과는 아래와 같다.