들어가기에 앞서
웹을 공부하면서 또는 프레임워크를 쓰면서 Log란 것을 듣기도하고 보기도하며 쓰기도 해보았다 하지만 정작 그렇게 중요하다는 생각까지는 하지 않았다 그냥 오류가 뜨면 Log를 뜨게하고 대충은 안다고 생각했기 때문이다
그래서 오늘은 분산 서비스를 구축하고자 하는 목적을 이루고자 로그란 무엇인에 대하여 짚고 넘어갈려고 한다
(본 글은 https://brunch.co.kr/@sangjinkang/22을 보고 정리한 내용입니다)
로그란 무엇인가?
쉽게 정리하자면 로그란
IT인프라에서 발생하는 모든 상황의 데이터이다
그렇다면 로그는 어떻게 생겼을까
로그는 정해진 규칙에 따라 Key-Value 형태 혹은 정해진 Key 순서에 맞게 Value값으로 보통 표현된다
ex) 로그의 찍힌 값의 순서
타임스탬프/ 호스트 이름/ 프로세스 타입/ 애플리케이션/ 실행 내용 /TCP 상태..
Mar 05 20:49:05 Client-mac socketFilterfw[200]: Office365: Allow TCP CONNECT (in:1 out:0)
로그가 중요한 이유
만약 보안 문제가 발생한다면 로그를 확인하지 못한다면 해결할 수가 없겠죠 원인이 무엇인지 알 수 없으니까요
그래서 로그가 중요한 이유는 어떤 시스템에 문제가 생겼을지 로그를 확인해 빠르게, 올바르게 시스템에 문제를 고치기위해서라고 할 수 있습니다
로그의 관리 5개 단계
1. 수집(Collect)
시스템에 로그 수집기를 설치하여 HTTPS 등의 방식으로 로그 관리 시스템에 전달
2. 중앙 처리와 인데싱(Centralize & Indexing)
로그를 중앙 집중화하여 누락된 데이터가 없도록 합니다, 필요시 인덱스 값을 추가하여 로그들의 그룹을 지어주기도 합니다
3. 검색과 분석(Search & Analyze)
인덱싱이 완료된 데이터에 대한 검색과 분석을 진행해 데이터의 공통 패턴이 존재한다면 찾아냅니다
4. 모니터링과 경고(Monitor & Alert)
슬랙(Slack), Hipchat등의 협업 도구, Notification/Alert 시스템과 로그 관리 시스템을 연동해 필요시 담당자에게 Alert 전달
5. 리포트와 대시보드(Report & Dashboard)
전반적인 시스템 상태 확보를 위해 비주얼 한 리포트와 대시보드를 생성하여 공유합니다
로그 관리 솔류션(Log Management Solution)이 필요한 이유
- 대용량 로그의 크기는 대형이고 지속적으로 증가한다. -> 적절한 수집의 필요성
- 컴플라이언스에 대해 로그는 안전하게 저장되어야 한다. -> 안전한 저장
- 로그 파일 하나에 대해 insight를 알 수 없다. 집약되고 분석한 로그만 의미가 있다. -> 분석 데이터 확보
중앙 집중형 로그 관리 시스템의 장점
로그는 여기저기 흩어져있기 때문에 IT 서비스의 사용률이 증가한다면 비례하여 증가합니다
엄청나게 많은 로그를 분리하여 관리한다면 분석하기어렵기 때문에 중앙으로 집중해
시스템을 연관지어 해결할 수도 있습니다
그리고 최근에는 빅테이터와 예측 시스템 즉 머신러닝 기법을 통해 패턴을 분석해 어떤 이벤트에 대해 예측할 수도 있어졌습니다
'CS > 네트워크' 카테고리의 다른 글
분산시스템속 브로드캐스트 (0) | 2024.08.06 |
---|---|
[네트워크] ARP 프로토콜 (0) | 2024.04.20 |
[네트워크] Restful하게? Rest란 무엇일까? (0) | 2023.02.23 |
[네트워크] Protobuf란 무엇인가? (0) | 2023.02.21 |
[네트워크] JWT(Token)를 위주로 Cookie & Session 파헤치기 (0) | 2023.01.07 |