테이블 조회(세부)

지정한 테이블의 설정 및 상태를 스토리지 계층별로 세분화하여 조회합니다. 테이블 조회 권한이 없으면 illegal-state 오류를 반환합니다.

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

필요 권한

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

HTTP 요청

GET /api/sonar/tables/:table/verbose
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/tables/demo/verbose
요청 매개변수
필수타입설명비고
tableO문자열테이블 이름대소문자 구분. 최소 1자, 최대 50자
Note
테이블 이름은 영문자로 시작해야 하며, 영문 대소문자, 숫자, 밑줄(_), 하이픈(-)만 사용 가능합니다.

정상 응답

{
  "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": "시스템 로그",
    "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 (문자열, encryptedtrue일 때): 암호화 프로파일 GUID
    • crypto_profile_name (문자열, encryptedtrue일 때): 암호화 프로파일 이름
    • 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 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "table should be not null"
}
테이블이 존재하지 않는 경우

HTTP 상태 코드 200 응답

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

HTTP 상태 코드 500 응답

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