Elastic Search

Ch11. 장애 방지를 위한 실시간 모니터링 - 물리적인 클러스터 상태 정보 조회

webmaster 2025. 10. 15. 10:39
728x90

엘라스틱서치는 실행 시, Config 디렉터리에 설정된 환경설정 정보를 바탕으로 노드를 인스턴스화한다. 이때 사용가능한 리소스를 적절히 분산해 각 모듈에서 나눠서 사용할 수 있도록 자동으로 리소스를 분배한다. 모든 노드가 인스턴스화되어 클러스터가 구성되면 물리적인 노드가 실제로 어떤 설정을 가지고 있으며, 사용 중인 리소스가 어떤지를 상태 정보 API를 통해 확인할 수 있다.(_cluster/state API)

 

클러스터 레벨의 물리 상태 조회

GET _cluster/state
  • 클러스터 관점에서 제공되는 상태 정보 및 설정 내역을 상세하게 살펴볼 수 있다.
    • metadata 정보, routing_table 정보, Restore/Snapshot 정보등을 한눈에 확인 가능

노드 레벨의 물리 상태 조회

GET _nodes //전체 노드 상태 조회
GET _nodes/10.0.0.1,10.0.0.2 // 특정 IP로 노드 상태 조회
GET _nodes/TOeKC161SL6QFI3KtBFMog //특정 노드 ID로 노드 상태 조회
GET _nodes/_local //호출받은 노드 상태 조회
  • 노드 관점에서도 상태 정보 및 설정 내역을 상세하게 살펴볼 수 이싿.
    • 엘라스틱서치 노드가 실행될 때 실제 어떤 설정을 가지고 인스턴스 생성했는지 볼 수 있다.
  • 속성 정보
    • settings: eleasticsearch.yml에 설정된 기본적인 설정사항을 보여준다.
    • os: 엘라스틱서치 인스턴스가 실행된 운영체제 정보를 보여준다.
    • process: 엘라스틱서치 인스턴스 생성 시, Memory Lock이 수행됐는지 알 수 있다.
    • jvm: 엘라스틱서치 인스턴스 생성 시, 설정된 JVM 옵션을 확인할 수 있다.
    • thread_pool: 엘라스틱서치 인스턴스 생성 시, 설정된 스레드풀 관련 정책들을 확인할 수 있다.(기본적으로 CPU 코어 개수를 기반으로 스레드풀 정책을 세운다.)
    • Transport: 클러스터 내부의 노드 간의 통신을 위해 Transport 모듈을 이용한다. 어떤 포트가 바인딩 됐는지 확인 가능하다.
    • Htttp: 외부 통신을 위한 Http 모듈 정보를 알 수 있다. 어떤 포트가 바인딩 됐는지 확인 가능하다.
    • plugins: 플러그인 형태의 기능 확장을 지원한다. 어떤 플러그인이 설치됐는지 확인할 수 있다.
    • Modules: 어떤 모듈이 동작하고 있는지 확인할 수 있다.

 

728x90