View a markdown version of this page

지표 필터 예제 - Amazon Route 53

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

지표 필터 예제

이 섹션에는 Route 53 Global Resolver DNS 쿼리 로그에 대한 예제 지표 필터 패턴과 Amazon CloudWatch Logs Insights 쿼리가 포함되어 있습니다.

Global Resolver에서 차단한 쿼리

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "BlockedQueriesByGlobalResolverId", "filterPattern": "{ $.disposition = \"Blocked\" }", "metricTransformations": [ { "metricName": "BlockedQueriesByGlobalResolverId", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "GlobalResolverId": "$.enrichments[0].value" } } ] }

액세스 소스에서 허용되는 쿼리

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "AllowedQueriesByAccessSourceCidr", "filterPattern": "{ $.disposition = \"Allowed\" }", "metricTransformations": [ { "metricName": "AllowedQueriesByAccessSourceCidr", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "AccessSourceCidr": "$.enrichments[0].data.access_source_cidr" } } ] }

액세스 토큰별 알림 쿼리

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "AlertQueriesByAccessTokenId", "filterPattern": "{ $.disposition = \"Alert\" }", "metricTransformations": [ { "metricName": "AlertQueriesByAccessTokenId", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "AccessTokenId": "$.enrichments[0].data.token_id" } } ] }

DNS 보기별 총 쿼리 수

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "TotalQueriesByDNSViewId", "filterPattern": "{ $.query_time = * }", "metricTransformations": [ { "metricName": "TotalQueriesByDNSViewId", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "DNSViewId": "$.enrichments[0].data.dns_view_id" } } ] }

Global Resolver의 SERVFAIL

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "ServfailQueriesByGlobalResolverId", "filterPattern": "{ $.rcode = \"SERVFAIL\" }", "metricTransformations": [ { "metricName": "ServfailQueriesByGlobalResolverId", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "GlobalResolverId": "$.enrichments[0].value" } } ] }

액세스 소스에서 거부됨

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "RefusedQueriesByAccessSourceCidr", "filterPattern": "{ $.rcode = \"REFUSED\" }", "metricTransformations": [ { "metricName": "RefusedQueriesByAccessSourceCidr", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "AccessSourceCidr": "$.enrichments[0].data.access_source_cidr" } } ] }

액세스 토큰별 NXDOMAIN

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "NxdomainQueriesByAccessTokenId", "filterPattern": "{ $.rcode = \"NXDOMAIN\" }", "metricTransformations": [ { "metricName": "NxdomainQueriesByAccessTokenId", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "AccessTokenId": "$.enrichments[0].data.token_id" } } ] }

DNS 보기별 NOERROR

{ "logGroupName": "/aws/vendedlogs/route53globalresolver/global-resolver/GLOBAL_RESOLVER_LOGS/gr-<resolverId>", "filterName": "NoerrorQueriesByDNSViewId", "filterPattern": "{ $.rcode = \"NOERROR\" }", "metricTransformations": [ { "metricName": "NoerrorQueriesByDNSViewId", "metricNamespace": "Route53GlobalResolver", "metricValue": "1", "dimensions": { "DNSViewId": "$.enrichments[0].data.dns_view_id" } } ] }

P90 응답 시간에 대한 Amazon CloudWatch Logs Insights 쿼리

Global Resolver별 P90 응답 시간

fields @timestamp, enrichments.0.value as GlobalResolverId, (response_time - query_time) as ResponseTime | filter ispresent(response_time) and ispresent(query_time) | stats pct(ResponseTime, 90) as P90ResponseTime by GlobalResolverId

액세스 토큰별 토큰 만료까지의 일수

fields @timestamp, enrichments.0.data.token_id as AccessTokenId, enrichments.0.data.token_ttl_days as DaysUntilExpiry | filter ispresent(enrichments.0.data.token_ttl_days) | stats latest(DaysUntilExpiry) by AccessTokenId