정보 공유와 비즈니스 수행 등의 매체로서 World Wide Web의 이용이 보편화됨에 따라 다양하고 방대한 데이터를 웹을 통하여 얻을 수 있게 되었으며, 이러한 데이터로부터 유용한 정보를 추출하기 위한 데이터 분석과 활용은 많은 분야에서 중요한 사안으로 인식되고 있다. 본 연구에서는 웹 로그(web log)데이터로부터 정보를 추출하기 위한 과정 및 방안에 대해 살펴보고자 한다. 로그 데이터의 특징과 통계 데이터와의 차이점, 데이터 수집 및 사전 처리 과정, 추출할 수 있는 정보 및 분석 방법 등을 제시하고 로그 데이터 분석 예제를 제시한다.
웹 로그는 웹 서버를 통해 이루어지는 작업들에 관한 기록으로써, OLAP이나 데이터 마이닝과 같은 비즈니스 인텔리전스 기술로 분석되어 고부가가치 창출에 사용되는 중요한 자료이다. 웹 로그에는 파일 이름과 같은 물리적인 데이터가 저장되는데 이러한 데이터는 분석에 사용되기 전에 정제과정을 통해 의미 있는 데이터로 변환되거나 불필요한 경우에는 삭제된다. 웹 로그 데이터의 분량을 적정선으로 유지하면서 데이터 정제 작업의 일부가 해결되도록 하는 방법으로 웹로그 생성단계에서 시스템이 제공하는 필터를 쓸 수 있다. 그러나, 필터로는 웹 페이지의 내용이 동적으로 변경되는 경우 그 상황을 즉시 반영하기가 쉽지 않다. 본 연구에서는 웹 로그가 ‘지능적 웹 로거’를 통해 생성되도록 하여 이러한 문제를 해결하였다. ‘지능적 웹 로거’를 통해 불필요한 데이터의 생성을 막고, 물리적인 데이터를 신속하게 의미 있는 데이터로 변환하도록 하였다. 웹 페이지의 변경 내용을 웹 로그 생성에 즉시 반영하여 의미 있는 데이터 생성에 이용함으로써, 웹 로그 생성 후에 실행되던 데이터 정제작업 자체를 단순화시켰고, 웹사이트 관리자가 편리한 사용자 인터페이스로 로그 규칙을 만들어 적용할 수 있도록 하였다.
이기종(異機種) 시스템환경에서 발생하는 수많은 로그 데이터는 중요도에 따라 실시간 로그 분석이 필요하고 대용량의 로그 데이터의 경우 특정 시간내에 로그 분석 처리를 종료해야만 한다. 보안에 관련된 로그 정보의 경우 실시간 분석과 빠른 통계 처리를 요구할 것이며, 대용량의 비실시간성 로그 분석의 경우 로그 분석 및 통계처리를 주어진 특정 시간 내에 하여야 한다. 본 논문에서는 로그 데이터의 중요도에 따른 실시간 로그 분석 처리와 비실시간 대용량 통계 로그의 로그 분석 처리 마감 시간을 충족하는 로그 분석 스케줄링 정책을 제안한다.
임베디드 기기에서 로그데이터란 사용자의 기기 사용 이력에 대한 하드웨어적인 기록이라 할 수 있고, 로그분석이란 이 로그데이터를 기반으로 다양한 정보를 추출해 내는 것이다. 하지만 기존 로그데이터는 사용자의 행위에 대한 모든 기록에 대한 나열에 그쳤기 때문에 실제 사용자 행동 패턴이나 사용성에 대한 분석을 하기 위해서는 방대한 로그데이터를 활용하는데 많은 어려움이 있었다. 이에 본 논문은 이러한 사용자의 행동에 대한 체계적인 분석과 임베디드 기기 S/W와 H/W 연동성을 높이기 위하여 새로운 로그데이터 포맷에 대한 연구를 수행하였다. 이는 다양한 임베디드 기기의 분석을 위한 효율성과 효과성을 증대하는데 기여할 것이다.
컴퓨터 시스템 운용 간에 발생하는 많은 정보들이 기록되는 로그데이터는 컴퓨터 시스템 운용 점검, 프로세스의 최적화, 사용자 최적화 맞춤형 제공 등 다방면으로 활용되고 있다. 본 논문에서는 다양한 종류의 로그데이터들 중에서 은행에서 발생하는 대용량의 로그데이터를 처리하기 위한 클라우드 환경 하에서의 MongoDB 기반 비정형 로그 처리시스템을 제안한다. 은행업무간 발생하는 대부분의 로그데이터는 고객의 업무처리 프로세스 간에 발생하며, 고객 업무 프로세스 처리에 따른 로그데이터를 수집, 저장, 분류, 분석하기 위해서는 별도로 로그데이터를 처리하는 시스템을 구축해야만 한다. 하지만 기존 컴퓨팅환경 하에서는 폭발적으로 증가하는 대용량 비정형 로그데이터 처리를 위한 유연한 스토리지 확장성 기능, 저장된 비정형 로그데이터를 분류, 분석 처리할 수 있는 기능을 구현하기가 매우 어렵다. 이에 따라 본 논문에서는 클라우드 컴퓨팅 기술을 도입하여 기존 컴퓨팅 인프라 환경의 분석 도구 및 관리체계에서 처리하기 어려웠던 비정형 로그데이터를 처리하기 위한 클라우드 환경기반의 로그데이터 처리시스템을 제안하고 구현하였다. 제안한 본 시스템은 IaaS(Infrastructure as a Service) 클라우드 환경을 도입하여 컴퓨팅 자원의 유연한 확장성을 제공하며 실제로, 로그데이터가 장기간 축적되거나 급격하게 증가하는 상황에서 스토리지, 메모리 등의 자원을 신속성 있고 유연하게 확장을 할 수 있는 기능을 포함한다. 또한, 축적된 비정형 로그데이터의 실시간 분석이 요구되어질 때 기존의 분석도구의 처리한계를 극복하기 위해 본 시스템은 하둡 (Hadoop) 기반의 분석모듈을 도입함으로써 대용량의 로그데이터를 빠르고 신뢰성 있게 병렬 분산 처리할 수 있는 기능을 제공한다. 게다가, HDFS(Hadoop Distributed File System)을 도입함으로써 축적된 로그데이터를 블록단위로 복제본을 생성하여 저장관리하기 때문에 본 시스템은 시스템 장애와 같은 상황에서 시스템이 멈추지 않고 작동할 수 있는 자동복구 기능을 제공한다. 마지막으로, 본 시스템은 NoSQL 기반의 MongoDB를 이용하여 분산 데이터베이스를 구축함으로써 효율적으로 비정형로그데이터를 처리하는 기능을 제공한다. MySQL과 같은 관계형 데이터베이스는 복잡한 스키마 구조를 가지고 있기 때문에 비정형 로그데이터를 처리하기에 적합하지 않은 구조를 가지고 있다. 또한, 관계형 데이터베이스의 엄격한 스키마 구조는 장기간 데이터가 축적되거나, 데이터가 급격하게 증가할 때 저장된 데이터를 분할하여 여러 노드에 분산시키는 노드 확장이 어렵다는 문제점을 가지고 있다. NoSQL은 관계형 데이터베이스에서 제공하는 복잡한 연산을 지원하지는 않지만 데이터가 빠르게 증가할 때 노드 분산을 통한 데이터베이스 확장이 매우 용이하며 비정형 데이터를 처리하는데 매우 적합한 구조를 가지고 있는 비관계형 데이터베이스이다. NoSQL의 데이터 모델은 주로 키-값(Key-Value), 컬럼지향(Column-oriented), 문서지향(Document-Oriented)형태로 구분되며, 제안한 시스템은 스키마 구조가 자유로운 문서지향(Document-Oriented) 데이터 모델의 대표 격인 MongoDB를 도입하였다. 본 시스템에 MongoDB를 도입한 이유는 유연한 스키마 구조에 따른 비정형 로그데이터 처리의 용이성뿐만 아니라, 급격한 데이터 증가에 따른 유연한 노드 확장, 스토리지 확장을 자동적으로 수행하는 오토샤딩 (AutoSharding) 기능을 제공하기 때문이다. 본 논문에서 제안하는 시스템은 크게 로그 수집기 모듈, 로그 그래프생성 모듈, MongoDB 모듈, Hadoop기반 분석 모듈, MySQL 모듈로 구성되어져 있다. 로그 수집기 모듈은 각 은행에서 고객의 업무 프로세스 시작부터 종료 시점까지 발생하는 로그데이터가 클라우드 서버로 전송될 때 로그데이터 종류에 따라 데이터를 수집하고 분류하여 MongoDB 모듈과 MySQL 모듈로 분배하는 기능을 수행한다. 로그 그래프생성 모듈은 수집된 로그데이터를 분석시점, 분석종류에 따라 MongoDB 모듈, Hadoop기반 분석 모듈, MySQL 모듈에 의해서 분석되어진 결과를 사용자에게 웹 인터페이스 형태로 제공하는 역할을 한다. 실시간적 로그데이터분석이 필요한 로그데이터는 MySQL 모듈로 저장이 되어 로그 그래프생성 모듈을 통하여 실시간 로그데이터 정보를 제공한다. 실시간 분석이 아닌 단위시간당 누적된 로그데이터의 경우 MongoDB 모듈에 저장이 되고, 다양한 분석사항에 따라 사용자에게 그래프화해서 제공된다. MongoDB 모듈에 누적된 로그데이터는 Hadoop기반 분석모듈을 통해서 병렬 분산 처리 작업이 수행된다. 성능 평가를 위하여 로그데이터 삽입, 쿼리 성능에 대해서 MySQL만을 적용한 로그데이터 처리시스템과 제안한 시스템을 비교 평가하였으며 그 성능의 우수성을 검증하였다. 또한, MongoDB의 청크 크기별 로그데이터 삽입 성능평가를 통해 최적화된 청크 크기를 확인하였다.
임베디드 기기의 사용 이력을 정확히 파악하는 방식으로는 기기 내부에 자동으로 저장된 로그 데이터를 분석하는 방법이 있으며, 저장된 로그 데이터를 분석하기 위해서는 데이터 정제 및 변환 과정이 필요한데, 이 과정에서 임베디드 기기에 저장된 방대한 양의 로그 데이터로 인해 많은 시간과 인력이 소요되고 있다. 이에 본 논문에서는 임베디드 기기의 로그 데이터를 데이터베이스로 관리하고 이로부터 사용 이력 분석 데이터 셋을 입력, 출력, 기능부분으로 나누어 추출하는 일련의 프로세스를 설계하였고 또한 이 과정이 자동화가 되도록 구현하였으며, 이를 통해 임베디드 기기의 로그 데이터를 분석할 때 시간과 인력을 절약할 수 있다는 가능성을 확인하였다.
로그 데이터는 네트워크 및 보안장비, 서버시스템, DBMS, 서비스 등에서 사용자의 행위를 기록하여 보관하며 있으며, 이를 통해 시스템의 안정적인 운영을 지원하거나, 해킹 등의 불법 침해를 당하였을 때 침입경로 추적과 취약점을 찾아내어 보완할 수 있는 중요한 자료이다. 하지만 로그 데이터는 여러 시스템에 각각 다른 형태로 산재하며 일시적인 기간 동안 저장되어 있거나, 해커에 의해 고의적으로 삭제되기도 하며, 저장 용량 문제로 인해 필요시에 없을 경우가 많다. 본 연구에서는 네트워크 장비와 보안장비의 표준로그인 syslog와 유닉스/리눅스 시스템과 윈도우즈서버의 로그에 대한 특성을 고찰하였으며, 특히 서비스로그로서 아파치 웹서버와 IIS서버의 로그에 대한 특징을 정리하였다. 여러 종류의 시스템에서 발생되는 로그를 통합하여 관리하기 위해서는 이기종 로그 데이터의 생명주기 방법론을 제시하였다. 또한, 최근에 IT보안 사고에 대응하여 규제준수를 요구하고 있는 국내외의 IT컴플라이언스에서 로그에 대한 관련 내용을 살펴보고, 그 준수할 방안을 제시한다. 결론으로 IT 인프라의 보안강화적인 측면과 IT컴플라이언스 준수를 위해, 효율적인 로그에 대한 수집과 보관 및 활용성 측면에서의 이기종의 통합로그관리도입 필요성, 생명주기, 기술적 준비사항, 컴플라이언스 요구사항을 제시한다.
최근 사이버 공격은 다양한 정보시스템에 심각한 피해를 주고 있다. 로그 데이터 분석은 이러한 문제를 해결하는 하나의 방법이다. 보안 로그 분석시스템은 로그 데이터 정보를 수집, 저장, 분석하여 보안 위험에 적절히 대처할 수 있게 한다. 본 논문에서는 보안 로그 분석을 위하여 분산 검색 엔진으로 사용되고 있는 Elasticsearch와 다양한 종류의 로그 데이터를 수집하고 가공 및 처리할 수 있게 하는 Logstash를 사용하여 보안 로그 분석시스템을 설계하고 구현하였다. 분석한 로그 데이터는 Kibana를 이용하여 로그 통계 및 검색 리포트를 생성하고 그 결과를 시각화할 수 있게 하였다. 구현한 검색엔진 기반 보안 로그 분석시스템과 기존의 Flume 로그 수집기, Flume HDFS 싱크 및 HBase를 사용하여 구현한 보안 로그 분석시스템의 성능을 비교 분석하였다. 실험 결과 Elasticsearch 기반의 로그 분석시스템을 사용할 경우 하둡 기반의 로그 분석시스템에 비하여 데이터베이스 쿼리 처리시간 및 로그 데이터 분석 시간을 현저하게 줄일 수 있음을 보였다.
본 논문은 RAID5가 갖는 쓰기 문제를 극복하기 위하여 지금까지의 연구 중에서 가장 우수한 성능을 나타내는 패리티 로깅 기법의 단점을 개선한 새로운 패리티 로깅 기법을 제안한다. 제안된 기법은 패리티 로깅기법에서 가장 큰 오버헤드인 패리티 로그의 크기를 줄이기 위하여 로그 데이터를 압축하는 방법을 사용한다. 로그 데이터의 압축은 로그 데이터의 저장에 필요한 비휘발성 버퍼의 크기와 로그 데이터 접근시간을 감소시켜 전체적인 성능을 향상시킬수 있다. 시뮬레이션을 통한 성능분석 결과에서 제안된 기법은 기존의 패리티 로깅 기법에 비하여 디스크 접근시간에서 우수한 성능을 나타냄을 보인다.
현재와 같이 처리해야 할 데이터가 폭주하는 상황에서 대부분의 시스템은 자료 저장을 위해 데이터베이스를 사용하지만, 누적되는 데이터 관리를 위해 빈번한 문제가 발생한다. 이때 대부분의 시스템들에서는 상용버전의 데이터 백업 시스템이나 이중화 시스템 등을 두어 여러 곳에 분산 배치함으로써 데이터 보관의 안전성을 도모한다. 실제 모든 데이터베이스 시스템들은 데이터를 레코드에 기록할 때 마다 고유의 로그기록을 남겨놓게 되어있다. 로그기록들은 결국 아카이브 형태로 저장되는데, 그전에 실시간으로 로그를 남기는 과정을 거치게 된다. 본 논문에서는 현재 많은 기관 및 단체에서 사용하는 오라클 데이터베이스를 기본으로 하여, 실시간으로 로그기록을 저장하게 되는 리두 로그(Redo-Log) 파일에 대하여 알아보고, 로그기록의 절차 및 응용 가능성에 대하여 보여준다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.