brunch

You can make anything
by writing

C.S.Lewis

by 테크유람 Sep 10. 2020

로그 관리(Log Management)에 대하여.

소프트웨어, 하드웨어들이 지속적으로 만들어내는 시스템 이벤트의 기록


로그(Log)란 무엇인가?

로그(log)는 소프트웨어 혹은 하드웨어 서비스들이 지속적으로 만들어내는 시스템 이벤트(event)의 기록입니다. IT 서비스는 대표적으로 다음과 같은 서비스에서 로그가 발생합니다.


● 네트워크

● 서버

● 컨테이너

● 클라우드 인프라

● 애플리케이션

● 메시지 버스(카프카..)

● 로드밸런서

...

좀 더 구체적인 예를 찾아볼까요?

● Docker에서 발생한 로그

● 운영체제 로그

● 애플리케이션 에러 로그

● 애플리케이션 코드 추적 로그

● 솔루션 로그(아파치, 오라클, MySQL, 리눅스, VMWare...)

● AWS VPC Flow 로그

● 클러스터 성능 지표 

● 악의적 IP 혹은 사용자의 접근 기록

● 클라우드 인프라 로그


로그의 형태

로그는 정해진 규칙에 의거하여 Key-Value 형태 혹은 정해진 Key 순서에 맞게 Value 값으로 표현하는 것이 일반적입니다. 이런 패턴을 통해 분석과 모니터링 정보를 제공합니다.


e.g.) 로그에 찍힌 값의 순서

타임스탬프 / 호스트 이름 / 프로세스 타입 / 애플리케이션 / 실행 내용 / TCP 상태 ....


Dec 10 12:58:39 Client-mac socketfilterfw[183] : openvpn-service: Allow TCP LISTEN (in:0 out:2) Dec 10 13:01:09 Client-mac socketfilterfw[183] : Dropbox: Allow TCP LISTEN (in:0 out:2)
Dec 11 18:40:03 Client-mac socketfilterfw[183] : Office365: Allow TCP CONNECT (in:1 out:0)
Dec 12 17:17:25 Client-mac socketfilterfw[183] : Dropbox: Allow TCP LISTEN (in:0 out:4)


로그가 중요한 이유

몸이 아플 때 병원에서 엑스레이를 환부에 찍고 문제 여부를 확인하듯 로그는 소프트웨어, 하드웨어, 인프라 등의 상태를 알려주는 가장 기본적인 시각적 정보입니다.


만약 보안 문제가 발생했다고 가정하면 이를 해결해야 할 IT 팀, DevOps 팀, SecOps 팀은 관련 로그 없이는 어떤 문제의 원인 파악 혹은 트러블슈팅도 불가능합니다. 문제 파악과 해결이 늦어질수록 문제는 점점 더 많은 시스템으로 퍼져나가며 더 큰 시스템 장애를 만들며 기업의 비즈니스에 심각한 영향을 끼칠 수 있습니다.


어떤 시스템에 어떤 문제가 생겼는지 로그를 통해 확인하기 위해 올바르고 적정한 로그의 수집과 저장, 그리고 미리 분석된 데이터와 실시간 알람과 모니터링을 빠르게 IT 담당자에게 전달하도록 하는 전반적인 로그 관리 프로세스는 매우 기업에서 중요한 역할을 합니다.


로그 관리의 5개 단계

일반적인 로그 관리 솔루션은 다음 5개의 단계별 작업을 진행합니다.


① 수집(Collect)

시스템에 로그 수집기(collector)를 설치하여  HTTPS 등의 방식으로 로그 관리 시스템에 전달


② 중앙 처리와 인덱싱(Centralize & Indexing)

로그를 중앙 집중화하여 저장하여 누락된 데이터가 없도록 일원화한다. 로그 데이터에 필요한 인덱스 값을 추가하여 ITOps, SecOps와 같은 성격의 팀들이 필요한 로그 정보를 빠르게 찾을 수 있도록 한다.

③ 검색과 분석(Search & Analyze)

인덱싱이 완료된 데이터에 대한 검색과 분석을 진행하며 데이터의 공통 패턴이 존재한다면 찾아낸다.


④ 모니터링과 경고(Monitor & Alert)

슬랙(Slack), Hipchat 등의 협업 도구, Notification/Alert 시스템과 로그 관리 시스템을 연동하여 필요시 담당자에게 Alert 전달


⑤ 리포트와 대시보드(Report & Dashboard)

전반적인 시스템 상태의 인사이트 확보를 위해 비주얼 한 리포트와 대시보드를 생성하고 RBAC(Role Based Access Control)을 적용하여  권한을 가진 팀원들과 공유한다. 


※ 리포트: 의미 있는 숫자와 같은 데이터 자체를 정렬하여 테이블 형태로 제공하는 문서


※ 대시보드: 한장에 중요한 데이터를 시각적 요소(차트, 시각적 효과) 등을 통해 빠르게 인사이트 전달

로그 관리 솔루션(Log Management Solution)이 필요한 이유

- 대용량 로그의 크기는 대형이고 지속적으로 증가한다. -> 적절한 수집의 필요성

- 컴플라이언스에 의해 로그는 안전하게 저장되어야 한다. -> 안전한 저장

- 로그 파일 하나에 대해 insight를 알 수 없다. 집약되고 분석된 로그만 의미가 있다. -> 분석 데이터 확보


중앙 집중형 로그 관리 시스템의 장점

로그는 사방에 흩어진 다양한 시스템에서 발생하며, IT 서비스의 사용률이 증가할수록 비례하여 증가하는 성질을 가지고 있기 때문에 이를 중앙에서 일원화하여 저장하고 분석하며 검색 결과를 제공하기 위해서는 Scalable 한 시스템을 보유해야 합니다.


또 다른 측면은 단순한 로그 분석 외에, 빅데이터와 예측 시스템을 병행으로 사용하는 것입니다. 최근의 로그 관리 시스템은 머신러닝 기법을 통해 현재 상황에서의 패턴 분석을 통해 사용자에게 예측 기반의 정보를 제공하여 발생 가능한 문제를 선제적으로 예방할 수 있는 기능도 제공하는 수준입니다.


로그 관리 서비스는 다 만들어진 시스템을 유지 보수하는 데만 사용되지 않습니다. 애플리케이션 테스트 로그 등은 개발 중인 시스템의 트러블슈팅이나 성능 저하를 미리 감지하여 알려주는 등의 테스팅에도 사용될 수 있으며 코드 추적(code trace) 기능을 통해 애플리케이션 코드의 품질 향상에도 도움을 줄 수 있습니다. 


최근에 특히 각광받는 로그 관리 서비스 분야는 보안 관련 로그 서비스라 할 수 있습니다. 인입된 요청에 대한 로그 분석을 통해 악의적인 공격성 로그 혹은 컴플라이언스 위배 관련 로그를 찾아내서 감사(audit)에 활용할 수 있습니다. 클라우드 환경의 SIEM(Security Information and Event Management) 시스템과 연계하여 사전에 웹 애플리케이션 레벨의 공격이나 DDoS 감지 및 예방에도 활용됩니다.


또한 매출 기록, 고객의 활동 기록 등은 Business Insight에 도움을 주어  CRM 등의 SaaS 기반 서비스에 입력 데이터로 활용이 가능합니다.









이전 19화 DPI와 TP로 인한 인터넷상의 콘텐트 변조 방지 방안
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari