
04. 대규모 로그 관리
1. 대규모 로그
- 서비스의 규모가 커짐에 따라 서버에 직접 접속해서 로그를 확인하는 것은 어려워짐
- 특히 오토 스케일링 구성을 한 경우는 서버가 동적으로 생성 및 삭제가 되므로 로그도 삭제가됨
- 로그를 모으고 효과적으로 관리하기 위한 여러가지 오픈소스 도구 및 SaaS 서비스들이 존재
2. ELK 스택
- Elasticsearch, Logstash, Kibana 세 가지 도구를 묶어서 부름
- 호환이 잘되고 합쳤을 때 시너지가 좋기 때문에 보통 같이 구성해서 사용함
- Elasticsearch : 검색 및 분석 엔진
- Logstash : 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch로 전송
(Logstash의 부하를 줄이기 위해 데이터 수집에 beat를 사용할 수도 있음)
- Kibana : 사용자가 Elasticsearch에서 차트와 그래프를 이용해 데이터를 시각화
- 각각 독립된 애플리케이션이기 때문에 필요에 따라 일부만 사용하는 것도 가능하고
비슷한 역할의 다른 애플리케이션과도 섞어 사용할 수 있음
- 간편하게 로그 검색이 가능해지고 각종 차트 기능을 이용해 성능 분석 도구로 활용할 수 있음

이미지 출처 : https://blog.qburst.com/2020/01/a-deep-dive-into-log-monitoring-using-elastic-stack/
- 요청이 많을 경우 효율을 위해 버퍼 레이어(RabitMQ, AWS SQS, Kafka 등) 구성이 필요
- 관리 및 운영 비용은 단점
- 관리를 용이하게 하기 위해 관리형 ElasticSearch 서비스, SaaS형 솔루션인 logz.io 등 사용
- 한 달치 로그만 유지하고 이전 데이터는 S3 등에 저장해놓았다가 필요 시 불러와 사용한다면 비용을 절감할 수 있음
3. 기타 서비스형 서비스
- Splunk, Sumo Logic, Loggly, Amazon CloudWatch Logs 등 간편히 사용 가능
- 운영 인력이 적은 경우 좋은 선택이지만 비용을 고려해서 필요한 로그만 저장
*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Linux' 카테고리의 다른 글
| 로깅 : 로그 관리 (2) | 2023.03.04 |
|---|---|
| 로깅 : syslog의 이해 (0) | 2023.03.03 |
| 로깅 : 리눅스 로깅 이해 (0) | 2023.03.02 |
| 사용자 관리 : 사용자 추가 (0) | 2023.03.01 |
| 사용자 관리 : 사용자 관리의 이해 (0) | 2023.02.28 |