package com.arms.api.admin.monitoring.service;

import com.arms.api.admin.monitoring.model.vo.*;

import java.util.List;

public interface EsMonitoringService {

    /**
     * 클러스터 상태 조회
     */
    ClusterHealthVO getClusterHealth();

    /**
     * 노드 상태 조회
     */
    List<NodeStatsVO> getNodeStats();

    /**
     * Thread Pool 상태 조회 (write, search)
     */
    List<ThreadPoolStatsVO> getThreadPoolStats();

    /**
     * 인덱싱/검색 통계 조회
     */
    IndexingStatsVO getIndexingStats();

    /**
     * 전체 모니터링 요약 조회
     */
    EsMonitoringSummaryVO getMonitoringSummary();

    /**
     * 장애 체크 (빠른 health check)
     */
    Boolean isHealthy();
}