# LogBus Windows 버전 사용 가이드
이 섹션에서는 주로 데이터 전송 도구인 LogBus의 Windows 버전 사용 방법에 대해 설명합니다.
시작하기 전에, 데이터 규칙, TE의 데이터 형식 및 데이터 규칙에 익숙해진 후, 이 가이드를 읽고 진행해야 합니다.
LogBus로 업로드하는 데이터는 TE의 데이터 형식을 따라야 합니다.
# LogBus Windows 버전 다운로드
현재 버전: 1.3.0
업그레이드 시간: 2021-10-19
# 1. LogBus 소개
LogBus 도구는 주로 백엔드 로그 데이터를 TE 백그라운드에 실시간으로 가져오는 데 사용됩니다. 그 핵심은 Flume과 유사합니다. 서버 로그 디렉토리의 텍스트 스트림을 감시하고, 디렉토리 아래의 임의의 로그 텍스트에 새 데이터가 생성될 때, 새 데이터를 검증하고 실시간으로 TE 백그라운드로 전송합니다.
다음 카테고리의 사용자는 LogBus를 사용하여 데이터에 액세스하는 것이 좋습니다.
- 서버 SDK를 사용하는 사용자는 LogBus를 통해 데이터를 업로드합니다.
- 데이터의 정확성과 차원에 대한 요구가 높고, 클라이언트 SDK만으로 데이터 요구를 충족할 수 없거나 클라이언트 SDK에 접근하기 불편한 경우
- 백엔드 데이터 푸시 프로세스
- 대량의 히스토리 데이터
# 2. 사용 전 데이터 준비
- 먼저 전송할 데이터를 ETL로 TE의 데이터 형식으로 변환하거나 로컬에 작성하거나 Kafka 클러스터로 전송합니다. 서비스 측 SDK의 로컬 텍스트나 Kafka의 consumer를 사용하면, 데이터는 이미 올바른 형식으로 변환될 필요가 없습니다.
- 업로드된 데이터 텍스트가 저장된 디렉토리 또는 Kafka의 주소와 토픽을 특정하고, LogBus의 관련 설정을 설정하면, LogBus는 텍스트 디렉토리의 텍스트 변경(신규 또는 기존 텍스트 감시)을 감시하거나, Kafka의 데이터를 구독합니다.
- 감시 디렉토리에 저장되고 업로드된 데이터 로그의 이름을 직접 변경하지 마십시오. 이름 변경 로그는 새 텍스트에 해당하며, LogBus는 이러한 텍스트를 재업로드하여 데이터가 중복될 가능성이 있습니다.
- LogBus 구성요소에 데이터 버퍼가 포함되어 있기 때문에, LogBus 디렉토리가 디스크에 차지하는 용량이 조금 커질 수 있으므로, LogBus 설치 노드의 디스크 용량이 충분하고, 프로젝트의 데이터 전송마다 최소 10G의 저장 공간을 확보해야 합니다.
# 3. LogBus 설치 및 업그레이드
# 3.1 LogBus의 설치LogBus
- LogBus 도구 (opens new window)를 다운로드하고 압축을 풉니다.
- 압축 해제 후의 디렉토리 구조:
- bin: 시작 프로그램 폴더
- conf: 설정 텍스트 폴더
- lib: 기능 북클립
# 4. LogBus의 파라미터 설정
- 압축 해제 후의
conf
디렉토리에는,LogBus Template
의 모든 LogBus 설정 파라미터를 포함하는 설정 텍스트가 포함되어 있습니다. logBus.conf
를 열어 관련 파라미터 설정
# 4.1 프로젝트와 데이터 소스의 구성(필수 구성성)
- 프로젝트 APP_ID
APP_ID는 반복해서 설정할 수 없습니다
## APPID는 TGA 웹사이트의 토큰에서 가져옵니다.
## TA 백그라운드의 프로젝트 설정 페이지에서 접근하는 프로젝트의 APPID를 가져와 여기에 입력하세요.
## 여러 APPID는 ','로 분리합니다.
APPID=APPID_1,APPID_2
- 북 설정 모니터링(옵션 중에서 선택하고 반드시 구성해야 합니다)
# 4.1.1. 데이터 소스가 로컬 텍스트인 경우
The path and file name of the data file read by ##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
여러 토픽을 감시해야 할 경우, 공백을 사용해 토픽을 구분할 수 있습니다. 여러 APP_ID가 있는 경우, 각 APP_ID가 감시하는 토픽을 구분하기 위해 쉼표를 사용합니다. 파라미터 KAFKA_GROUPID
는 유일해야 합니다. 파라미터 KAFKA_OFFSET_RESET
, Kafka의 파라미터를 설정합니다. 기본값은 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 전송 파라미터 구성(필수 구성)
##전송 설정
##HTTP 전송을 사용하는 경우
##HTTP 전송을 사용하는 경우
PUSH_URL=http://receiver.ta.thinkingdata.cn/logbus
## 자체 호스팅 배포 서비스를 사용하는 경우, 전송 URL을 다음과 같이 수정하세요: http://Data Acquisition Address/logbus
##전송당 최대 개수
#BATCH=10000
##최소한 한 번 전송해야 하는 주기(초 단위)
#INTERVAL_SECONDS=600
##전송 스레드 수, 기본 단일 스레드, 네트워크 상태가 좋지 않을 때 사용 권장, 멀티 스레드는 더 많은 메모리와 CPU 자원을 소모합니다
#NUMTHREAD=1
##파일 전송을 위한 압축 포맷: gzip, snappy, none
#COMPRESS_FORMAT=none
# 4.3 변환기 구성(선택 구성)
##Converter type temporary supportjson csv regex splitter
#PARSE_TYPE=json
##형식에 추가된 고정 속성:name value,name1 value1
#LABELS=
##Attribute name and type for PARSE_ TYPE: CSV regex splitter, format:name type, name1 type 1
##지원하는 데이터 타입은:float int string date 리스트 불린
#SCHEMA=
##Specify separator, PARSE_ TYPE cannot be empty when CSV splitter
#SPLITTER=
##Specify the separator for the list type. When a list type exists, it defaults to:
#LIST_SPLITTER=,
##Regular expression, PARSE_ TYPE cannot be empty when regex
#FORMAT_REGEX=
# 4.4 감시 문서 삭제 구성(선택 구성)
# 감시 디렉토리 파일 삭제, 주석을 제거하여 삭제 파일 기능을 시작합니다.
# 일 또는 시간 단위로만 삭제할 수 있습니다.
# UNIT_ REMOVE=hour
#Delete how long ago
# OFFSET_ REMOVE=20
#Delete uploaded monitoring files every few minutes
# FREQUENCY_REMOVE=60
# 4.5 구성 문서 예시
##################################################################################
## Thinkingdata Data Analysis Platform Transfer Tool LogBus Profile
##Non-comments are required parameters and comments are optional parameters which can be adapted to your own circumstances
##Proper configuration
##Environmental Requirements: java8+, see TGA website for more detailed requirements
##http://doc.thinkinggame.cn/tdamanual/installation/logbus_installation.html
##################################################################################
##APPID token from TGA website
##Different APPIDs are separated by commas and cannot be configured repeatedly
APPID=from_tga1,from_tga2
#-----------------------------------source----------------------------------------
######file-source
##The path and file name of the data file read by LogBus (file name supports ambiguous matching) requires read permission
##Different APPIDs are separated by commas, while different directories of the same APPID are separated by spaces
##TAIL_ FILE File Names Support Regular Expressions in the Java Standard
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-----------------------------------------
##Transfer Settings
URL transmitted by ##
##If you are using a self-hosting deployment service, please modify the transfer URL to: http://Data Acquisition Address/logbus
##PUSH_URL=http://receiver.ta.thinkingdata.cn/logbus
PUSH_URL=http://${Data Acquisition Address}/logbus
##Maximum number per transmission
#BATCH=10000
##How often should it be transmitted at least once (in seconds)
#INTERVAL_SECONDS=60
##### http compress
##Compressed format for file transfer: gzip, snappy, none
#COMPRESS_FORMAT=none
##Do you add UUID attributes to each data
#IS_ADD_UUID=true
#------------------------------------parse----------------------------------------
##Converter type temporary support: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 리스트 불린
#SCHEMA=
##Specify separator, PARSE_ TYPE cannot be empty when CSV splitter
#SPLITTER=
##Specify the separator for the list type. When a list type exists, it defaults to:
#LIST_SPLITTER=,
##Regular expression, PARSE_ TYPE cannot be empty when regex
#FORMAT_REGEX=
#------------------------------------other----------------------------------------
##To start the delete file function, start the delete file program every hour by opening the note (you must open both fields below) to delete the file in the monitor directory.
##Delete files before offset by unit
##Delete how long ago
#OFFSET_ REMOVE=
##Only receive deletions by day or hour
#UNIT_REMOVE=
# 5. LogBus 시작
처음 시작하기 전에 다음 검사를 수행하세요:
- java 버전 확인
bin
디렉토리에는 두 가지 스크립트가 있습니다: logbus.bat
와 check_java.bat
여기서 check_java
는 java 버전이 요구 사항을 충족하는지를 검사하며, 스크립트를 실행하고 java 버전이 충족되지 않으면 Java version is less than 1.8 또는 Can't find java, please install jre first.와 같은 힌트가 있습니다.
JDK 버전을 업데이트하거나, 다음 섹션의 내용을 참조하세요.
- LogBus의 독립 실행형 JDK 설치
LogBus 배포 노드의 경우, 환경상의 이유로 JDK 버전이 LogBus의 요구 사항을 충족하지 않으며, LogBus의 JDK 버전으로 대체할 수 없습니다. 이 기능을 사용할 수 있습니다.
bin 디렉토리에 install_logbus_jdk.bat
이 있습니다.
이 스크립트를 실행하면 LogBus 작업 디렉토리에 Java 디렉토리가 추가됩니다. LogBus는 기본적으로 이 디렉토리의 JDK 환경을 사용합니다.
- logBus.conf의 설정을 완료하고, 파라미터 환경 검사 명령
logBus.conf의 설정에 대해서는 "LogBus 설정"을 참조하세요.
구성이 완료되면 env 명령을 실행하고, 구성 파라미터가 올바른지 확인하세요.
logbus.bat env
빨간색 오류 정보가 나타난 경우, 구성서에 예외 표시가 없을 때까지 다시 수정해야 합니다.
logBus.conf의 구성을 변경한 후, 새 구성을 활성화하려면 LogBus를 재시작해야 합니다.
- LogBus 시작
logbus.bat start
시작이 완료되면, logkit.exe가 열립니다. 닫지 마세요. 그렇지 않으면, 데이터가 중복되어 업로드될 수 있습니다.
# LogBus 명령어 상세
# 6.1 도움말 정보
파라미터나 --help
또는 -h
가 없으면, 도움말 정보가 표시됩니다.
주요 설명 LogBus의 명령어:
usage: logbus <Command | Auxiliary Command> [Option]
Command:
start LogBus 시작.
restart LogBus 재시작.
stop LogBus를 안전하게 종료.
reset LogBus를 읽기 레코드로 리셋.
stop_atOnce LogBus를 강제로 종료.
Auxiliary Command:
env 운영 환경 검증.
server [-url <url>|-url <url> -appid <appid>] 수신기 네트워크 테스트.
show_conf 현재 LogBus 구성 정보 표시.
version 버전 번호 표시.
update Logbus를 최신 버전으로 업데이트.
Option:
-appid <appid> 프로젝트 appid
-h,--help 도움말 문서 표시 및 종료.
-path <path> 테스트 파일의 절대 경로 지정
-url <url> 테스트를 위한 URL 주소 지정
Instance:
logbus.bat start LogBus 시작.
logbus.bat stop LogBus 안전하게 종료.
logbus.bat restart LogBus 재시작.
logbus.bat server -url http://${Receiver Address}/logbus -appid ***** 수신기 네트워크 테스트
# 6.2 전송 채널 검사 server -url
포맷 검사를 완료한 후, 데이터 채널을 검사해야 합니다. server-url
명령을 사용하여 검사할 수 있습니다. 검사와 동시에, TE 플랫폼에서 수신한 APP_ID를 입력할 수 있습니다. APP_ID와 프로젝트가 바인딩되어 있는지 주의하세요. 입력하기 전에, 입력한 APP_ID가 프로젝트에 해당하는지 확인하세요.
logbus.bat server -url http://${Receiver Address}/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.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는 모든 데이터를 다시 업로드합니다. 불분명한 조건에서 명령을 사용하면, 데이터가 중복될 수 있습니다. TA 스태프와 커뮤니케이션을 한 후 사용하는 것이 좋습니다.
logbus.bat reset
리셋 명령을 사용한 후, start를 실행하여 데이터 전송을 재개합니다.
# 6.11 버전 보기 version
사용 중인 LogBus의 버전을 알고 싶다면 version 명령을 사용할 수 있습니다.
logbus.bat version
# 7. ChangeLog
# 버전 1.3.0 --- 2021/10/19
- 비TA 형식 데이터 업로드 지원
# 버전 1.2.0 --- 2021/05/26
- cygWin 모드 지원
# 버전 1.1.0 --- 2020/08/28
- #UUID 지원
- #이벤트_id 및 #첫_검사_id 지원
- 멀티 스레드 전송 지원
- 구분자 분석 및 정규 표현식 분석 지원
# 버전 1.0.0 --- 2020/06/25
- LogBus-Windows 출시