테이블 조회(세부)
지정한 테이블의 설정 및 상태를 스토리지 계층별로 세분화하여 조회합니다. 테이블 조회 권한이 없으면 illegal-state 오류를 반환합니다.
Tip
동일 인스턴스라도 로그프레소 엔터프라이즈에서 생성한 테이블은 로그프레소 소나에 구성 정보가 없으므로 표시되지 않습니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/tables/:table/verbose
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
https://HOSTNAME/api/sonar/tables/demo/verbose
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| table | O | 문자열 | 테이블 이름 | 대소문자 구분. 최소 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 (문자열,
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 (배열): 권한 부여된 계정 목록 (구성은 테이블 조회 참조)
- 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"
}