테이블 조회(세부)

지정한 테이블의 설정 및 상태를 스토리지 계층별로 세분화하여 조회합니다. 계층 구분 없이 조회하려면 테이블 조회 API를 이용합니다.

Tip
동일 인스턴스라도 로그프레소 엔터프라이즈에서 생성한 테이블은 로그프레소 소나에 구성 정보가 없으므로 표시되지 않습니다.

필요 권한

사용자 이상의 계정으로 이용할 수 있습니다.

HTTP 요청

GET /api/sonar/tables/:table/verbose
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/tables/demo/verbose
요청 매개변수
경로 매개변수
타입설명비고
table문자열테이블 이름대소문자 구분

정상 응답

{
  "table": {
    "table_name": "evtx_system",
    "layout": "columnar",
    "compression": "snappy",
    "retention": 180,
    "crypto_profile_guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "crypto_profile_name": "default",
    "encrypted": true,
    "table_size": 7731856,
    "index_size": 10645038,
    "ratio": 0.75,
    "group_guid": "12345678-1234-5678-9012-123456789012",
    "group_name": "windows_events",
    "min_day": "2021-10-19 00:00:00+0900",
    "max_day": "2022-09-14 00:00:00+0900",
    "shared_users": [],
    "shared_groups": [],
    "hot": [
      {
        "node_pair_name": "control",
        "table_size": 5000000,
        "index_size": 7000000,
        "min_day": "2022-06-01 00:00:00+0900",
        "max_day": "2022-09-14 00:00:00+0900",
        "sto_class": 0
      }
    ],
    "warm": [
      {
        "node_pair_name": "control",
        "table_size": 2000000,
        "index_size": 2645038,
        "min_day": "2022-01-01 00:00:00+0900",
        "max_day": "2022-05-31 00:00:00+0900",
        "sto_class": 10000
      }
    ],
    "cold": [
      {
        "node_pair_name": "control",
        "table_size": 731856,
        "index_size": 1000000,
        "min_day": "2021-10-19 00:00:00+0900",
        "max_day": "2021-12-31 00:00:00+0900",
        "sto_class": 20000
      }
    ]
  }
}
  • table (맵): 테이블 구성 정보
    • table_name (문자열): 테이블 이름
    • layout (문자열): 블록 레이아웃 (row 또는 columnar)
    • compression (문자열): 압축 알고리즘 (deflate 또는 snappy)
    • retention (32비트 정수): 데이터 보관 기간 (단위: 일). 0은 무제한
    • crypto_profile_guid (문자열, 암호화 프로파일이 설정된 경우): 암호화 프로파일 GUID
    • crypto_profile_name (문자열, 암호화 프로파일이 설정된 경우): 암호화 프로파일 이름
    • encrypted (불리언, 선택적): 암호화 사용 여부
    • table_size (64비트 정수): 전체 테이블 데이터 크기 (단위: 바이트)
    • index_size (64비트 정수): 전체 인덱스 데이터 크기 (단위: 바이트)
    • ratio (64비트 실수): 전체 테이블 중 디스크 사용량 비중 (0-1)
    • group_guid (문자열, 선택적): 테이블 그룹 GUID
    • group_name (문자열, 선택적): 테이블 그룹 이름
    • min_day (문자열, 선택적): 저장된 최소 로그 날짜 (_time 필드 기준)
    • max_day (문자열, 선택적): 저장된 최대 로그 날짜 (_time 필드 기준)
    • shared_users (배열): 권한이 부여된 계정 목록 (구성은 테이블 조회 참조)
    • shared_groups (배열): 권한이 부여된 계정 그룹 목록 (구성은 테이블 조회 참조)
    • hot (배열, 선택적): 핫(hot) 계층의 노드별 통계 정보
    • warm (배열, 선택적): 웜(warm) 계층의 노드별 통계 정보
    • cold (배열, 선택적): 콜드(cold) 계층의 노드별 통계 정보
      • node_pair_name (문자열): 노드 페어 이름
      • table_size (64비트 정수): 해당 노드의 테이블 데이터 크기 (단위: 바이트)
      • index_size (64비트 정수): 해당 노드의 인덱스 데이터 크기 (단위: 바이트)
      • min_day (문자열, 선택적): 노드별 저장된 최소 로그 날짜 (_time 필드 기준)
      • max_day (문자열, 선택적): 노드별 저장된 최대 로그 날짜 (_time 필드 기준)
      • error (문자열, 선택적): 노드 통계 수집 시 발생한 오류 메시지
      • sto_class (32비트 정수): 스토리지 계층 구분값 (0은 hot, 10000은 warm, 20000은 cold)

오류 응답

테이블이 존재하지 않는 경우

HTTP 상태 코드 200 응답

{
  "table": null
}
권한이 없는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}