CloudWatch Log
: ec2의 설치되어 로그 수집. 애플리케이션 이름단위로 로그를 쌓을 수 있음Kinesis Data firehose
Elastic Search
+ Kibana
Elastic Search
에 데이터를 저장하고 + 시각화는 Kibana
로 한다S3
+ Athena
참고 블로그: ELK Stack 을 이용한 관제 시스템 만들기
로그수집 서비스
→ 데이터 Shipping 시스템
→ Elastic Search
→ Kibana
구조이런 상황을 고려하여 1,2,3안을 비교해보았다.
구분 | 1안 (Logz) | 2안 (CloudWatch +Kinesis) | 3안 (Filebeat) |
---|---|---|---|
장점 | ELK 구축하지 않아도 됨 | - CloudWatch Log 설치하여 애플리케이션 이름단위로 로그 수집가능, - Kinesis를 이용할경우 데이터 집계, 다양한 포맷으로 변환하여 각각의 Warehouse에 데이터 전송 가능 | Docker 내에서도 Filebeat 실행시 ElasticSearch에 Dat 보낼 수 있음 |
단점 | 비용 (30일 기준 $1.56/per GB) | 구축할게 많음, Log 수집만 필요한 경우에는 과한 기능 | ELK가 없다면 일일이 구축해야함 |
의견 | 이미 ELK 구축 되어있어서 굳이 사용하지 않아도 될 것 같음 | - 이미 K8s에서 서비스 이름별로 로그파일을 만들기 때문에 CloudWatch는 필요없을 것 같다. - S3없이 ElasticSearch에만 쌓을 생각이면 이미 Logstash 있으니 Kinesis는 필요 없을 것 같디 | - 이미 ELK 구축이 되어있어서 가장 적합할 것 같음 - 다만 지금은 Persistent Volume Claim에 log파일들이 다 저장되기 때문에 Bastion에 설치하면 될 것 같음 - Persistent Volume, ElasticSearch 이중으로 로그가 영구저장되는데, 이를 방지하고자 한다면 Docker 내에 FileBeat를 실행시키고, 바로 ElasticSearch에 보내는 방법도 좋을 것 같음 |