04.Beats

deveopser·2023년 1월 13일
0

ElasticSearch

목록 보기
5/7

1.Beats의 개념 및 아키텍처 이해

Beats는 경량 데이터 수집기로, 다양한 데이터 소스에서 데이터를 수집하고 Elasticsearch, Logstash 등과 같은 데이터 저장소에 전송하는 역할을 합니다. Beats는 모듈화된 구조를 가지며, 다양한 input과 output을 지원합니다.

Beats의 기본 아키텍처는 다음과 같습니다.

Input
데이터 소스에서 데이터를 수집합니다.
Filebeat, Metricbeat, Packetbeat, Winlogbeat 등 다양한 input을 지원합니다.
Harvester
Input에서 데이터를 수집하는 구성 요소입니다.
Harvester는 input에서 지정된 경로에서 파일을 읽거나, 서버 메트릭을 수집하거나, 네트워크 트래픽을 수집합니다.
Processor
Harvester에서 수집한 데이터를 처리합니다.
JSON 디코딩, 필드 추출, 데이터 유형 변환 등 다양한 기능을 제공합니다.
Shipper
Processor에서 처리한 데이터를 Elasticsearch, Logstash 등의 데이터 저장소로 전송합니다.
HTTP, Logstash, Kafka 등 다양한 output을 지원합니다.
Beat
Input, Harvester, Processor, Shipper를 하나의 패키지로 묶은 것입니다.
Filebeat, Metricbeat, Packetbeat, Winlogbeat 등 다양한 Beats가 있습니다.

Beats는 이러한 아키텍처를 이용하여 데이터 수집과 전송을 수행하며, 이를 활용하여 다양한 데이터 소스에서 데이터를 수집하고 Elasticsearch와 같은 데이터 저장소로 전송할 수 있습니다. Beats는 경량화된 구조로 설계되어 있어서, 높은 성능과 낮은 리소스 사용량을 가지고 있으며, 다양한 데이터 소스에 대한 통합을 제공합니다.

2.Filebeat, Metricbeat, Packetbeat, Winlogbeat 등 다양한 Beats 구성 학습

Beats는 다양한 데이터 소스에서 데이터를 수집하는데 사용되며, Filebeat, Metricbeat, Packetbeat, Winlogbeat 등 다양한 Beats가 있습니다. 다음은 각 Beats에 대한 간략한 설명입니다.

Filebeat
로그 파일과 같은 텍스트 파일에서 데이터를 수집합니다.
파일이 갱신될 때마다 데이터를 전송하여 실시간으로 데이터를 수집합니다.
로그 파일의 위치, 이름, 로테이션, 파일 포맷 등을 구성할 수 있습니다.
Metricbeat
시스템 및 애플리케이션 메트릭을 수집합니다.
CPU, 메모리, 디스크, 네트워크, Redis, MongoDB, Apache 등 다양한 메트릭을 수집합니다.
메트릭 데이터를 시각화하고, 경고를 설정하고, 대시보드를 생성할 수 있습니다.
Packetbeat
네트워크 패킷에서 데이터를 수집합니다.
HTTP, DNS, MySQL, MongoDB, Redis 등 다양한 프로토콜에서 데이터를 수집합니다.
패킷 데이터를 시각화하고, 경고를 설정하고, 대시보드를 생성할 수 있습니다.
Winlogbeat
Windows 이벤트 로그에서 데이터를 수집합니다.
시스템, 보안, 응용 프로그램, 서비스 등 다양한 이벤트 로그에서 데이터를 수집합니다.
이벤트 로그의 필터링, 덤프 및 전송, 시간 동기화 등을 구성할 수 있습니다.

이러한 Beats를 사용하여 다양한 데이터 소스에서 데이터를 수집하고, 이를 Elasticsearch와 같은 데이터 저장소에 저장하거나, Kibana를 이용하여 시각화하고 대시보드를 생성할 수 있습니다. Beats는 경량화된 구조로 설계되어 있어서, 높은 성능과 낮은 리소스 사용량을 가지고 있으며, 다양한 데이터 소스에 대한 통합을 제공합니다.

3.Beats를 이용한 데이터 수집 및 전송 실습

Beats를 사용하여 데이터를 수집하고 Elasticsearch와 같은 데이터 저장소로 전송하는 기본적인 실습 과정은 다음과 같습니다.

Beats 설치
Beats 공식 홈페이지에서 각 Beat별로 필요한 버전을 다운로드하고 설치합니다.
Input 구성
Beats의 input 설정에서 데이터 소스의 유형을 지정합니다.
예를 들어, 로그 파일을 수집하기 위해서는 Filebeat에서 file input을 사용합니다.
Output 구성
Beats의 output 설정에서 Elasticsearch 등의 데이터 저장소로 전송할 방식을 구성합니다.
Elasticsearch에 저장하기 위해서는 elasticsearch output 플러그인을 사용합니다.
필요시 Module 설정
Beats의 module 설정에서 사전에 구성된 다양한 데이터 소스 및 필터를 활용할 수 있습니다.
예를 들어, Metricbeat에서 Apache 모듈을 활용하여 Apache 웹 서버 메트릭 데이터를 수집할 수 있습니다.
Beats 실행
Beats의 설정 파일을 구성하고, Beats를 실행하여 데이터를 수집하고 처리합니다.

이러한 과정을 통해 Beats를 사용하여 다양한 데이터 소스에서 데이터를 수집하고 Elasticsearch와 같은 데이터 저장소로 전송할 수 있습니다. 이를 활용하여 로그 분석, 보안 이벤트 감지, 사용자 추적 등 다양한 분석 작업을 수행할 수 있습니다.

profile
부끄럽게 공부하지말자.

0개의 댓글