검수요청.png검수요청.png

로그 (컴퓨터)

위키원
tjdgus399 (토론 | 기여)님의 2020년 9월 10일 (목) 14:32 판
이동: 둘러보기, 검색

로그(Log)란 컴퓨터의 처리 내용이나 이용 상황을 시간의 흐름에 따라 기록한 것, 혹은 기록하는 것. 사고가 발생했을 때 데이터의 복원이나 사고 원인의 규명 등에 도움이 되고, 네트워크의 부정 이용이나 데이터 파괴의 방지, 이용 요금의 산정의 기본 등에 쓰인다. 또 PC(개인용 컴퓨터) 통신에서 메일 등 통신 내용의 기록을 로그라 하고, 그 파일을 로그 파일이라고 한다.

개요

컴퓨터 등에 접속한 기록 등이 컴퓨터 내에 남아있는 것을 일컫는다. 보통 네트워크에 접속 시 IP 주소나 접속한 운영체제 등이 서버 컴퓨터에 남는다. 어원은 통나무라는 의미의 로그가 통나무 집이나 목선 등으로 의미가 확장되었는데, 승선을 log in이나 log on으로 사용하고 하선을 log out 이나 log off로 부르게 된 것이다. 컴퓨터 시대가 오면서 이 의미는 컴퓨터에도 확장되었고, 컴퓨터에 접속하거나 종료한 것뿐만 아니라 사용기록 전반 기록하는 것을 뜻하는 단어로까지 의미가 발전하게 된다.

시스템 보안이나 보수유지에서 언제나 나오는 방식이다. 현대 수사방식 중에서 포렌식 기법이 있는데, 시스템을 뒤져보기 전에 로그 파일을 분석한다. 이 작업만으로도 어느 정도 필요한 정보들을 회수할 가능성이 있다. 즉, 시스템 전반의 상태를 알 수 있는 중요한 키워드 중 하나인 셈이다. 참고로 한 세대의 운영체제들은 모든 동작을 수행할 때마다 많은 로그를 생성한다. 부팅/종료에 관련된 사항은 물론, 서비스 및 시작 프로그램의 정상 실행 여부라든지, 드라이버 로딩의 오류, 예상치 못한 커널 패닉, 심지어 로그를 생성했다는 로그까지도 생성을 한다.

이러한 과정에서 약간의 오버헤드 및 디스크 사용이 발생하며 특히 SSD 수명에 영향이 있다고 로그 생성 기능을 끄는 경우가 있는데 하지 않는 것이 좋다. 당장 본인 로그를 쓸모없다 여길지 몰라도 로그는 시스템 내부에서도 유지보수에 큰 영향을 끼친다. 성능, 수명상 영향도 별로 없다. 그리고 로그를 잘못된 동작 또는 데이터의 손실을 복구하는 데 이용할 수 있다. 대표적인 예가 데이터베이스의 트랜젝션 로그를 이용한 복원이다. [1]

특징

로깅

컴퓨팅에서 로그파일(logfile)은 운영체제나 다른 소프트웨어가 실행 중에 발생하는 이벤트나 각기 다른 사용자의 통신 소프트웨어 간의 메시지를 기록한 파일이다. 로그를 기록하는 행위는 로깅(logging)이라고 한다.

트랜잭션 로그는 시스템과 해당 시스템 사용자 간 통신에 대한 파일이거나, 시스템에 속하는 터미널의 사용자가 발생시킨 트랜잭션의 종류, 내용, 시간을 자동으로 캡처한 데이터 수집 방식이다.

수많은 운영 체제, 소프트웨어 프레임워크, 프로그램들은 로깅 시스템을 포함한다. 널리 쓰이는 로깅 표준은 syslog이며, IETF RFC 5424에 정의되어 있다.

이벤트 로그

이벤트 로그(event log)는 감사 추적 제공을 위해 시스템 실행 시 발생하는 이벤트를 기록하며, 시스템 활동을 이해하고 문제를 진단하는 데 사용된다. 복잡한 시스템의 활동을 이해하는 데 필수적이며, 특히 서버 애플리케이션처럼 사용자 상호 작용이 거의 없는 응용 프로그램에 사용된다.

트랜잭션 로그

