본문으로 건너뛰기

LogBus Windows 버전 사용 가이드

최근 업데이트 2026. 10. 05.

이 섹션에서는 데이터 전송 도구 LogBus의 Windows 버전 사용 방법을 소개합니다:

연동을 시작하기 전에 먼저 데이터 규칙을 읽어야 합니다. TE의 데이터 형식과 데이터 규칙을 숙지한 후 이 가이드를 읽고 연동을 진행하십시오.

LogBus로 업로드하는 데이터는 반드시 TE의 데이터 형식을 따라야 합니다

LogBus Windows 버전 다운로드​

최신 버전: 1.3.0

업데이트 시간: 2021-10-19

다운로드 주소

1. LogBus 소개​

LogBus 도구는 주로 백엔드의 로그 데이터를 TE 백엔드로 실시간 적재하는 데 사용합니다. 핵심 동작 원리는 Flume과 비슷하며, 서버 로그 디렉터리의 파일 스트림을 모니터링하다가 디렉터리 내 로그 파일에 새 데이터가 생기면 새 데이터를 검증한 후 TE 백엔드로 실시간 전송합니다.

다음과 같은 사용자에게 LogBus를 통한 데이터 연동을 권장합니다:

  1. 서버 SDK를 사용하며 LogBus로 데이터를 업로드하는 사용자
  2. 데이터의 정확성과 차원에 대한 요구가 높아 클라이언트 SDK만으로는 데이터 요구를 충족할 수 없거나, 클라이언트 SDK를 연동하기 어려운 경우
  3. 백엔드 데이터 푸시 프로세스를 직접 개발하고 싶지 않은 경우
  4. 대량의 과거 데이터를 전송해야 하는 경우

2. 사용 전 데이터 준비​

1. 먼저 전송할 데이터를 ETL로 TE의 데이터 형식으로 변환하여 로컬에 기록하거나 Kafka 클러스터로 전송합니다. 서버 SDK의 로컬 파일 기록용 consumer나 Kafka용 consumer를 사용하는 경우 데이터가 이미 올바른 형식이므로 변환할 필요가 없습니다.

2. 업로드할 데이터 파일을 저장할 디렉터리 또는 Kafka의 주소와 topic을 정하고 LogBus의 관련 설정을 구성합니다. LogBus는 파일 디렉터리의 파일 변경(새 파일 생성 또는 기존 파일 tail)을 모니터링하거나 Kafka의 데이터를 구독합니다.

3. 모니터링 디렉터리에 저장되어 이미 업로드된 데이터 로그의 이름을 직접 변경하지 마십시오. 로그 이름을 변경하면 새 파일을 만든 것과 같아서 LogBus가 해당 파일을 다시 업로드하여 데이터가 중복될 수 있습니다.

4. LogBus 데이터 전송 컴포넌트에는 데이터 버퍼가 있어 LogBus 디렉터리가 디스크를 다소 많이 차지할 수 있습니다. 따라서 LogBus 설치 노드의 디스크 공간이 충분한지 확인하십시오. 프로젝트 1개(즉 APP_ID 1개 추가)로 데이터를 전송할 때마다 최소 10G의 저장 공간을 확보해야 합니다.

3. LogBus 설치 및 업그레이드​

3.1 LogBus 설치​

1. LogBus 압축 파일을 다운로드하고 압축을 해제합니다.

2. 압축 해제 후 디렉터리 구조:

  1. bin: 실행 프로그램 폴더
  2. conf: 설정 파일 폴더
  3. lib: 기능 폴더

4. LogBus 파라미터 설정​

1. 압축 해제한 conf 디렉터리로 이동하면 설정 파일 logBus.conf.Template이 있습니다. 이 파일에는 LogBus의 모든 설정 파라미터가 들어 있으며, 처음 사용할 때 logBus.conf로 이름을 바꾸면 됩니다.

2. logBus.conf 파일을 열어 관련 파라미터를 설정합니다

4.1 프로젝트 및 데이터 소스 설정(필수 설정)​

  • 프로젝트 APP_ID

