table

로그프레소 테이블에 저장된 데이터를 조회합니다.

문법

table [OPTIONS] TABLE[, ... ]

table [OPTIONS] meta("KEY_VALUE_EXPR"[, ... ])
필수 매개변수
TABLE, ...

검색할 테이블 목록. 여러 테이블을 지정하려면 구분자로 쉼표(,)를 사용합니다.

테이블 이름 뒤에 물음표(?)를 붙이면 해당 테이블이 존재하지 않아도 오류가 발생하지 않습니다. 가령, sys_status 테이블이 존재하지 않을때 table sys_status 쿼리를 실행하면 오류가 발생하지만, table sys_status? 쿼리를 실행하면 오류 없이 쿼리가 수행되며 결과 0건이 출력됩니다.

테이블 이름에 와일드카드(*)를 사용할 수 있습니다. 예를 들어, 쿼리문 table sys_*를 실행하면 sys_로 시작하는 모든 테이블을 모두 조회합니다. 읽기 권한이 없는 테이블은 검색에서 제외됩니다. 쿼리를 실행한 다음 _table 필드에서 테이블 이름을 확인할 수 있습니다.

meta("KEY_VALUE_EXPR", "TABLE"[, ... ])

조회할 테이블의 메타데이터. 지정한 KEY_VALUE_EXPR 속성과 일치하는 테이블을 선택할 때 사용합니다. meta()table 명령어에서만 사용할 수 있습니다.

KEY_VALUE_EXPR
"KEY == VALUE" 또는 "KEY != VALUE" 형태의 비교 표현식. and, or와 같은 논리 연산자나 not 단항 부정 연산자와 함께 사용할 수 있습니다.
KEY
테이블 메타데이터의 키 이름
VALUE
테이블 메타데이터의 값(와일드카드 패턴 사용 가능)
"TABLE"[, ... ]
조회할 테이블 이름. 아무 테이블도 지정하지 않으면 모든 테이블에 메타데이터 조건식을 시도합니다.

ENT, STD는 "테이블 관리 > (테이블 선택) [기본정보]"에서 테이블 메타데이터를 지정할 수 있습니다. 파서 설정의 메타데이터 키는 logparser입니다.

선택 매개변수

duration, from, to과 같은 옵션으로 검색 기간/범위를 지정하지 않으면 모든 데이터를 검색합니다.

duration=INT{mon|w|d|h|m|s} 현재 시각을 기준으로 지정한 시간만큼 이전 데이터만 검색. mon(월), w(주), d(일), h(시), m(분), s(초) 단위로 입력합니다. 예를 들어 10s은 쿼리 실행 시각을 기준으로 "최근 10초"를 의미합니다. 이 옵션은 from, to, window와 함께 사용할 수 없습니다.

from=yyyyMMddHHmmss
검색할 기간의 시작 날짜를 yyyyMMddHHmmss 형식으로 지정. 입력한 시각부터 검색을 시작합니다. 앞부분만 입력하면 나머지 자리는 0으로 인식합니다. 예를 들어 20130605를 입력하면 20130605000000(2013년 6월 5일 0시 0분 0초)으로 인식합니다. 이 옵션은 to와 함께 사용할 수 있지만, duration, window는 함께 사용할 수 없습니다.
to=yyyyMMddHHmmss
검색할 기간의 끝 날짜를 yyyyMMddHHmmss 형식으로 지정. 입력한 시각은 검색 범위에 포함되지 않습니다. 입력 방식은 from과 같습니다. from과 함께 사용할 수 있지만, duration, window는 함께 사용할 수 없습니다.
window=INT{y|mon|w|d|h|m|s}
쿼리 실행 시점부터 어느 정도의 시간 동안 테이블에 입력되는 데이터를 실시간으로 수신할 것인지 지정. y(연), mon(월), w(주), d(일), h(시), m(분), s(초) 단위로 지정할 수 있습니다. 단위가 y일 때, 1y만 허용됩니다. 예를 들어 10s은 쿼리 실행 시각을 기준으로 “앞으로 10초”입니다. 이 옵션은 duration, from, to와 함께 사용할 수 없습니다.
limit=INT
가져올 최대 로그 개수(기본값: 제한 없음)
offset=INT
건너뛸 로그 개수(기본값: 0).
order=STR
레코드의 정렬 순서 (기본값: desc)
  • asc: 오름차순 정렬. 오래된 레코드부터 출력.
  • desc: 내림차순 정렬. 최근 레코드부터 출력.

사용 예

  1. sys_cpu_logs 테이블에서 최근 100건의 로그를 조회

    table limit=100 sys_cpu_logs
    
  2. sys_cpu_logs 테이블에서 최근 10분 간의 로그를 조회

    table duration=10m sys_cpu_logs
    
  3. sys_cpu_logs 테이블에서 2013년 6월 5일의 전체 로그를 조회

    table from=20130605 to=20130606 sys_cpu_logs
    
  4. sys_cpu_logs 테이블과 sys_mem_logs 테이블의 모든 로그를 순서대로 조회

    table sys_cpu_logs, sys_mem_logs
    
  5. 테이블의 파서(parser)가 openssh인 테이블만 조회

    table meta("parser==openssh")