본문 바로가기
ElasticSearch & OpenSearch

[ElasticSearch] _cat API 를 이용한 ES 모니터링

by yonikim 2022. 12. 19.
728x90

 

E-커머스에서 검색은 아주 중요하다. 그렇기 때문에  ElasticSearch 의 상태를 모니터링하는 일 역시 중요한데, ES 에서 제공해주는 _cat API 를 이용하면 좀 더 쉽게 체크할 수 있다. _cat API 중에서도 자주 사용되는 것만 추려봤다.

 

 

1. 클러스터에 속한 노드들의 상태 확인

GET _cat/nodes

 

?v 옵션을 붙이면 해당 항목의 필드명 확인이 가능하다. 

GET _cat/nodes?v
  • heap.percent: 사용중인 heap memory percentage
  • ram.percent: 사용중인 memory percentage
  • cpu: 사용중인 CPU percentage
  • load_1m,5m,15m: 사용중인 load average 값
  • node.role: 노드의 role (m - master, d - data, i - injest)

 

 

&format=json 옵션을 통해 json 포맷으로 변경 가능하다.

GET _cat/nodes?v&format=json

 

 

&h= 옵션을 통해 필요한 항목만 가져올 수 있다.

GET _cat/nodes?v&h=ip,node.role

 

 

&s=ip:asc 옵션을 통해 정렬도 가능하다.

GET _cat/nodes?v&s=ip:asc

 

 

2. 샤드 및 디스크 용량 관련 조회

GET _cat/allocation?v
  • shards: 샤드 개수
  • disk.indices: 인덱스가 사용하고 있는 디스크 용량
  • disk.used: 실제 시스템에서 사용된 디스크 용량
  • disk.avail: 실제 시스템에서 사용 가능한 디스크 용량
  • disk.total: 실제 시스템의 전체 디스크 용량
  • disk.percent: 실제 시스템의 디스크 용량 사용률

 

3. 샤드 정보 조회

GET _cat/shards?v
  • shard: 샤드 넘버
  • prirep: 프라이머리, 레플리카 샤드 여부
  • state: 샤드 상태
  • docs: 도큐먼트 개수
  • store: 저장된 사이즈

 

 

4. 인덱스 정보 조회

GET _cat/indices?v
  • health: 인덱스 health 상태 (green, yellow, red)
  • status: 인덱스 open 상태 (open, close)
  • pri: 프라이머리 샤드 개수
  • rep: 레플리카 샤드 개수
  • docs.count: 도큐먼트 개수
  • docs.deleted: 삭제된 도큐먼트 개수
  • store.size: 레플리카를 포함한 실제 저장된 사이즈
  • pri.store.size: 프라이머리 실제 저장된 사이즈

 

인덱스 별로 조회도 가능하다.

GET _cat/indices/product?v

 

 

5. 클러스터 헬스체크 상태

GET _cat/health?v
  • status: 클러스터 전체 상태 (green, yellow, red)
  • node.total: 클러스터에 속해져있는 전체 노드 개수
  • node.data: 데이터노드 role 을 가지는 노드 개수
  • shards: 클러스터에 저장된 전체 샤드 개수
  • pri: 클러스터에 저장된 프라이머리 샤드 개수
  • relo: 현재 재할당중인 샤드 개수
  • init: 샤드 상태 변경 전 초기화를 거치고 있는 샤드 개수
  • unassign: 할당되지 않은 샤드 개수
  • pending_tasks: 상태가 변경되는 과정에서 지연이 일어나고 있는 task 개수
  • active_shards_percent: 안정적인 상태에서 운영중인 샤드의 percentage

 

 

6. 세팅된 템플릿 조회

GET _cat/templates?v
  • name: 템플릿명
  • index_patterns: 템플릿이 적용될 인덱스 패턴
  • order: 템플릿 오더 번호
  • version: 템플릿 버전
728x90