Logstash로 로그 구문 분석
에서 첫 번째 이벤트를 저축 해 , 당신은 당신의 Logstash 설정을 테스트 할 수있는 기본 Logstash 파이프 라인을 만들었습니다. 실제 세계에서 Logstash 파이프라인은 조금 더 복잡합니다. 일반적으로 하나 이상의 입력, 필터 및 출력 플러그인이 있습니다.
이 섹션에서는 Filebeat를 사용하여 Apache 웹 로그를 입력으로 사용하고, 해당 로그를 구문 분석하여 로그에서 이름이 지정된 특정 필드를 생성하고, 구문 분석된 데이터를 Elasticsearch 클러스터에 쓰는 Logstash 파이프라인을 생성합니다. 명령줄에서 파이프라인 구성을 정의하는 대신 구성 파일에서 파이프라인을 정의합니다.
시작하려면 여기 로 이동 하여 이 예제에 사용된 샘플 데이터 세트를 다운로드하십시오. 파일의 압축을 풉니다.
Logstash에 로그 라인을 보내도록 Filebeat 구성
Logstash 파이프라인을 생성하기 전에 Logstash에 로그 라인을 보내도록 Filebeat를 구성합니다. Filebeat의 클라이언트는 경량, 자원 친화적 인 도구입니다 처리에 대한 Logstash 인스턴스에 서버의 파일 및 전달이 로그에서를 수집 로그. Filebeat는 안정성과 짧은 대기 시간을 위해 설계되었습니다. Filebeat는 호스트 시스템에서 리소스 사용량이 적고 Beats input플러그인은 Logstash 인스턴스에 대한 리소스 요구를 최소화합니다.
일반적인 사용 사례에서 Filebeat는 Logstash 인스턴스를 실행하는 시스템과 별도의 시스템에서 실행됩니다. 이 자습서의 목적을 위해 Logstash와 Filebeat는 동일한 시스템에서 실행됩니다.
기본 Logstash 설치에는 Beats input플러그인이 포함됩니다 . Beats 입력 플러그인을 사용하면 Logstash가 Elastic Beats 프레임워크에서 이벤트를 수신할 수 있습니다. 즉, Packetbeat 및 Metricbeat와 같이 Beats 프레임워크와 함께 작동하도록 작성된 모든 Beat도 이벤트 데이터를 Logstash로 보낼 수 있습니다.
데이터 소스 시스템에 Filebeat를 설치하려면 Filebeat 제품 페이지 에서 적절한 패키지를 다운로드 하십시오 . 추가 설치 지침은 Filebeat 빠른 시작 을 참조할 수도 있습니다 .
Filebeat를 설치한 후 구성해야 합니다. filebeat.ymlFilebeat 설치 디렉터리에 있는 파일을 열고 내용을 다음 줄로 바꿉니다. 이전에 다운로드한 paths예제 Apache 로그 파일 을 가리키는 지 확인하십시오 logstash-tutorial.log.
파일 비트. 입력:
- 유형: 로그
경로:
- /path/to/file/logstash - tutorial.log
산출. 로그스태시:
호스트: [ "localhost:5044" ]
Filebeat가 처리하는 파일의 절대 경로입니다. |
변경 사항을 저장합니다.
구성을 단순하게 유지하기 위해 실제 시나리오에서와 같이 TLS/SSL 설정을 지정하지 않습니다.
데이터 원본 시스템에서 다음 명령으로 Filebeat를 실행합니다.
sudo ./ 파일 비트 - e - c 파일비트 . yml - d "게시"
Filebeat를 루트로 실행하는 경우 구성 파일의 소유권을 변경해야 합니다( Beats 플랫폼 참조 의 구성 파일 소유권 및 권한 참조 ).
Filebeat는 포트 5044에서 연결을 시도합니다. Logstash가 활성 Beats 플러그인으로 시작될 때까지 해당 포트에는 응답이 없으므로 해당 포트에서 연결 실패와 관련하여 표시되는 모든 메시지는 현재 정상입니다.
Filebeat 입력을 위한 Logstash 구성
다음으로 Beats에서 이벤트를 수신하기 위해 Beats 입력 플러그인을 사용하는 Logstash 구성 파이프라인을 생성합니다.
다음 텍스트는 구성 파이프라인의 골격을 나타냅니다.
# #의 행의 시작 부분에 문자는 주석을 나타냅니다 . # 주석을 사용 하여 구성을 설명하십시오 .
input { } # 이 파일 의 필터 부분은 주석 처리되어 # 선택 사항 임을 나타냅니다
. # 필터 { # # }
출력 { }
입력 및 출력 섹션에 유효한 옵션이 정의되어 있지 않기 때문에 이 골격은 작동하지 않습니다.
시작하려면 기본 구성 파이프라인을 복사 first-pipeline.conf하여 홈 Logstash 디렉터리에 있는 파일에 붙여넣습니다 .
그런 다음 파일 input섹션에 다음 줄을 추가하여 Beats 입력 플러그인을 사용하도록 Logstash 인스턴스를 구성합니다 first-pipeline.conf.
비트 {
포트 => "5044" }
나중에 Elasticsearch에 쓰도록 Logstash를 구성합니다. 지금 output은 Logstash를 실행할 때 출력이 stdout에 인쇄되도록 섹션에 다음 줄을 추가할 수 있습니다 .
'기술_Logstash' 카테고리의 다른 글
첫 번째 이벤트 시작 (0) | 2022.07.09 |
---|---|
Logstash 설치 (0) | 2022.07.09 |
Logstash 시작하기 (0) | 2022.07.08 |
Logstash 소개 (0) | 2022.07.08 |
민감한 속성 (0) | 2022.07.08 |