RARE 명령어

RARE 명령어

rare 명령어는 필드 목록에 지정된 모든 필드에서 가장 흔하지 않은(least common) 값의 조합을 식별해요.

출처: 문서

본문

rare 명령어는 필드 목록에 지정된 모든 필드에서 가장 흔하지 않은(least common) 값의 조합을 식별해요.

이 명령어는 그룹화 필드의 각 고유한 값 조합에 대해 최대 10개의 결과를 반환해요.

rare 명령어는 쿼리 도메인 특화 언어(DSL, query domain-specific language)로 다시 작성되지 않아요. 코디네이팅(coordinating) 노드에서만 실행돼요.

구문 (Syntax)

rare 명령어의 구문은 다음과 같아요:

rare [rare-options] <field-list> [by-clause]

매개변수 (Parameters)

rare 명령어는 다음 매개변수를 지원해요.

매개변수 필수/선택 설명
<field-list> 필수 쉼표로 구분된 필드 이름 목록이에요.
<by-clause> 선택 결과를 그룹화할 하나 이상의 필드예요.
rare-options 선택 출력을 제어하는 추가 옵션이에요: - showcount: 각 값 조합의 빈도 수를 포함하는 필드를 출력에 만들지 여부예요. 기본값은 true예요. - countfield: 수를 포함하는 필드의 이름이에요. 기본값은 count예요. - usenull: null 값을 출력할지 여부예요. 기본값은 plugins.ppl.syntax.legacy.preferred의 값이에요.

예제 1: 수를 표시하지 않고 가장 흔하지 않은 값 찾기

다음 쿼리는 showcount=false를 사용해 빈도 수를 표시하지 않고 가장 흔하지 않은 severity 레벨을 찾아요:

source=otellogs
| rare showcount=false severityText

쿼리는 다음과 같은 결과를 반환해요:

severityText
DEBUG
WARN
INFO
ERROR

예제 2: 필드별로 그룹화된 가장 흔하지 않은 값 찾기

다음 쿼리는 서비스별로 그룹화된 가장 흔하지 않은 severity 레벨을 찾아요:

source=otellogs
| rare showcount=false severityText by `resource.attributes.service.name`

쿼리는 다음과 같은 결과를 반환해요:

resource.attributes.service.name severityText
product-catalog DEBUG
product-catalog ERROR
product-catalog WARN
frontend-proxy ERROR
frontend-proxy WARN
recommendation ERROR
payment ERROR
checkout INFO
checkout ERROR
cart INFO
cart DEBUG
frontend INFO

예제 3: 빈도 수와 함께 가장 흔하지 않은 값 찾기

다음 쿼리는 빈도 수와 함께 가장 흔하지 않은 severity 레벨을 찾아요:

source=otellogs
| rare severityText

쿼리는 다음과 같은 결과를 반환해요:

severityText count
DEBUG 3
WARN 4
INFO 6
ERROR 7

예제 4: count 필드 이름 사용자 지정하기

다음 쿼리는 countfield를 사용해 빈도 수 필드에 사용자 지정 이름을 지정해요:

source=otellogs
| rare countfield='cnt' severityText

쿼리는 다음과 같은 결과를 반환해요:

severityText cnt
DEBUG 3
WARN 4
INFO 6
ERROR 7

예제 5: null 값 처리 지정하기

다음 쿼리는 usenull=false를 사용해 null 값을 제외해요:

source=otellogs
| rare usenull=false instrumentationScope.name

쿼리는 다음과 같은 결과를 반환해요:

instrumentationScope.name count
Microsoft.Extensions.Hosting 1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 1
@opentelemetry/instrumentation-http 2

다음 쿼리는 usenull=true를 사용해 결과에 null 값을 포함해요:

source=otellogs
| rare usenull=true instrumentationScope.name

쿼리는 다음과 같은 결과를 반환해요:

instrumentationScope.name count
Microsoft.Extensions.Hosting 1
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 1
@opentelemetry/instrumentation-http 2
null 16

더 알아보기 (Learn more)