ELK Stack은 Elasticsearch, Logstash, Kibana + Filebeat로 구성
ELK 설치는 아래 하이퍼링크 참고해주세요.
Elasticsearch : 실시간 분산 검색 및 분석 엔진이며, 정형, 비정형, 위치-기반, 메타 데이터 등 다양한 유형의 데이터를 검색하고 분석하는데 사용됩니다. 또한, 복잡한 검색 기능과 함께 대용량의 데이터를 신속하게 저장하고 검색할 수 있습니다.
Logstash : 서버 사이드 데이터 처리 파이프라인으로, 다양한 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch와 같은 “스태시”로 전송합니다.Logstash는 각종 로그를 쉽게 분석할 수 있도록 도와주는 강력한 도구입니다.
Kibana : Elasticsearch 데이터를 시각화하고 사용자가 모든 데이터를 탐색할 수 있게 해주는 데이터 시각화 플랫폼입니다. Kibana를 통해 데이터에 대한 인사이트를 쉽게 얻을 수 있습니다.
Filebeat : 경량 로그 발송기로, 로그 파일이나 표준 입력을 모니터링하고 이를 Logstash 또는 Elasticsearch로 전달합니다. Filebeat는 로그를 중앙화된 위치로 전송하여 로그 분석을 용이하게 합니다.
Filebeat 설치 후 최종적으로 kibana 활용하여 서버의 로그를 수집.
filebeat 설치시 제 환경에서는 aarch64 아키텍처 파일을 다운로드 하였습니다.
윈도우에서 사용 시 x86 등으로 변경하셔서 다운로드 해주시면 됩니다.
$ sudo curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.0-aarch64.rpm
$ sudo rpm -vi filebeat-7.14.0-aarch64.rpm
7.14.0-x86_64.rpm | 아키텍처 이름만 변경해주시면 됩니다.
- filebeat 서비스 시작
$ sudo systemctl start filebeat
start -> enable -> status
Filebeat 로그 파일을 수집하고, 이를 처리하여 Logstash로 전송하도록 설정
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- type: filestream
enabled: false
paths:
- /var/log/*.log
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
setup.kibana:
hosts: ["localhost:5601"]
output.logstash:
hosts: ["localhost:5044"]
processors:
- add_host_metadata:
when.not.contains.tags: forwarded
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~
kibana web 접석 후 Stack Management -> Index Patterns 이동 후 Create Index Patterns
log* 네임 검색 후 logs-generic-default 추가
설치 서버마다 다를 수 있습니다. 정보를 환경 구성 시 기록 해두시면 편합니다.
메인페이지 -> Discover -> filter -> 등록 패턴 이름 검색 후 확인 합니다.
host.name + kernel 정보 확인 및 discover 페이지에서 로그가 잘 잡히는지 확인 해주시면됩니다.