엘라스틱서치 수집기, 비츠(Beats) 이해하기
- 빅데이터 및 DB/검색엔진, 엘라스틱 스택
- 2022. 10. 13.
비츠(Beats)는 컴퓨터, 네트워크, 앱과 같은 데이터를 전송하는 경량 데이터 전달자이다. Beats인 이유는 비츠라는 어플리케이션 하나로 구성된 것이 아니라 상황에 맞게 다양한 비트(Beat)가 있기 때문이다.
로그스태시(Logstash)와 비교
엘라스틱서치에 데이터를 전달해주는 역할로는 로그스태시(Logstash)도 존재하는데 로그스태시는 다양한 소스에서 데이터를 수집하는 커다란 데이터 전송 솔루션이라 본다면 비츠는 로그스태시에 비해 차지하는 공간이 작고, 더 적은 리소스를 사용한다.
게다가 비츠는 수집해야 하는 서버에 에이전트를 설치하는 식이라 목적은 같지만 사용하는 방식이 완전 다르다 할 수 있다. 아래는 엘라스틱서치에서 설명하는 로그스태시와 비츠의 비교내용이다.
Beats는 서버에 에이전트로 설치하여 특정 유형의 운영 데이터를 Elasticsearch로 보내는 경량 데이터 배송업체입니다. Beats는 차지하는 공간이 작고 Logstash보다 적은 시스템 리소스를 사용합니다. Logstash는 더 큰 공간을 차지하지만 다양한 소스에서 데이터를 수집, 강화 및 변환하기 위한 광범위한 입력, 필터 및 출력 플러그인을 제공합니다.
비츠 구성
위 비츠의 구성도를 보면 파일비트(Filebeat), 메트릭비트(Metricbeat), 패킷비트(Packetbeat), 윈로그비트(Winlogbeat)가 각자 수집한 데이터를 엘라스틱서치에 전송한 다음 키바나는 엘라스틱서치에서 데이터를 가져와 데이터 시각화를 하는 것을 알 수 있다.
libbeat
비트는 libbeat라는 라이브러리를 이용하여 주요 비트 뿐만 아니라 나만의 다양한 비트들을 만들 수 있고, 오직 나만의 비트도 만들 수 있다.
주요 비트와 다양한 비트들
주요 비트는 엘라스틱 내부의 다운로드 페이지에서 정식으로 릴리즈 되는 것을 꼽았습니다.
주요비트 목록
- 윈로그비트(Winlogbeat)
- 패킷비트(Packetbeat)
- 메트릭비트(Metricbeat)
- 하트비트(Heartbeat)
- 펑션비트(Functionbeat)
- 파일비트(Filebeat)
그외 다양한 비트들 [1]
비트 | 비트 내용 |
amazonbeat | 지정된 Amazon 제품에서 데이터를 읽습니다. |
apachebeat | Apache HTTPD 서버 상태에서 상태를 읽습니다. |
apexbeat | APEX 툴킷을 통해 Java 응용프로그램에서 구성 가능한 상황별 데이터 및 메트릭을 추출합니다. |
browserbeat | 브라우저 기록(Chrome, Firefox 및 Safari)을 읽고 Elastic 출력으로 전송합니다. |
cborbeat | cbor 인코딩된 파일(특히 로그 파일)에서 읽습니다. 추가: CBOR 인코딩 디코더 |
cloudflarebeat | Cloudflare Enterprise 로그 공유 API에서 로그 항목을 인덱싱합니다. |
cloudfrontbeat | Amazon Web Services CloudFront에서 로그 이벤트를 읽습니다. |
discobeat | 디스코드에서 메세지를 읽고 엘라스틱서치에서 인덱싱합니다. |
dockbeat | docker 컨테이너 통계를 읽고 엘라스틱서치에서 인덱싱합니다. |
elasticbeat | 엘라스틱서치 클러스터에서 상태를 읽고 엘라스틱서치에서 인덱싱합니다. |
etherbeat | 이더리움 호환 블록체인에서 블록을 읽고 엘라스틱서치에 색인을 생성합니다. |
githubbeat | 깃허브 레파지토리 활동을 쉽게 모니터링합니다. |
kafkabeat | 카프카 토픽에서 데이터를 읽습니다 |
krakenbeat | 크라켄 암호화폐 거래소에서 각 거래에 대한 정보를 수집합니다. |
protologbeat | UDP 또는 TCP를 통해 구조화 및 구조화되지 않은 로그를 허용합니다. syslog 메시지 또는 GELF 형식 메시지를 수신하는 데 사용할 수도 있습니다. (udplogbeat의 후속 제품으로 사용 예정) |
pubsubbeat | Google Cloud Pub/Sub에서 데이터를 읽습니다 |
redditbeat | 하나 또는 여러 하위 레딧의 새로운 레딧 제출물을 수집합니다. |
rsbeat | redis 느린 로그를 엘라스틱서치로 전송하고 키바나에서 분석합니다. |
servicebeat | 엘라스틱서치에 서비스 상태 보내기 |
springbeat | 액추에이터 모듈과 함께 실행 중인 스프링 부팅 응용 프로그램에서 상태 및 메트릭 데이터를 수집합니다. |
springboot2beat | mircometer.io 메트릭 파사드를 활용하여 웹 채널을 통해 Spring Boot 2 웹 앱의 모든 메트릭 엔드포인트를 쿼리하고 누적합니다. |
terminalbeat | 외부 명령을 실행하고 동일한 명령의 stdout을 Elasticsearch/Logstash로 전달합니다. |
twitterbeat | 지정된 화면 이름에 대한 트윗을 읽습니다. |
참고자료
[1] 나만의 Beat 만들기
'빅데이터 및 DB > 검색엔진, 엘라스틱 스택' 카테고리의 다른 글
[Elasticsearch] Python으로 삼성전자 주식 데이터 저장 (0) | 2022.01.25 |
---|---|
[엘라스틱서치] 필수 옵션 설정하기 (elasticsearch.yml) (0) | 2021.05.28 |
[엘라스틱서치] 검색하기 1편 (0) | 2020.11.03 |
[엘라스틱서치] 스키마(Schema) 등록하기 (1) | 2020.10.16 |
엘라스틱서치 노드(Node)의 종류 (0) | 2020.09.16 |