본문 바로가기

리눅스

Elasticsearch 클러스터의 상태를 점검하고 모니터링하는 방법

728x90

Elasticsearch 클러스터의 상태를 점검하고 모니터링하는 방법

curl 명령어와 Elasticsearch API 엔드포인트를 사용하면 클러스터의 상태, 노드, 인덱스, 샤드 및 다른 핵심 정보를 확인할 수 있습니다.

클러스터 상태 확인

curl -X GET "http://localhost:9200/_cluster/health"
curl -XGET 'http://elastic_user:elastic_password@localhost:9200/_cluster/health?pretty'
{
  "cluster_name" : "es-cluster",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 1933,
  "active_shards" : 5673,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 1347,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 80.81196581196582
}

클러스터의 건강 상태와 기본 정보를 확인할 수 있습니다. "status" 필드를 통해 클러스터 상태를 확인할 수 있습니다.

클러스터 노드 확인

curl -X GET "http://localhost:9200/_cat/nodes?v"
curl -XGET 'http://elastic_user:elastic_password@localhost:9200/_cat/nodes?v'
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role  master name
192.168.0.107           88          82  52   15.27   15.69    15.96 cdhilmrstw *      es02
192.168.0.106           85          76   3    1.99    2.57     2.84 cdhilmrstw -      es01
192.168.0.108           67          76   3    0.74    0.97     1.18 cdhilmrstw -      es03

클러스터에 속한 노드의 목록을 확인할 수 있으며, 각 노드의 상태와 정보를 표시합니다.

인덱스 목록 확인

curl -X GET "http://localhost:9200/_cat/indices?v"
curl -XGET 'http://elastic_user:elastic_password@localhost:9200/_cat/indices?v'
curl -s -XGET 'http://elastic_user:elastic_password@localhost:9200/_cat/indices?v&s=creation.date:desc' | head -n 20
health status index                                        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
curl -s -XGET 'http://elastic_user:elastic_password@localhost:9200/_cat/indices?v' | egrep $(date +%Y%m%d)

클러스터에 있는 모든 인덱스의 목록을 확인하고, 각 인덱스의 상태와 기본 정보를 확인할 수 있습니다.

728x90

샤드 및 복제 상태 확인

curl -X GET "http://localhost:9200/_cat/shards?v"
curl -s -XGET 'http://elastic_user:elastic_password@localhost:9200/_cat/shards?v' | head -n 1
index                                        shard prirep state         docs    store ip           node

클러스터의 샤드 및 복제 상태를 확인할 수 있으며, 각 샤드의 할당 정보를 확인할 수 있습니다.

노드 상태 확인

curl -X GET "http://localhost:9200/_nodes/stats"
curl -s -XGET 'http://elastic_user:elastic_password@localhost:9200/_nodes/stats'

각 노드의 상세 정보와 통계 데이터를 확인할 수 있습니다. 노드의 자원 사용 및 활동에 대한 정보를 확인할 수 있습니다.

인덱스 상태 확인

curl -X GET "http://localhost:9200/your_index/_status"

특정 인덱스의 상태를 확인하고 해당 인덱스의 샤드 할당 정보를 확인할 수 있습니다. "your_index"를 확인하려는 실제 인덱스 이름으로 바꿔주세요.

클러스터 상태 상세 정보 확인

curl -X GET "http://localhost:9200/_cluster/state?pretty"

클러스터 상태의 상세 정보를 확인할 수 있으며, 모든 인덱스, 샤드, 복제 등에 대한 정보를 확인할 수 있습니다.

 

이러한 명령어와 API를 사용하여 Elasticsearch 클러스터의 상태를 주기적으로 모니터링하고 성능 이슈 또는 문제를 조기에 감지할 수 있습니다.

 

728x90