
elastic은 elasticsearch에게
1. Beats
Beats란?

beats는 elasticsearch로 전송하는 경량 데이터 수집기이다. 이벤트의 특성(log, metric)과 추출 방법(REST API 사용, 파일 추적, application 계측)에 따라 사용하는 beats가 다르다.
2. Agent
Agent란?

agent는 로그, 메트릭 등 여러 유형의 데이터를 호스트에서 모니터링 할 수 있는 통합 도구이다. agent는 여러 beats를 포함하고 있는데 기존에는 beats를 개별적으로 설치하고 구성해야 했지만 agent를 사용하여 여러 beats를 하나의 통합된 agent로 관리할 수 있다. 이를 통해 설정 및 관리의 편의성을 높여주고, 중앙에서 관리 및 보안을 강화할 수 있다. 또한 호스트가 위치한 곳은 물론이고 외부에서도 로그, 메트릭을 수집할 수 있다.
기본적으로 하나의 서버에 하나의 agent를 설치하여 데이터를 수집한다.
Agent 구성

Integrations

integrations은 elastic을 외부 서비스에 간단하게 연결하여 데이터를 수집하게 할 수 있는 기능이다. UI 기반으로 간편하게 사용가능하고 필요한 서비스를 지원하는 integration을 찾아서 추가하면 된다.
Policies
policies는 실행하려는 integrations와 호스트를 지정하고 특정 요구 사항에 따라 agent가 데이터를 수집하는 방법과 수집할 데이터 유형을 정의한다. 정의한 policies는 여러 agent에서 재사용 가능하다. policies를 사용하면 여러 agent에 동일한 policies를 부여할 수 있고, 여러 agent의 수정이 필요할 때 손쉽게 변경사항을 적용할 수 있다.
Fleet
배포한 agent의 중앙 센터로, 배포를 구성하고 각 agent의 상태를 확인하며 정책 및 버전 관리를 수행한다. 이를 통해 많은 수의 agent를 중앙에서 효율적으로 관리할 수 있다.
Fleet, agnet 작동 방식(fleet managed)

처음에 Add Fleet Server 을 통해 fleet server를 만든다. fleet server는 agent이지만 fleet integration이 추가된 agent라고 생각하면 편하다. 처음에 fleet server를 만들면 자동으로 fleet integration이 추가되어 있다.
fleet server는 agent들을 배포, 관리하는 역할을 하면서 동시에 agent이기 때문에 직접 데이터를 수집하기도 한다. 다른 agent들도 마찬가지로 수집한 데이터를 elasticsearch에 직접 전송한다.
추가로 agent에 fleet integration을 추가하면 fleet server가 되는 것처럼 agent에 apm integration을 추가하면 apm server가 된다.