AWS 판매 로그용 기본 제공 프로세서 - Amazon CloudWatch Logs

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

AWS 판매 로그용 기본 제공 프로세서

이 섹션에는 로그를 제공하는 AWS 서비스와 함께 사용할 수 있는 내장 프로세서에 대한 정보가 포함되어 있습니다.

parseWAF

이 프로세서를 사용하여 AWS WAF 벤딩된 로그를 구문 분석합니다. 각 헤더 이름에서의 콘텐츠를 가져httpRequest.headers와서 해당 값과 함께 JSON 키를 생성합니다. 또한 labels에 대해서도 동일한 작업을 수행합니다. 이러한 변환을 통해 AWS WAF 로그를 훨씬 쉽게 쿼리할 수 있습니다. AWS WAF 로그 형식에 대한 자세한 내용은 웹 ACL 트래픽에 대한 로그 예제를 참조하세요.

이 프로세서는 @message만 입력으로 허용합니다.

중요

이 프로세서를 사용하는 경우 변환기의 첫 번째 프로세서여야 합니다.

예제

다음 예제 로그 이벤트를 살펴봅니다.

{ "timestamp": 1576280412771, "formatVersion": 1, "webaclId": "arn:aws:wafv2:ap-southeast-2:111122223333:regional/webacl/STMTest/1EXAMPLE-2ARN-3ARN-4ARN-123456EXAMPLE", "terminatingRuleId": "STMTest_SQLi_XSS", "terminatingRuleType": "REGULAR", "action": "BLOCK", "terminatingRuleMatchDetails": [ { "conditionType": "SQL_INJECTION", "sensitivityLevel": "HIGH", "location": "HEADER", "matchedData": ["10", "AND", "1"] } ], "httpSourceName": "-", "httpSourceId": "-", "ruleGroupList": [], "rateBasedRuleList": [], "nonTerminatingMatchingRules": [], "httpRequest": { "clientIp": "1.1.1.1", "country": "AU", "headers": [ { "name": "Host", "value": "localhost:1989" }, { "name": "User-Agent", "value": "curl/7.61.1" }, { "name": "Accept", "value": "*/*" }, { "name": "x-stm-test", "value": "10 AND 1=1" } ], "uri": "/myUri", "args": "", "httpVersion": "HTTP/1.1", "httpMethod": "GET", "requestId": "rid" }, "labels": [{ "name": "value" }] }

프로세서 구성은 다음과 같습니다.

[ { "parseWAF": {} } ]

변환된 로그 이벤트는 다음과 같습니다.

{ "httpRequest": { "headers": { "Host": "localhost:1989", "User-Agent": "curl/7.61.1", "Accept": "*/*", "x-stm-test": "10 AND 1=1" }, "clientIp": "1.1.1.1", "country": "AU", "uri": "/myUri", "args": "", "httpVersion": "HTTP/1.1", "httpMethod": "GET", "requestId": "rid" }, "labels": { "name": "value" }, "timestamp": 1576280412771, "formatVersion": 1, "webaclId": "arn:aws:wafv2:ap-southeast-2:111122223333:regional/webacl/STMTest/1EXAMPLE-2ARN-3ARN-4ARN-123456EXAMPLE", "terminatingRuleId": "STMTest_SQLi_XSS", "terminatingRuleType": "REGULAR", "action": "BLOCK", "terminatingRuleMatchDetails": [ { "conditionType": "SQL_INJECTION", "sensitivityLevel": "HIGH", "location": "HEADER", "matchedData": ["10", "AND", "1"] } ], "httpSourceName": "-", "httpSourceId": "-", "ruleGroupList": [], "rateBasedRuleList": [], "nonTerminatingMatchingRules": [] }

parsePostgres

이 프로세서를 사용하여 Amazon RDS for PostgreSQL 벤딩된 로그를 구문 분석하고, 필드를 추출하고, JSON 형식으로 변환합니다. RDS for PostgreSQL 로그 형식에 대한 자세한 내용은 RDS for PostgreSQL 데이터베이스 로그 파일을 참조하세요.

이 프로세서는 @message만 입력으로 허용합니다.

중요

이 프로세서를 사용하는 경우 변환기의 첫 번째 프로세서여야 합니다.

예제

다음 예제 로그 이벤트를 살펴봅니다.

2019-03-10 03:54:59 UTC:10.0.0.123(52834):postgres@logtestdb:[20175]:ERROR: column "wrong_column_name" does not exist at character 8

프로세서 구성은 다음과 같습니다.

[ { "parsePostgres": {} } ]

변환된 로그 이벤트는 다음과 같습니다.

{ "logTime": "2019-03-10 03:54:59 UTC", "srcIp": "10.0.0.123(52834)", "userName": "postgres", "dbName": "logtestdb", "processId": "20175", "logLevel": "ERROR" }

parseCloudfront

