이 애플리케이션은 udplogbeat를 대체하기 위한 것입니다. 매우 유사하지만 몇 가지 개선 사항이 있으며 UDP 또는 TCP를 통해 시작할 수 있습니다. 일반 텍스트 또는 JSON 로그를 허용하고 syslog 대상 대체 역할도 할 수 있습니다.
이 폴더가 ${GOPATH}/github.com/harfordfive
위치에 있는지 확인하세요.
protologbeat.protocol
: tcp 또는 udp (기본값: udp)protologbeat.address
: 프로세스가 수신할 주소(기본값: 127.0.0.1)protologbeat.port
: 프로세스가 수신할 포트(기본값 = 5000)protologbeat.max_message_size
: 허용되는 최대 메시지 크기(기본값 = 4096)protologbeat.json_mode
: JSON 형식 메시지만 로깅 활성화(기본값 = false)protolog.merge_fields_to_root
: json_mode가 활성화되면 구문 분석된 필드를 루트 수준으로 병합합니다. (기본값 = false)protologbeat.default_es_log_type
: 이벤트가 지정되지 않은 경우 이벤트에 할당할 Elasticsearch 유형(기본값: protologbeat)protologbeat.enable_syslog_format_only
: syslog 메시지만 허용할지 여부를 나타내는 부울 값입니다. (기본값 = false)protologbeat.enable_gelf
: 프로세스가 GELF 형식의 메시지만 허용하는 모드인지 여부를 나타내는 부울 값protologbeat.enable_json_validation
: json
형식 메시지에 JSON 스키마 유효성 검사를 적용해야 하는지 여부를 나타내는 부울 값(기본값 = false)protologbeat.validate_all_json_types
: json_mode가 활성화되면 모든 유형에 스키마가 지정되어야 하는지 여부를 나타냅니다. 스키마가 없는 유형의 로그 항목은 게시되지 않습니다. (기본값 = false)protologbeat.json_schema
: Elasticsearch 유형을 키로, 절대 로컬 스키마 파일 경로를 값으로 구성된 해시입니다. 다음은 protologbeat
섹션에 대한 구성 블록의 예입니다.
JSON 스키마는 http://jsonschema.net/의 객체에서 자동으로 생성될 수 있습니다. email_contact 및 stock_item 스키마를 예로 볼 수도 있습니다.
다양한 언어로 된 클라이언트의 예는 _samples/
디렉터리를 참조하세요.
Protologbeat를 실행하고 종속성도 설치하려면 다음 명령을 실행하세요.
make setup
각 주요 단계에 대해 깨끗한 Git 기록을 생성합니다. 변경 사항을 푸시하기 전에 원하는 경우 언제든지 기록을 다시 작성할 수 있습니다.
Protologbeat를 git 저장소에 푸시하려면 다음 명령을 실행하세요.
git remote set-url origin https://github.com/harfordfive/protologbeat
git push origin master
추가 개발에 대해서는 비트 개발자 가이드를 확인하세요.
Protologbeat용 바이너리를 빌드하려면 아래 명령을 실행하세요. 그러면 동일한 디렉터리에 protologbeat라는 이름의 바이너리가 생성됩니다.
make
OSX, Linux 및/또는 Windows용 바이너리를 빌드하려면 다음을 실행할 수 있습니다.
./build-bin [TAG_VERSION]
결과 바이너리는 bin/
디렉터리에 저장됩니다.
디버깅 출력이 활성화된 상태에서 Protologbeat를 실행하려면 다음을 실행하세요.
./protologbeat -c protologbeat.yml -e -d "*"
Protologbeat를 테스트하려면 다음 명령을 실행하세요.
make testsuite
대안적으로:
make unit-tests
make system-tests
make integration-tests
make coverage-report
테스트 적용 범위는 ./build/coverage/
폴더에 보고됩니다.
각 비트에는 Elasticsearch의 매핑을 위한 템플릿과 etc/fields.yml
기반으로 자동 생성되는 필드에 대한 문서가 있습니다. etc/protologbeat.template.json 및 etc/protologbeat.asciidoc을 생성하려면
make update
Protologbeat 소스 코드를 정리하려면 다음 명령을 실행하세요.
make fmt
make simplify
빌드 디렉터리와 생성된 아티팩트를 정리하려면 다음을 실행하세요.
make clean
git 저장소에서 Protologbeat를 복제하려면 다음 명령을 실행하세요:
mkdir -p ${GOPATH}/github.com/harfordfive
cd ${GOPATH}/github.com/harfordfive
git clone https://github.com/harfordfive/protologbeat
추가 개발에 대해서는 비트 개발자 가이드를 확인하세요.
이 비트에 대한 Docker 이미지는 여기에서 찾을 수 있습니다. 컨테이너는 기본 프로토콜/주소/포트를 수신하고 일반 텍스트 메시지를 수락하는 기본 구성으로 시작됩니다. 사용자 정의하려면 샘플 protologbeat.full.yml 구성을 수정하고 원본을 덮어쓰는 고유한 Docker 파일을 생성하세요.
비트 프레임워크는 다양한 플랫폼에 맞게 비트를 크로스컴파일하고 패키징하는 도구를 제공합니다. 이를 위해서는 위에서 설명한 대로 도커와 벤더링이 필요합니다. 비트 패키지를 빌드하려면 다음 명령을 실행하세요.
make package
그러면 빌드 프로세스에 필요한 모든 이미지를 가져오고 생성합니다. 구멍을 뚫는 과정은 몇 분 정도 걸릴 수 있습니다.