Filebeat는 앞서 설명 했듯이, 경량형 로그수집 도구이다.
지정한 경로에 대한 로그를 실시간으로 수집하고, 수집된 로그는 Elasticsearch, Logstash, Kafka 등 다양한 시스템으로 전송할 수 있다. 가장 일반적인 구성은 Filebeat가 로그를 수집하고, 이를 Logstash로 전달하여 추가적인 처리 후 Elasticsearch에 저장하는 방식이다.
당연히 kubernetes에 대한 로그만 수집할 수 있는건 아니고, 시스템로그, 애플리케이션 로그 등 경로 설정이 가능하여 필요한 로그 파일을 수집할 수 있다.
Filebeat Configmap예시
filebeat.inputs:
- type: log
paths:
- "/var/log/syslog"
- "/var/log/auth.log"
- type: container
paths:
- "/var/log/pods/beverage_tea-*/tea/*.log"
- "/var/log/pods/beverage_ade-*/ade/*.log"
- type: log
paths:
- "/var/log/myapp/*.log"
output.logstash:
hosts: ["logstash.elk.svc.cluster.local:5044"]
위 경로에 대한 로그는 hosts한테 떨어지는 stdout, stderr 로그를 수집하는데 이를 수집하기 위해선 Filebeat를 Daemonset으로 배포해야하며, hostpath에 대한 해당 경로 mount가 필수적이다.
Filebeat spec.template.spec.volumes 예시
spec:
selector:
matchLabels:
app: filebeat
template:
spec:
containers:
- name: filebeat
image: docker.elastic.co/beats/filebeat:7.5.0
volumeMounts:
- name: varlog
mountPath: /var/log
volumes:
- name: varlog
hostPath:
path: /var/log
'Kubernetes' 카테고리의 다른 글
Kubernetes환경에서 Filebeat + ELK를 활용한 Log Pipeline 구축 #4 Kibana편 (0) | 2025.03.24 |
---|---|
Kubernetes환경에서 Filebeat + ELK를 활용한 Log Pipeline 구축 #3 Logstash편 (0) | 2025.03.20 |
Kubernetes환경에서 Filebeat + ELK를 활용한 Log Pipeline 구축 #1 Elasticsearch편 (0) | 2025.03.10 |
[NKS] ConfigMap을 활용한 사용자별 액세스 컨트롤 (0) | 2024.08.07 |
[NKS] IAM을 활용한 사용자별 액세스 컨트롤 (0) | 2024.08.07 |