HEAD 명령어
HEAD 명령어
head 명령어는 검색 결과에서 처음 N개 행을 반환해요.
출처: 문서
본문
head 명령어는 검색 결과에서 처음 N개 행을 반환해요.
head 명령어는 쿼리 도메인 특화 언어(DSL, query domain-specific language)로 다시 작성되지 않아요. 코디네이팅(coordinating) 노드에서만 실행돼요.
구문 (Syntax)
head 명령어의 구문은 다음과 같아요:
head [<size>] [from <offset>]
매개변수 (Parameters)
head 명령어는 다음 매개변수를 지원해요.
| 매개변수 | 필수/선택 | 설명 |
|---|---|---|
<size> |
선택 | 반환할 결과 수예요. 정수여야 해요. 기본값은 10이에요. |
<offset> |
선택 | 건너뛸 결과 수예요 (from 키워드와 함께 사용). 정수여야 해요. 기본값은 0이에요. |
예제 1: 기본 크기로 첫 번째 결과 집합 가져오기
다음 쿼리는 가장 최근 오류를 기본값 10개로 제한해 가져와요. 사고를 조사할 때 흔히 하는 첫 단계예요:
source=otellogs
| where severityText IN ('ERROR', 'WARN')
| sort - severityNumber, `resource.attributes.service.name`
| fields severityText, `resource.attributes.service.name`, body
| head
쿼리는 다음과 같은 결과를 반환해요:
| severityText | resource.attributes.service.name | body |
|---|---|---|
| ERROR | checkout | NullPointerException in CheckoutService.placeOrder at line 142 |
| ERROR | checkout | Kafka producer delivery failed: message too large for topic order-events (max 1048576 bytes) |
| ERROR | frontend-proxy | [2024-02-01T09:20:00.456Z] “POST /api/checkout HTTP/1.1” 503 - 0 30000 checkout-8d4f7b-mk2p9 |
| ERROR | payment | Payment failed: connection timeout to payment gateway after 30000ms |
| ERROR | payment | Out of memory: Java heap space - shutting down pod payment-6f8d4b-ht7q3 |
| ERROR | product-catalog | Database primary node unreachable: connection refused to db-primary-01:5432 |
| ERROR | recommendation | Failed to process recommendation request: invalid product ID from 203.0.113.50 |
| WARN | frontend-proxy | SSL certificate for api.example.com expires in 14 days |
| WARN | frontend-proxy | Rate limit threshold reached: 450/500 requests per minute for API key ending in …abc789 |
| WARN | product-catalog | Slow query detected: SELECT * FROM products WHERE category = ‘electronics’ took 3200ms |
예제 2: 지정된 수의 결과 가져오기
다음 쿼리는 빠른 severity 확인을 위해 가장 중요한 로그 항목 3개를 반환해요:
source=otellogs
| where severityText IN ('ERROR', 'WARN')
| sort - severityNumber, `resource.attributes.service.name`
| fields severityText, `resource.attributes.service.name`, body
| head 3
쿼리는 다음과 같은 결과를 반환해요:
| severityText | resource.attributes.service.name | body |
|---|---|---|
| ERROR | checkout | NullPointerException in CheckoutService.placeOrder at line 142 |
| ERROR | checkout | Kafka producer delivery failed: message too large for topic order-events (max 1048576 bytes) |
| ERROR | frontend-proxy | [2024-02-01T09:20:00.456Z] “POST /api/checkout HTTP/1.1” 503 - 0 30000 checkout-8d4f7b-mk2p9 |
예제 3: 오프셋 M 이후의 처음 N개 결과 가져오기
다음 쿼리는 가장 중요한 항목 2개를 건너뛰고 다음 3개를 반환해요. 주요 문제를 검토한 후 결과를 페이지네이션할 때 유용해요:
source=otellogs
| where severityText IN ('ERROR', 'WARN')
| sort - severityNumber, `resource.attributes.service.name`
| fields severityText, `resource.attributes.service.name`, body
| head 3 from 2
쿼리는 다음과 같은 결과를 반환해요:
| severityText | resource.attributes.service.name | body |
|---|---|---|
| ERROR | frontend-proxy | [2024-02-01T09:20:00.456Z] “POST /api/checkout HTTP/1.1” 503 - 0 30000 checkout-8d4f7b-mk2p9 |
| ERROR | payment | Payment failed: connection timeout to payment gateway after 30000ms |
| ERROR | payment | Out of memory: Java heap space - shutting down pod payment-6f8d4b-ht7q3 |