트랜잭션 로그(transaction log) 또는 데이터베이스 로그(database log, 바이너리 로그라고도 함)는 데이터베이스에서 충돌이나 하드웨어 고장이 있었다고 해도 데이터베이스 관리 시스템의 ACID 특성을 보장하기 위한 조작 이력을 가리킨다. 로그는 전원이 끊겨도 데이터를 저장할 수 있는 보조 기억 장치에 파일에 출력되는 경우가 많다. 데이터베이스를 시작한 후 일관성 없는 상태이거나 제대로 종료되지 않은 것을 감지하면, 데이터베이스 관리 시스템은 트랜잭션 로그를 읽고 다음과 같이 실시한다. 데이터 무결성과 지속성을 보장하기 위해 필요 하다.

메시지 로그

인터넷 릴레이 챗(IRC), 인스턴트 메신저(IM), 대화 기능이 있는 P2P 파일 공유 클라이언트, 멀티플레이어 게임(특히 MMORPG)들은 사용자들끼리 공적으로나 사적으로 주고받는 대화 메시지를 기록한다.[2]

로그 파일

로그 파일이란, 컴퓨터의 모든 사용내역을 기록하고 있는 파일을 말한다. 또한 해킹 등의 사건이 발생했을 때, 로그파일을 분석하여 사건의 원인을 파악한다.

Linux / Unix Log File

Linux / Unix 대부분의 로그 파일 저장 경로는 "/var/log"에 저장된다. (설정을 통해 위치 변경 가능)
Linux log 파일은 보통 텍스트 형식으로 저장된다. 텍스트 형식의 log 파일은 cat, less 등의 명령어와 vi 편집기로 내용 확인이 가능하다. 텍스트 형식이 아닌 바이너리 형식의 log 파일은 btmp 및 wtmp log는 텍스트 형식이 아니라서 cat, less와 vi 편집기로 하려고 하면 내용이 제대로 나오지 않기 때문에 특정 명령어를 쳐야 확인이 가능하다. 시스템과 관련된 데몬은 klogd, syslogd 등이 존재한다.

Windows Log File

윈도우는 이벤트라는 정보로 시스템 운영 전반에 걸쳐 저장한다.(이벤트 로그)
기본 이벤트는 시스템의 모든 이벤트의 상황들을 저장하는 응용 프로그램 이벤트, 시스템 이벤트, 보안 이벤트가 존재한다. IIS 서버를 운영하는 경우에는 웹, FTP 로그가 존재한다. [3]

로그 보기

모든 시스템 로그를 보려면 포트폴리오의 로그 기록 관리 태스크 그룹에서 로그 모두 보기 태스크를 선택해야 한다. 변환 가능한 시스템 로그에 대한 자세한 정보를 보려면 포트폴리오의 로그 기록 관리 태스크 그룹에서 변환된 로그 보기 태스크를 선택해야 한다. 변환된 로그 보기 창은 모든 로그 보기 창과 같다. 로그 모두 보기 창에서는 특정 로그 항목을 선택하고 해당 내용을 자세히 확인할 수 있다. 이러한 태스크의 수행 방법에 대한 단계별 지시사항은 Tivoli Assistant의 온라인 도움 항목을 참조할 수 있다.

로그 기록 관리

로그 기록 관리 태스크 그룹은 시스템 로그 기록 관리 태스크로 표시한다.

로그 기록이란 구성요소 또는 애플리케이션 내에서 작성하여 파일, 데이터베이스, 콘솔 화면 등과 같은 출력 대상으로 보내는 메세지와 데이터를 말한다. Tivoli Kemel Service는 두 가지 유형의 로그 기록을 지원한다.

  • 국지, 단일 환경 내에서의 로그 기록
  • 분배, 다중 환경에서의 로그 기록

Tivoli Kernel Services의 로그 기록 서브 시스템은 여러 오브젝트를 사용하여 시스템 이벤트를 기록한다. 이러한 오브젝트에는 로그 기록기, 핸들러, 필터(마스크라고도 함) 등이 있다. 로그 작성기는 구성요소가 작동되는 동안 발생하는 이벤트를 기록하는 소프트웨어 오브젝트이다. 로그 기록 서브 시스템은 메세지 로그 작성기 및 추적 로그 작성기의 두 가지 유형을 지원한다.

메시지 로그 작성기능 Tivoli Kernel Services 구성요소의 텍스트 메세지를 기록하는 데 사용된다. 이러한 메세지는 각 로케일에 맞게 국제화 된다. 메세지 로그 작성기와 연관된 메세지 유형(기본적으로 모두 사용 가능한 상태)은 다음과 같다.

정보용 메세지

