기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
부울, 비교, 숫자, 날짜/시간 및 기타 함수
CloudWatch Logs Insights는 다음 섹션에 설명된 것처럼 쿼리에서 다른 많은 연산과 함수를 지원합니다.
산술 연산자
산술 연산자에서는 숫자 데이터 형식을 인수로 수락하고 숫자 결과를 반환합니다. 산술 연산자를 filter
및 fields
명령에서 사용하고 다른 함수의 인수로 사용합니다.
Operation | 설명 |
---|---|
|
Addition |
|
뺄셈 |
|
곱셈 |
|
나눗셈 |
|
거듭제곱( |
|
나머지 또는 모듈러스( |
부울 연산
부울 연산자 and
, or
및 not
을 사용합니다.
참고
TRUE 또는 FALSE의 값을 반환하는 함수에서만 부울 연산자를 사용합니다.
비교 연산자
비교 연산자에서는 모든 데이터 형식을 인수로 수락하고 부울 결과를 반환합니다. 비교 연산은 filter
명령에서 사용하고 다른 함수의 인수로 사용합니다.
연산자 | 설명 |
---|---|
|
같음 |
|
같지 않음 |
|
보다 작음 |
|
보다 큼 |
|
작거나 같음 |
|
크거나 같음 |
숫자 연산자
숫자 연산은 숫자 데이터 형식을 인수로 수락하고 숫자 결과를 반환합니다. 숫자 연산은 filter
및 fields
명령에서 사용하고 다른 함수의 인수로 사용합니다.
Operation | 결과 유형 | 설명 |
---|---|---|
|
숫자 |
절대값 |
|
숫자 |
천장값으로 반올림( |
|
숫자 |
바닥값으로 반올림( |
|
숫자 |
가장 큰 값 반환 |
|
숫자 |
가장 작은 값 반환 |
|
숫자 |
자연 로그 |
|
숫자 |
제곱근 |
구조 유형
맵 또는 목록은 쿼리에 속성을 액세스하고 사용할 수 있는 CloudWatch Logs Insights의 구조 유형입니다.
예: 맵 또는 목록을 가져오는 방법
jsonParse
를 사용하여 json 문자열인 필드를 맵 또는 목록으로 구문 분석합니다.
fields jsonParse(@message) as json_message
예: 속성에 액세스하려면
점 액세스 연산자(map.attribute)를 사용하여 맵의 항목에 액세스합니다. 맵의 속성에 특수 문자가 포함된 경우 백틱을 사용하여 속성 이름(map.attributes.`special.char`)을 묶습니다.
fields jsonParse(@message) as json_message | stats count() by json_message.status_code
대괄호 액세스 연산자(list[index])를 사용하여 목록 내 특정 위치에서 항목을 검색합니다.
fields jsonParse(@message) as json_message | filter json_message.users[1].action = "PutData"
키 이름에 특수 문자가 있는 경우 특수 문자를 백틱(``)으로 래핑합니다.
fields jsonParse(@message) as json_message | filter json_message.`user.id` = "123"
예: 빈 결과
맵과 목록은 문자열, 숫자 및 날짜/시간 함수에 대해 null로 처리됩니다.
fields jsonParse(@message) as json_message | display toupper(json_message)
맵과 목록을 다른 필드와 비교하면가 발생합니다false
.
참고
dedup
, pattern
sort
, 및에서 맵 및 목록을 사용하는 stats
것은 지원되지 않습니다.
날짜/시간 함수
날짜/시간 함수
날짜/시간 함수를 fields
및 filter
명령에서 사용하고 다른 함수의 인수로 사용합니다. 이러한 함수를 사용하여 집계 함수가 포함된 쿼리에 대한 시간 버킷을 생성합니다. 숫자와 다음 중 하나로 구성된 기간을 사용합니다.
-
ms
- 밀리초 -
s
- 초 -
m
- 분 -
h
- 시간
예를 들어, 10m
은 10분을, 1h
는 1시간을 나타냅니다.
참고
datetime 함수에 가장 적합한 시간 단위를 사용합니다. CloudWatch Logs는 선택한 시간 단위에 따라 요청의 한도를 지정합니다. 예를 들어 CloudWatch Logs는 s
를 사용하는 모든 요청의 최대값을 60으로 한정합니다. 따라서 bin(300s)
를 지정하면 CloudWatch Logs는 실제로 이를 60초로 구현합니다. 60은 분당 초 수이므로 CloudWatch Logs는 s
에 60보다 큰 숫자를 사용하지 않기 때문입니다. 5분 버킷을 생성하려면 bin(5m)
을 대신 사용하세요.
ms
의 한도는 1000이고, s
와 m
의 한도는 60이며, h
의 한도는 24입니다.
다음 표에는 쿼리 명령에 사용할 수 있는 다양한 날짜 시간 함수의 목록이 포함되어 있습니다. 이 표에는 각 함수의 결과 유형이 나열되며 각 함수에 대한 설명이 포함되어 있습니다.
작은 정보
쿼리 명령을 생성할 때 시간 간격 선택기를 사용하여 쿼리할 기간을 선택할 수 있습니다. 예를 들어, 5~30분 간격, 1, 3, 12시간 간격 또는 사용자 지정 시간 범위 중에서 설정할 수 있습니다. 특정 날짜 사이의 기간을 설정할 수도 있습니다.
함수 | 결과 유형 | 설명 |
---|---|---|
|
Timestamp |
이를 사용하여 쿼리에서 여러 로그 항목을 함께 그룹화할 수 있습니다. 다음 예제에서는 시간당 발생한 예외 수를 반환합니다.
|
|
Timestamp |
타임스탬프를 지정한 기간으로 자릅니다. 예를 들어, |
|
Timestamp |
타임스탬프를 지정한 기간으로 반올림한 다음 자릅니다. 예를 들어, |
|
Timestamp |
입력 필드를 Unix Epoch 밀리초로 해석하여 타임스탬프로 변환합니다. |
|
숫자 |
지정된 필드에 있는 타임스탬프를 Unix Epoch 밀리초를 나타내는 숫자로 변환합니다. 예를 들어 |
|
숫자 |
쿼리 처리가 시작된 시간을 epoch 초 단위로 반환합니다. 이 함수는 인수를 사용하지 않습니다. 이를 사용하여 현재 시간에 따라 쿼리 결과를 필터링할 수 있습니다. 예를 들어 다음 쿼리는 지난 2시간 동안의 모든 4xx 오류를 반환합니다.
다음 예제에서는
|
참고
현재 CloudWatch Logs Insights는 사람이 읽을 수 있는 타임스탬프가 있는 로그 필터링을 지원하지 않습니다.
일반 함수
일반 함수
일반 함수를 fields
및 filter
명령에서 사용하고 다른 함수의 인수로 사용합니다.
함수 | 결과 유형 | 설명 |
---|---|---|
|
불 |
이 필드가 존재하는 경우 |
|
LogField |
목록에서 null이 아닌 첫 번째 값 반환 |
JSON 함수
JSON 함수
fields
및 filter
명령에서 JSON 함수를 사용하고 다른 함수의 인수로 사용합니다.
함수 | 결과 유형 | 설명 |
---|---|---|
|
맵 | 목록 | 비어 있음 |
입력이 JSON 객체 또는 JSON 배열의 문자열 표현일 때 맵 또는 목록을 반환합니다. 입력이 표현 중 하나가 아닌 경우 빈 값을 반환합니다. |
|
String |
맵 또는 목록 데이터에서 JSON 문자열을 반환합니다. |
IP 주소 문자열 함수
IP 주소 문자열 함수
IP 주소 문자열 함수를 filter
및 fields
명령에서 사용하고 다른 함수의 인수로 사용합니다.
함수 | 결과 유형 | 설명 |
---|---|---|
|
boolean |
필드가 유효한 IPv4 또는 IPv6 주소인 경우 |
|
boolean |
필드가 유효한 IPv4 주소인 경우 |
|
boolean |
필드가 유효한 IPv6 주소인 경우 |
|
boolean |
필드가 지정된 v4 또는 v6 서브넷 내 유효한 IPv4 또는 IPv6 주소인 경우 |
|
boolean |
필드가 지정된 v4 서브넷 내 유효한 IPv4 주소인 경우 |
|
boolean |
필드가 지정된 v6 서브넷 내 유효한 IPv6 주소인 경우 |
문자열 함수
문자열 함수
문자열 함수를 fields
및 filter
명령에서 사용하고 다른 함수의 인수로 사용합니다.
함수 | 결과 유형 | 설명 |
---|---|---|
|
숫자 |
필드가 누락되어 있거나 빈 문자열일 경우 |
|
숫자 |
필드가 누락되어 있거나 빈 문자열이거나 빈 공백만 포함된 경우 |
|
문자열 |
문자열을 연결합니다. |
|
문자열 |
함수에 두 번째 인수가 없는 경우에는 문자열의 왼쪽에서 공백을 제거합니다. 함수에 두 번째 문자열 인수가 없는 경우에는 공백을 제거하지 않습니다. 대신 |
|
문자열 |
함수에 두 번째 인수가 없는 경우에는 문자열의 오른쪽에서 공백을 제거합니다. 함수에 두 번째 문자열 인수가 없는 경우에는 공백을 제거하지 않습니다. 대신 |
|
문자열 |
함수에 두 번째 인수가 없는 경우에는 문자열의 양쪽 끝에서 공백을 제거합니다. 함수에 두 번째 문자열 인수가 없는 경우에는 공백을 제거하지 않습니다. 대신 |
|
숫자 |
문자열 길이를 Unicode 코드 포인트로 반환합니다. |
|
문자열 |
문자열을 대문자로 변환합니다. |
|
문자열 |
문자열을 소문자로 변환합니다. |
|
문자열 |
숫자 인수가 지정한 인덱스의 하위 문자열을 문자열 끝에 반환합니다. 함수에 두 번째 숫자 인수가 있는 경우 해당 인수에는 검색되는 하위 문자열의 길이가 포함됩니다. 예를 들어, |
|
문자열 |
예를 들어, |
|
숫자 |
|