테이블 조회(세부)
지정한 테이블의 확장된 구성 및 상태 정보를 조회합니다. 기본 테이블 조회 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 (문자열,
encrypted가true일 때): 암호화 프로파일 GUID - crypto_profile_name (문자열,
encrypted가true일 때): 암호화 프로파일 이름 - 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 (문자열): 권한 부여 일시
- type (문자열):
- shared_groups (배열): 권한 부여된 계정 그룹 목록
- type (문자열):
GROUP고정 - guid (문자열): 그룹 GUID
- name (문자열): 그룹 이름
- read_only (불리언): 읽기 전용 권한 여부
- created (문자열): 권한 부여 일시
- type (문자열):
- 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"
}