이 프로세서를 사용하여 Amazon CloudFront 벤딩된 로그를 구문 분석하고, 필드를 추출하고, JSON 형식으로 변환합니다. 인코딩된 필드 값은 디코딩됩니다. 정수 및 2배인 값은 이와 같이 처리됩니다. Amazon CloudFront 로그 형식에 대한 자세한 내용은 표준 로그(액세스 로그) 구성 및 사용을 참조하세요.

이 프로세서는 @message만 입력으로 허용합니다.

중요

이 프로세서를 사용하는 경우 변환기의 첫 번째 프로세서여야 합니다.

예제

다음 예제 로그 이벤트를 살펴봅니다.

2019-12-04 21:02:31 LAX1 392 192.0.2.24 GET d111111abcdef8.cloudfront.net /index.html 200 - Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36 - - Hit SOX4xwn4XV6Q4rgb7XiVGOHms_BGlTAC4KyHmureZmBNrjGdRLiNIQ== d111111abcdef8.cloudfront.net https 23 0.001 - TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 Hit HTTP/2.0 - - 11040 0.001 Hit text/html 78 - -

프로세서 구성은 다음과 같습니다.

[ { "parseCloudfront": {} } ]

변환된 로그 이벤트는 다음과 같습니다.

{ "date": "2019-12-04", "time": "21:02:31", "x-edge-location": "LAX1", "sc-bytes": 392, "c-ip": "192.0.2.24", "cs-method": "GET", "cs(Host)": "d111111abcdef8.cloudfront.net", "cs-uri-stem": "/index.html", "sc-status": 200, "cs(Referer)": "-", "cs(User-Agent)": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "cs-uri-query": "-", "cs(Cookie)": "-", "x-edge-result-type": "Hit", "x-edge-request-id": "SOX4xwn4XV6Q4rgb7XiVGOHms_BGlTAC4KyHmureZmBNrjGdRLiNIQ==", "x-host-header": "d111111abcdef8.cloudfront.net", "cs-protocol": "https", "cs-bytes": 23, "time-taken": 0.001, "x-forwarded-for": "-", "ssl-protocol": "TLSv1.2", "ssl-cipher": "ECDHE-RSA-AES128-GCM-SHA256", "x-edge-response-result-type": "Hit", "cs-protocol-version": "HTTP/2.0", "fle-status": "-", "fle-encrypted-fields": "-", "c-port": 11040, "time-to-first-byte": 0.001, "x-edge-detailed-result-type": "Hit", "sc-content-type": "text/html", "sc-content-len": 78, "sc-range-start": "-", "sc-range-end": "-" }

parseRoute53

이 프로세서를 사용하여 Amazon Route 53 Public Data Plane 벤딩된 로그를 구문 분석하고, 필드를 추출하고, JSON 형식으로 변환합니다. 인코딩된 필드 값은 디코딩됩니다. 이 프로세서는 Amazon Route 53 Resolver 로그를 지원하지 않습니다.

이 프로세서는 @message만 입력으로 허용합니다.

중요

이 프로세서를 사용하는 경우 변환기의 첫 번째 프로세서여야 합니다.

예제

다음 예제 로그 이벤트를 살펴봅니다.

1.0 2017-12-13T08:15:50.235Z Z123412341234 example.com AAAA NOERROR TCP IAD12 192.0.2.0 198.51.100.0/24

프로세서 구성은 다음과 같습니다.

[ { "parseRoute53": {} } ]

변환된 로그 이벤트는 다음과 같습니다.

{ "version": 1.0, "queryTimestamp": "2017-12-13T08:15:50.235Z", "hostZoneId": "Z123412341234", "queryName": "example.com", "queryType": "AAAA", "responseCode": "NOERROR", "protocol": "TCP", "edgeLocation": "IAD12", "resolverIp": "192.0.2.0", "ednsClientSubnet": "198.51.100.0/24" }

parseVPC

이 프로세서를 사용하여 Amazon VPC 판매 로그를 구문 분석하고, 필드를 추출하고, JSON 형식으로 변환합니다. 인코딩된 필드 값은 디코딩됩니다.

이 프로세서는 @message만 입력으로 허용합니다.

중요

이 프로세서를 사용하는 경우 변환기의 첫 번째 프로세서여야 합니다.

예제

다음 예제 로그 이벤트를 살펴봅니다.

2 123456789010 eni-abc123de 192.0.2.0 192.0.2.24 20641 22 6 20 4249 1418530010 1418530070 ACCEPT OK

프로세서 구성은 다음과 같습니다.

[ { "parseVPC": {} } ]

변환된 로그 이벤트는 다음과 같습니다.

{ "version": 2, "accountId": "123456789010", "interfaceId": "eni-abc123de", "srcAddr": "192.0.2.0", "dstAddr": "192.0.2.24", "srcPort": 20641, "dstPort": 22, "protocol": 6, "packets": 20, "bytes": 4249, "start": 1418530010, "end": 1418530070, "action": "ACCEPT", "logStatus": "OK" }