참고할 필요는 있지만 사용자가 예방 조치를 취하거나 동작을 수행하지 않아도 되는 상태

경고 메세지

사용자가 알아야 할 상태가 발견되었음을 알리지만 사용자가 필요한 조치를 반드시 취해야 한다는 것을 나타내지 않는다. 예를 들어, 이 메세지 유형은 프로그램의 일부가 예상대로 수행되지 않았지만, 기본값이 적용되기 때문에 프로그램은 계속 작동되며 결과물의 유효성을 검사해야 한다는 것을 의미할 수 있다.

오류 메세지

구성요소가 데이터베이스 항목을 쓰는 데 실패한 것과 같은 심각한 이벤트를 사용자에게 알린다.

치명적 메세지

ORB를 다시 시작해야 하거나 오류 복구에 실패하여 구성요소를 종료해야 하는 등의 조치가 필요한 가장 심각한 오류가 나타난다.

추적 로그 작성기는 구성요소 코드가 예상대로 작동하지 못했을 때 운영 환경에 대한 정보를 캡처하는 데 사용된다. Tivoli 고객 지원부의 직원은 추적 로그 작성기가 캡처한 정보를 사용해서 문제가 발생한 출처를 추적하거나 오류의 발생 원인을 파악한다. 일반적으로 이 정보는 기본적으로 사용되지 않는다. 추적 메세지는 지원 부서의 직원을 위한 메세지이기 때문에 보통은 검사 도중에 볼 수 있는 파일에 기록된다.

핸들러는 로그 작성기가 기록한 메세지를 목적지로 향하게 하는 소프트웨어이다. 메세지를 파일, 데이터베이스, 콘솔 화면 등으로 직접 보낼 수 있다. 핸들러는 로그 작성기가 기록한 정보를 원하는 목적지로 보내기 위해 로그 작성기와 연결된다.

필터는 로그 작성기, 핸들러에 적용되거나 로그 작성기와 핸들러 모두에 적용될 수 있다. 로그 작성기에 적용될 때 필터는 로그 작성기가 처리하는 메세지와 추적 레코드의 유형을 판별한다. 필터는 로그 레코드 유형을 기준 또는 필터에 포함된 조회와 비교한다.

로그 작성기, 핸들러 및 필터의 수가 많으면 로그 기록 관리 부담이 커질 수 있다. 이러한 경우, 그룹을 작성하여 관리 부담을 줄일 수 있다.

그룹에는 공통 특성을 가진 로그 작성기, 핸들러 또는 마스크가 포함되어 있다. 새로 작성한 로그 작성기, 핸들러 또는 마스크를 설정 취소 특성과 함께 작성하면 그룹의 해당 특성에 대한 값을 계승할 수 있다. 로그 작성기, 핸들러, 마스크가 그룹에 속하고 해당 특성이 갱신되면 그 그룹에 있는 나머지 로그 작성기, 핸들러, 마스크의 특성도 갱신된다. 따라서 개별 로그 작성기, 핸들러, 마스크 특성을 수동으로 갱신할 필요가 없다.

로그 작성기, 핸들러 및 마스크 구성

Tivoli Kernel Services 설치에서 시스템 로그 작성기, 핸들러, 마스크를 보고 구성하며 액세스하려면 포트폴리오의 로그 기록 관리 태스크 그룹에서 로그 기록 구성 태스크를 선핵해야 한다. 로그 기록 구성 창에서는 특성 편집, 연관된 로그 기록 오브젝트 나열 또는 삭제와 같이 로그 작성기, 핸들러 및 마스크를 관리할 수 있다.

이러한 태스크의 수행 방법에 대한 단계별 지시사항은 Tivoli Assistant의 온라인 도움말 항목을 참조해야 한다. 이들 태스크를 수행하기 전에 데이터베이스 핸들러 구성을 포함한 로그 기록 구성 및 설정에 대한 문제점 해결은 Tivoli Kernel Services 정보를 참조하면 해결가능 하다.[4]

각주

  1. 로그〉, 《나무위키》, 2020-09-03
  2. 로그파일 위키백과 - https://ko.wikipedia.org/wiki/%EB%A1%9C%EA%B7%B8%ED%8C%8C%EC%9D%BC
  3. 딘딩, 〈로그파일이란?〉, 《티스토리》, 2016-12-13
  4. Tivoli Kernel Services 관리 소개〉, 《티볼리》

참고자료

같이 보기


  검수요청.png검수요청.png 이 로그 (컴퓨터) 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.