728x90
반응형
SMALL
[Elasticsearch] ELK Query Count Filter (aggs Field)
특정 키워드, 기간, 개수 필터링을 해야하는 경우에 참고하세요.
전반적인 설명
buckets 의 key 값 별로 Group by 해서 (aggs필드)
특정 기간과 키워드를 조건으로 검색해서
doc_count 값이 특정 최소값 이상인 경우
예시 설명
인덱스 : temp_index
검색 키워드 : JDBC Error
필터링 기간 : 어제~오늘
개수 : 10개 이상
GET temp_index/_search
{
"query": {
"match": {
"log.message": "JDBC Error"
}
},
"size": 0,
"aggs": {
"my_range_filter": {
"date_range": {
"field": "@timestamp",
"ranges": [
{
"from": "now-1d/d",
"to": "now/d"
}
]
},
"aggs": {
"my_count_filter": {
"terms": {
"field": "log.app_name",
"min_doc_count": 10
}
}
}
}
}
}
- size=0 설정해서 상세검색결과는 빼고 개수만 카운트해주기
- log.message 필드에서 "JDBC Error" 키워드를 검색한 후, log.app_name 필드로 그룹화하여 각 그룹의 개수가 10개 이상인 것만 필터링
- min_doc_count는 각 버킷에 최소 문서 수를 설정하여 해당 수 이하의 문서가 포함된 버킷을 제외
- bucket_selector는 params.count >= 10 스크립트를 사용하여 조건을 적용할수도 있긴 하나 복잡함
실제 ELK 쿼리 결과 캡쳐
728x90
반응형
LIST
'IT > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] ELK 쿼리로 API 호출 건수 집계해보기 (+date_histogram, calendar_interval) (2) | 2024.10.17 |
---|---|
[Elasticsearch] 쿠버네티스 워커노드 CPU 100% 장애 복기 (8) | 2024.07.24 |
[Elasticsearch] Elastic Contributor Program 이란? (0) | 2024.07.10 |
[Elasticsearch] ILM - Cluster 성능 개선 (0) | 2024.07.10 |
[Elasticsearch] 백엔드 장애 감지 알림 시스템 구축 (ELK 기반 준실시간 서버 로그 모니터링) (0) | 2024.07.06 |