APP_ID는 중복 설정할 수 없습니다

##APPID는 tga 공식 사이트의 token입니다. TE 백엔드의 프로젝트 구성 페이지에서 연동할 프로젝트의 APPID를 확인하여 여기에 입력하며, 여러 APPID는 ","로 구분

APPID=APPID_1,APPID_2
  • 모니터링 파일 설정(둘 중 하나를 선택, 필수 설정)

4.1.1. 데이터 소스가 로컬 파일인 경우​

##LogBus가 읽는 데이터 파일의 경로 및 파일명(파일명은 퍼지 매칭 지원), 읽기 권한 필요
##서로 다른 APPID는 쉼표로 구분하고, 같은 APPID의 서로 다른 디렉터리는 공백으로 구분
##TAIL_FILE의 파일명은 와일드카드 매칭 지원
TAIL_FILE=C:/path1/dir*/log.*,C:/path3/txt.*

TAIL_FILE은 여러 경로 아래 여러 하위 디렉터리에 있는 여러 파일의 모니터링을 지원합니다

해당 파라미터 설정:

APPID=APPID1,APPID2

TAIL_FILE=C:/root/log_dir1/dir_*/log.* C:/root/log_dir*/log*/log.*,C:/test_log/*

구체적인 규칙은 다음과 같습니다:

  • 같은 APP_ID의 여러 모니터링 경로는 공백으로 구분합니다
  • 서로 다른 APP_ID의 모니터링 경로는 쉼표","로 구분하며, 쉼표로 구분한 모니터링 경로가 순서대로 각 APP_ID에 대응합니다
  • 모니터링 경로의 디렉터리는 와일드카드로 모니터링할 수 있습니다
  • 파일명은 와일드카드로 모니터링할 수 있습니다
  • 경로 구분자로 "/" 또는 "\\\\"를 사용할 수 있으며, "\"는 사용하지 마십시오. 예: C:/root/_.log 또는 C:\\\\root\\\\_.log

모니터링할 로그 파일을 서버의 루트 디렉터리에 저장하지 마십시오.


4.1.2. 데이터 소스가 kafka인 경우​

파라미터 KAFKA_TOPICS로 여러 topic을 모니터링해야 하는 경우 각 topic을 공백으로 구분합니다. APP_ID가 여러 개인 경우 각 APP_ID가 모니터링하는 topic을 반각 쉼표로 구분합니다. 파라미터 KAFKA_GROUPID는 고유해야 합니다. 파라미터 KAFKA_OFFSET_RESET으로 Kafka의 kafka.consumer.auto.offset.reset 파라미터를 설정할 수 있으며, 가능한 값은 earliest와 latest이고 기본값은 earliest입니다.

주의: 데이터 소스의 Kafka 버전은 반드시 0.10.1.0 이상이어야 합니다

단일 APP_ID 예시:

APPID=appid1

######kafka 설정
#KAFKA_GROUPID=tga.group
#KAFKA_SERVERS=localhost:9092
#KAFKA_TOPICS=topic1 topic2
#KAFKA_OFFSET_RESET=earliest

복수 APP_ID 예시:

APPID=appid1,appid2

######kafka 설정
#KAFKA_GROUPID=tga.group
#KAFKA_SERVERS=localhost:9092
#KAFKA_TOPICS=topic1 topic2,topic3 topic4
#KAFKA_OFFSET_RESET=earliest

4.2 전송 파라미터 설정(필수 설정)​

##전송 설정
##전송할 url

##http 전송 시 사용
PUSH_URL=https://global-receiver-ta.thinkingdata.cn/logbus
##프라이빗 배포 서비스를 사용하는 경우 전송 URL을 다음으로 수정하십시오: http://데이터 수집 주소/logbus

##1회 전송 최대 건수
#BATCH=10000
##최소 전송 간격(단위: 초)
#INTERVAL_SECONDS=600
##전송 스레드 수, 기본값은 단일 스레드. 네트워크 상태가 좋지 않을 때 사용을 권장하며, 멀티 스레드는 더 많은 메모리와 CPU 리소스를 소모함
#NUMTHREAD=1

##파일 전송 압축 포맷:gzip,snappy,none
#COMPRESS_FORMAT=none

4.3 변환기 설정(선택 설정)​

##변환기 유형은 현재 json csv regex splitter 지원
#PARSE_TYPE=json

##추가 고정 속성, 형식: name value,name1 value1
#LABELS=

##속성 이름과 타입, PARSE_TYPE이 csv regex splitter일 때 적용, 형식: name type,name1 type1
##지원 타입: float int string date list bool
#SCHEMA=

##구분자 지정, PARSE_TYPE이 csv splitter일 때 비워 둘 수 없음
#SPLITTER=

##list 타입의 구분자 지정, list 타입이 있을 때 적용, 기본값은 ,
#LIST_SPLITTER=,

##정규표현식, PARSE_TYPE이 regex일 때 비워 둘 수 없음
#FORMAT_REGEX=

4.4 모니터링 파일 삭제 설정(선택 설정)​

# 모니터링 디렉터리 파일 삭제. 주석을 해제하면 파일 삭제 기능이 활성화됨
# 일(day) 또는 시간(hour) 단위로만 삭제 가능
# UNIT_REMOVE=hour
# 얼마나 이전의 파일을 삭제할지
# OFFSET_REMOVE=20
# 이미 업로드된 모니터링 파일 삭제, 삭제 간격(분)
# FREQUENCY_REMOVE=60

4.5 설정 파일 예시​

##################################################################################
## thinkingdata 데이터 분석 플랫폼 전송 도구 logBus 설정 파일
##주석 처리되지 않은 항목은 필수 파라미터, 주석 처리된 항목은 선택 파라미터이며, 상황에 맞게
##적절히 설정하십시오
##환경 요구 사항: java8+, 자세한 요구 사항은 tga 공식 사이트 참고
##https://docs.thinkingai.cn/zh/integration/logbus_legacy_installation
##################################################################################

##APPID는 tga 공식 사이트의 token
##서로 다른 APPID는 쉼표로 구분, 중복 설정 불가
APPID=from_tga1,from_tga2

#-----------------------------------source----------------------------------------

######file-source
##LogBus가 읽는 데이터 파일의 경로 및 파일명(파일명은 퍼지 매칭 지원), 읽기 권한 필요
##서로 다른 APPID는 쉼표로 구분하고, 같은 APPID의 서로 다른 디렉터리는 공백으로 구분
##TAIL_FILE의 파일명은 와일드카드 매칭 지원
TAIL_FILE=C:/path1/log.* C:/path2/txt.*,C:/path3/log.* C:/path4/log.* C:/path5/txt.*

######kafka-source
#KAFKA_GROUPID=tga.flume
#KAFKA_SERVERS=
#KAFKA_TOPICS=
#KAFKA_OFFSET_RESET=earliest

#------------------------------------sink-----------------------------------------
##전송 설정
##전송할 url
##프라이빗 배포 서비스를 사용하는 경우 전송 URL을 다음으로 수정하십시오: http://${RECEIVER_URL}/logbus(RECEIVER_URL은 데이터 수집 주소)
##PUSH_URL=https://global-receiver-ta.thinkingdata.cn/logbus
PUSH_URL=http://${RECEIVER_URL}/logbus

##1회 전송 최대 건수
#BATCH=10000

##최소 전송 간격(단위: 초)
#INTERVAL_SECONDS=60

##### http 전송
##파일 전송 압축 포맷:gzip,snappy,none
#COMPRESS_FORMAT=none

##각 데이터에 uuid 속성 추가 여부
#IS_ADD_UUID=true

#------------------------------------parse----------------------------------------
##변환기 유형은 현재 json csv regex splitter 지원
#PARSE_TYPE=json

##추가 고정 속성, 형식: name value,name1 value1
#LABELS=

##속성 이름과 타입, PARSE_TYPE이 csv regex splitter일 때 적용, 형식: name type,name1 type1
##지원 타입: float int string date list bool
#SCHEMA=

##구분자 지정, PARSE_TYPE이 csv splitter일 때 비워 둘 수 없음
#SPLITTER=

##list 타입의 구분자 지정, list 타입이 있을 때 적용, 기본값은 ,
#LIST_SPLITTER=,

##정규표현식, PARSE_TYPE이 regex일 때 비워 둘 수 없음
#FORMAT_REGEX=

#------------------------------------other----------------------------------------
##모니터링 디렉터리의 파일 삭제. 주석을 해제하면(아래 두 필드를 모두 해제해야 함) 파일 삭제 기능이 활성화되며, 1시간마다 파일 삭제 프로그램이 실행됨
##unit 기준으로 offset 이전의 파일 삭제
##얼마나 이전의 파일을 삭제할지
#OFFSET_REMOVE=
##일(day) 또는 시간(hour) 단위 삭제만 허용
#UNIT_REMOVE=

5. LogBus 시작​

처음 시작하기 전에 다음 사항을 확인하십시오:

1. java 버전 확인

bin 디렉터리로 이동하면 check_java.bat와 logbus.bat 두 개의 스크립트가 있습니다

이 중 check_java는 java 버전이 요구 사항을 충족하는지 확인하는 데 사용합니다. 스크립트를 실행했을 때 java 버전이 충족되지 않으면 Java version is less than 1.8 또는 Can't find java, please install jre first. 등의 메시지가 표시됩니다

JDK 버전을 업데이트하거나 다음 섹션의 내용을 참고하여 LogBus 전용 JDK를 설치할 수 있습니다

2. LogBus 전용 JDK 설치

LogBus 배포 노드의 환경 때문에 JDK 버전이 LogBus 요구 사항을 충족하지 못하고, LogBus를 충족하는 JDK 버전으로 교체할 수도 없는 경우 이 기능을 사용할 수 있습니다.

bin 디렉터리로 이동하면 install_logbus_jdk.bat가 있습니다.

이 스크립트를 실행하면 LogBus 작업 디렉터리에 java 디렉터리가 새로 생성되며, LogBus는 기본적으로 이 디렉터리의 JDK 환경을 사용합니다.

3. logBus.conf 설정을 완료하고 파라미터 환경 검사 명령을 실행합니다

logBus.conf 설정은 LogBus 설정 섹션을 참고하십시오

설정을 완료한 후 env 명령을 실행하여 설정 파라미터가 올바른지 확인합니다

logbus.bat env

빨간색 오류 정보가 출력되면 설정에 문제가 있는 것이므로, 설정 파일에 오류 알림이 더 이상 나타나지 않을 때까지 다시 수정해야 합니다.

logBus.conf 설정을 수정한 후에는 새 설정을 적용하기 위해 LogBus를 재시작해야 합니다

4. LogBus 시작

logbus.bat start

시작이 완료되면 logkit.exe가 실행됩니다. 이를 닫지 마십시오. 닫으면 데이터가 중복 업로드될 수 있습니다

6. LogBus 명령 상세 설명​

6.1 도움말 정보​

파라미터 없이 실행하거나 --help 또는 -h를 사용하면 도움말 정보가 표시됩니다

LogBus의 주요 명령은 다음과 같습니다:

usage: logbus <명령|보조 명령> [옵션]
명령:
start logBus 시작.
restart logBus 재시작.
stop logBus 안전 종료.
reset logBus 읽기 기록 초기화.
stop_atOnce logBus 강제 종료.
보조 명령:
env 실행 환경 검증.
server [-url <url>|-url <url> -appid <appid>] 수신 측 네트워크 상태 테스트
show_conf 현재 logBus 설정 정보 표시.
version 버전 번호 표시.
update logbus를 최신 버전으로 업데이트.

옵션:
-appid <appid> 프로젝트 appid
-h,--help 도움말 문서를 표시하고 종료.
-path <path> 테스트 파일의 절대 경로 지정
-url <url> 테스트할 url 주소 지정
예시:
logbus.bat start logBus 시작.
logbus.bat stop logBus 안전 종료.
logbus.bat restart logBus 재시작.
logbus.bat server -url http://${수신 측 주소}/logbus -appid ***** 수신 측 네트워크 상태 테스트

6.2 전송 채널 검사server -url​

형식 검증을 완료한 후에는 데이터 채널이 연결되었는지도 확인해야 합니다. server -url 명령으로 검증할 수 있으며, 검증할 때 TE 플랫폼에서 받은 APP_ID를 함께 입력할 수 있습니다. APP_ID는 프로젝트에 연결되어 있으므로, 입력하기 전에 입력하는 APP_ID가 해당 프로젝트의 것인지 반드시 확인하십시오

logbus.bat server -url http://${수신 측 주소}/logbus -appid ${appid}

6.3 설정 정보 표시show_conf​

show_conf 명령으로 LogBus의 설정 정보를 확인할 수 있으며, 표시 내용은 아래 그림과 같습니다:

logbus.bat show_conf

6.4 시작 환경 검사env​

env로 시작 환경을 검사할 수 있습니다. 출력된 정보 뒤에 별표가 붙어 있으면 설정에 문제가 있는 것이므로, 별표가 더 이상 표시되지 않을 때까지 다시 수정해야 합니다.

logbus.bat env

6.5 LogBus 버전 업그레이드update​

update를 사용하여 버전을 온라인으로 업데이트할 수 있습니다. 이 명령은 LogBus를 최신 버전으로 업데이트합니다

logbus.bat update

6.6 시작start​

형식 검증, 데이터 채널 검사, 환경 검사를 마치면 LogBus를 시작하여 데이터를 업로드할 수 있습니다. LogBus는 파일에 새 데이터가 기록되었는지 자동으로 감지하고, 새 데이터가 있으면 업로드합니다.

logbus.bat start

6.7 중지stop​

LogBus를 중지하려면 stop 명령을 사용하십시오. 이 명령은 다소 시간이 걸리지만 데이터 손실은 없습니다.

logbus.bat stop

6.8 중지stop_atOnce​

LogBus를 즉시 중지하려면 stop_atOnce 명령을 사용하십시오. 이 명령은 데이터 손실을 일으킬 수 있습니다.

logbus.bat stop_atOnce

6.9 재시작restart​

restart 명령으로 LogBus를 재시작할 수 있으며, 설정 파라미터를 수정한 후 새 설정을 적용할 때 적합합니다.

logbus.bat restart

6.10 초기화reset​

reset을 사용하면 LogBus가 초기화됩니다. 이 명령은 반드시 신중하게 사용하십시오. 사용하면 파일 전송 기록이 지워지고 LogBus가 모든 데이터를 다시 업로드합니다. 조건이 명확하지 않은 상태에서 이 명령을 사용하면 데이터가 중복될 수 있습니다. ThinkingAI 담당자와 상의한 후 사용하는 것을 권장합니다.

logbus.bat reset

초기화 명령을 사용한 후에는 start를 실행하여 데이터 전송을 다시 시작해야 합니다

6.11 버전 번호 확인version​

사용 중인 LogBus의 버전 번호를 확인하려면 version 명령을 사용할 수 있습니다. LogBus에 이 명령이 없다면 사용 중인 버전은 초기 버전입니다

logbus.bat version

7. ChangeLog​

버전 1.3.0 --- 2021/10/19​

  • TE 형식이 아닌 데이터 업로드 지원

버전 1.2.0 --- 2021/05/26​

  • cygWin 모드 지원

버전 1.1.0 --- 2020/08/28​

  • #UUID 추가 지원
  • #event_id 및 #first_check_id 지원
  • 멀티 스레드 전송 지원
  • 구분자 파싱 및 정규식 파싱 지원

버전 1.0.0 --- 2020/06/25​

  • LogBus-Windows 출시
이 문서가 도움이 되었나요?