환경
Filebeat - 7.15.2
Elasticsearch - 7.10.2
kibana - 7.10.2
mac - monterey 12.0.1
구조
filebeat -> elasticsearch -> kibana
위의 구조로 logstash 없이 간단한 로그 데이터를 Elasticsearch와 kibana를 통해 시각화
Elasticsearch 로 전달되는 로그 데이터는 Spring Boot Logback을 통해 json 포맷으로 변환되어 로그 데이터가 저장됨.
Filebeat 설치
brew install filebeat
mac에서는 brew 명령어를 통해 filebeat를 간단하게 설치할 수 있다.
* xcode의 버전이 낮은경우 설치가 안 되는 경우가 있음.
설치가 다 되면 /usr/local/etc/feilbeat 폴더가 생성되며 해당 폴더 내부에 설정 파일인 filebeat.yml 파일이 위치해 있다.
설정 파일 수정
sudo vi /usr/local/etc/filebeat/filebeat.yml
filebeat.yml 파일을 수정하여 input 모듈 설정 및 output 모듈(logstash, elasticsearch, kibana) 설정을 해줘야 한다.
input 설정
filebeat.inputs:
- type: log
enabled: true #true로 수정
paths:
- /로그가 저장되는 경로/*.log
output 설정
output.elasticsearch:
hosts: ["localhost:9200"]
#protocol: "https"
#api_key: "id:api_key"
#username: "elastic"
#password: "changeme"
output 은 다른 모듈 사용 없이 elasticsearch 로 할것이기 때문에 해당 부분을 기본 설정에서 본인의 환경에 맞게 작성 및 수정하면 된다.
Filebeat 실행
brew services start filebeat
brew 를 통해 Filebeat를 실행
Error 없이 로그가 출력되면 Elasticsearch와 연결이 잘 된것이다.
sudo /usr/local/Cellar/filebeat/'설치 버전'/bin/filebeat -e
직접 실행할때는 위 명령어를 통해 출력 모드로 실행할수 있다.
sudo filebeat -e -d "*"
또는 위 명령어로 디버깅 모드까지 출력할수 있다.
mv /usr/local/var/lib/filebeat/registry /usr/local/var/lib/filebeat/registry.old2
*filebeat 는 자체적으로 파일 읽는 위치를 기록하는데 위 명령어를 통해 초기화하여 다시 읽도록 할 수 있다.
로그파일 생성(Spring Boot Logback) 및 시각화(Kibana)
지정한 경로의 폴더에 로그파일이 생성된것을 먼저 확인 후 kibana 인덱스에 등록된걸 확인할 수 있다.
이후 로그가 추가 및 수정이 되면 Filebeat가 모니터링을해 Elasticsearch 로 파이프라인이 연결을 통해 전달되고 연동된 Kibana에서 시각화된 모니터링이 가능하다.
Logstash 가 빠진 위와 같은 그림으로 구축이 되었다.
'ELK' 카테고리의 다른 글
[ELK] SpringBoot Logback 과 ELK Stack 연동 (2) | 2022.12.30 |
---|---|
[Curator] Curator를 이용하여 elasticsearch index 관리 (0) | 2021.12.03 |
[ELK] Elasitcsearch 란, Elasticsearch 를 사용하는 이유 (0) | 2021.11.25 |
[ELK] Logstash 와 Filebeat의 차이 (0) | 2021.11.15 |