테이블 조회(세부)

지정한 테이블의 확장된 구성 및 상태 정보를 조회합니다. 기본 테이블 조회 API보다 더 상세한 정보를 반환합니다. 테이블 조회 권한이 없으면 illegal-state 오류를 반환합니다.

HTTP 요청

GET /api/sonar/tables/:table/verbose
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/tables/demo/verbose
요청 매개변수
경로 매개변수
타입설명비고
table문자열테이블 이름대소문자 구분. 최소 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": [
      {
        "type": "USER",
        "guid": "ffaf431b-653a-4329-8f83-913cbb00342d",
        "name": "홍길동",
        "read_only": true,
        "created": "2022-09-11 21:57:20+0900"
      }
    ],
    "shared_groups": [
      {
        "type": "GROUP",
        "guid": "12345678-abcd-efgh-ijkl-123456789012",
        "name": "분석팀",
        "read_only": false,
        "created": "2022-09-11 21:57:20+0900"
      }
    ],
    "node_stats": [
      {
        "node_pair_name": "control",
        "table_size": 7731856,
        "index_size": 10645038,
        "min_day": "2021-10-19 00:00:00+0900",
        "max_day": "2022-09-14 00:00:00+0900"
      }
    ]
  }
}
Tip
이 API는 기본 테이블 조회 API와 동일한 필드를 포함하며, 추가적인 세부 정보를 함께 반환합니다. 응답에 포함되는 추가 필드는 테이블 설정에 따라 달라질 수 있습니다.
  • 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 (배열): 권한 부여된 계정 목록
      • type (문자열): USER 고정
      • guid (문자열): 사용자 GUID
      • name (문자열): 사용자 이름
      • read_only (불리언): 읽기 전용 권한 여부
      • created (문자열): 권한 부여 일시
    • shared_groups (배열): 권한 부여된 계정 그룹 목록
      • type (문자열): GROUP 고정
      • guid (문자열): 그룹 GUID
      • name (문자열): 그룹 이름
      • read_only (불리언): 읽기 전용 권한 여부
      • created (문자열): 권한 부여 일시
    • node_stats (배열): 노드별 테이블 통계 정보
      • node_pair_name (문자열): 노드 페어 이름
      • table_size (64비트 정수): 해당 노드의 테이블 데이터 크기 (단위: 바이트)
      • index_size (64비트 정수): 해당 노드의 인덱스 데이터 크기 (단위: 바이트)
      • min_day (문자열, 선택적): 노드별 저장된 최소 로그 날짜 (_time 필드 기준)
      • max_day (문자열, 선택적): 노드별 저장된 최대 로그 날짜 (_time 필드 기준)

오류 응답

매개변수 누락

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"
}