...
Machbase 3.5버전 이후의 설정 파일은 이전 버전과 호환되지 않는다.
표 1. 템플릿 변수
변수 이름 | 설명 | 비고 |
---|---|---|
COLLECT_TYPE | 데이터 수집 방법 | 데이터 수집 방법을 설정한다. 데이터 수집방법은 다음과 같다. FILE 은 기본 값으로 collector가 설치된 장비의 특정 파일을 지정한다. SFTP: 원격 SFTP파일 경로, SOCKET: socket 입력 데이터 입력. ODBC: ODBC로 설정된 데이터베이스에서 데이터 입력한다. |
LOG_SOURCE | 읽을 로그 파일의 위치 | 읽어들일 데이터 파일의 위치. SFTP 모드에서는 원격 호스트의 절대 경로를 지정해야 한다. SOKET 및 ODBC 모드에서는 사용되지 않는다. 원본 파일을 여러개로 설정하거나 정규 표현식으로 설정하는 것도 가능하다. |
SFTP_HOST | SFTP_HOST | |
SFTP_PORT | SFTP_PORT | 설정하지 않은 경우 22가 기본으로 설정된다. |
SFTP_USER | SFTP 사용자명 | anonymous가 기본값으로 설정된다. |
SFTP_PASS | SFTP 패스워드 | anonymous가 기본값으로 설정된다. |
SOCKET_PORT | Collector가 데이터를 입력받는 소켓 포트 번호 | |
SOCKET_PROTOCOL | Collector 소켓 프로토콜 종류 | 사용 가능한 값은 TCP와 UDP이며 기본값은 TCP이다. |
ODBC_DSN | ODBC 모드의 DSN | ".odbc.ini"의 값 |
ODBC_QUERY | ODBC 모드의 질의문 | ODBC 데이터 소스에서 입력 데이터를 얻기 위해 실행하는 Query string |
ODBC_SEQ_COLUMN | ODBC 모드의 증가되는 컬럼 명 | 숫자 컬럼만 가능하다. |
LIB_NAME | 외부 링크 라이브러리 패스 | 아직 사용되지 않는다. |
REGEX_PATH | 입력 데이터를 분석하기 위한 정규 표현식 파일 | ODBC모드에서는 사용되지 않는다. |
PREPROCESS_PATH | 데이터 선처리용 Python 스크립트 파일의 위치 | |
SLEEP_TIME | 데이터를 입력 완료후 대기 시간 | 밀리초 단위이며 기본값은 1000이다. |
DB_TABLE_NAME | 입력할 테이블 명 | |
DB_ADDR | 입력할 데이터베이스의 IP주소 | |
DB_PORT | 데이터베이스 포트 번호 | |
DB_USER | 데이터베이스 사용자명 | |
DB_PASS | 데이터베이스 패스워드 | |
APPEND_MODE | 데이터 입력 방법 설정 | 과거 버전과의 호환성을 위한 값으로 사용되지 않는다. |
AUTO_ADD_COLUMN | 테이블 컬럼이 없는 경우 이를 자동으로 생성할 지의 여부 0이면 생성하지 않고 1이면 자동 생성함. | 기본값은 1이다. |
CREATE_TABLE_MODE | 입력 테이블에 대한 연산을 설정한다. (0:아무것도 실행하지 않는다. 1: 기존 테이블을 truncate한다 2 : 테이블을 생성한다. 에러가 발생하면 에러를 trc에 기록하고 계속 진행한다. 3: 테이블을 drop하고 테이블을 재생성한다.) | 일반적으로 2로 설정하는 것을 추천한다. |
LANG | 입력 데이터 파일의 인코딩을 지정한다. | 사용가능 값은 UTF-8(기본값), CP949(MS949), KSC5601, EUCJP, SHIFTJIS, BIG5, BG231280가 지원된다. |
REGEX_SORT | 입력 파일의 순서를 결정한다. | 기본값은 ASC이며 DESC도 가능한다. |
ROTATE_FILE_PATH | Rotation 파일 경로명 설정 | |
ROTATE_FILE_COUNT | Rotation 파일 숫자 설정 | |
ROTATE_REGEX_SORT | Rotation 파일의 순서 설정 | 기본값은 ASC임 DESC도 가능한다. |
REGEX_PATH, PREPROCESS_PATH는 collector가 실행시에 참조하는 파일이다. 아래는 REGEX_PATH에 설정되는 rgx파일에 대한 설명이다.
표 2. 정규식 변수
변수 이름 | 설명 | 비고 |
---|---|---|
LOG_TYPE | 정규식 이름 | 수정될 수 있는 값이지만, 데이터 베이스에 함께 저장되므로 값을 유지하는 것이 좋다. |
COL_LIST | 테이블내의 컬럼들의 리스트 | 테이블에 속해있는 컬럼들의 정보 |
REGEX | 데이터 분석을 위한 정규표현식 | |
END_REGEX | 한 레코드의 끝을 의미하는 정규표현식 | 각각의 레코드를 구분하기위한 정규표현식. 설정하지않으면 "\n" 줄바꿈을 기본으로 사용한다. |
COL_LIST는 로그 파일과 데이터베이스 컬럼을 연결하는 정보를 기술한다. 정규표현식의 결과와 컬럼을 설정하는 다양한 정보를 설정해야 한다. COL_LIST를 이용하여 복잡한 로그 데이터를 구조화된 테이블 컬럼에 입력할 수 있다.
표 3. COL_LIST
변수 이름 | 설명 | 비고 |
---|---|---|
NAME | 컬럼 이름 | 스페이스를 포함하지 않은 문자열이다. |
TYPE | 컬럼의 데이터 타입 | 타입의 이름을 의미한다. |
SIZE | 컬럼의 사이즈 | 컬럼의 실제 지정된 크기를 의미한다. 문자열은 생성된 혹은 생성될 크기에 따라 다른 값을 지정한다.(short (6), int (11), long (20), float (17), double (17), datetime (31), varchar (User-defined), ipv4 (15), ipv6 (45), text (64MB), binary (64MB)) |
DATE_FORMAT | 타입이 datetime일 때, datetime 데이터의 형식 | 내부적으로 "strptime" 함수를 이용해 값을 파싱한다. e.g.) 'Aug 19 07:56:16' 는 '월 일 시간:분:초'의 포맷을 가진다. 따라서 사용되는 포맷값은 다음과 같다. "%b %d %H:%M:%S" add) 추가적인 인자로 %0,%1,%2가 존재하며 각각 밀리초, 마이크로초,나노초를 의미를 가지는 세자리 숫자가 입력된다. |
USE_INDEX | 인덱스 생성 여부 | 타입기반으로 LSM 또는 KEYWORD LSM 인덱스를 생성한다. 0: 생성하지 않는다./ 1: 생성한다. |
REGEX_NO | 정규표현식 내에서의 토큰 번호 | 정규식 파일에서 지정한 REGEX 문법중에 "()" 괄호로 싸인 영역이 하나의 토큰이 된다. 0번은 해당 레코드 데이터 전체를 의미한다. 이후 첫번째 위치한 괄호부터 1번 토큰이 된다. |
...