본문 바로가기

기술자료/기술운영자료

Windows Power Shell 알아보기 3편 (이벤트 로그 관리 팁)

Windows PowerShell 알아보기



- 3 : Windows PowerShell을 활용한 서버 이벤트 로그 관리

 

Windows Server Core  GUI 환경에서는 Windows PowerShell을 이용하여 EventLog를 관리할 수 있는 다양한 방법이 있습니다.

이번 포스팅 에서는 PowerShell을 활용하여 이벤트로그가 지나치게 커지는 것을 방지하고, 이벤트 로그를 백업할 수 있는 방법에 대해 알아보도록 하겠습니다.

 

1. Limit-EventLog cmdlet을 이용한 로그 관리 방법

    Limit-EventLog cmdlet을 이용하여 로그가 지나치게 비대해지는 것을 방지하고 로그가 방대해졌을 때 취할 수 있는 액션을 설정할 수 있습니다.

    PS> Get-EventLog -List | Where-Object {$_.log -eq 'Application'}  
   
 // 응용프로그램 로그 요약 출력

(최대크기, 보존일수, 용량 임계시 취할 정책, 이벤트 갯수, 이벤트로그 이름 순)

    PS> Limit-EventLog -LogName Application -MaximumSize 50MB

    이벤트 로그 중 응용프로그램 로그 최대 크기를 50MB로 지정하였습니다.

    최대 로그 크기에 도달했을 때 취할 정책을 설정해 주겠습니다.
    최대 로그 크기에 도달했을 때 취할 수 있는 정책은 3가지가 있습니다.

    DoNotOverwrite:  기존 항목 유지되고 새 항목을 삭제
    OverwriteAsNeeded:  각각의 새 항목이 가장 오래된 항목을 덮어쓰기
    OverwriteOlder:  새 이벤트가 MinimumRetentionDays 속성에 지정된 값보다 오래된 이벤트를 덮어쓰기
    *MinimumRetentionDays 속성에 지정된 값보다 오래된 이벤트가 없는 경우 새 이벤트를 삭제

     PS> Limit-EventLog -LogName Application -OverflowAction OverwriteAsNeeded

     로그 보존 일수를 변경하려면 정책을 반드시 OverwriteOlder로 변경하여야 합니다.

     PS> Limit-EventLog -LogName Application -OverflowAction OverwriteOlder -RetentionDays 30

    변경된 내용을 확인해 봅니다.

 

    이벤트 로그 최대 크기는 50MB, 보관일수는 30일로 설정되어 있는 것을 확인할 수 있습니다.

2. 이벤트 로그 백업

    Get-EventLog cmdlet을 이용하여 이벤트로그를 백업하는 방법에 대해 알아보도록 하겠습니다.

    PS> $date=Get-Date -Format yyyy-MM-dd

    PS> Get-EventLog -EntryType Error, Warning -LogName system | Select-Object Index, TimeWritten, EntryType, Source, InstanceId, Message | Out-File -FilePath d:\EventViewe_$date.csv

      파일 형식 지정은 txt, csv등 지정이 가능하며 백업된 이벤트 로그는 아래처럼 확인이 가능 합니다.

 

기재된 내용을 바탕으로 파워쉘 스크립트로 작성, 스케쥴러를 이용하면
로그의 적절한 관리와 백업이 가능합니다.

참고하시기 바랍니다.

[출처] Windows PowerShell을 활용한 이벤트 로그 관리 팁 (서버운영을 위한 지식창고) |작성자 정말졸려

기타 운영문의 webmaster@nidc.kr / 영업관련 문의 sale@nidc.kr / 온라인문의 [바로가기]