윈도우 Log Parser Studio

황제낙엽 2017.06.21 13:41 조회 수 : 52

sitelink1 http://iprize.tistory.com/666 
sitelink2  
sitelink3  
extra_vars6  

Log Parser 2.2를 정기적으로 사용하는 이에게는 IIS (Internet Information Server)나 다른 로그에서 유용한 정보를 구하고자 할 때 얼마나 유용하고 강력한 지 알고 있을 것이다. 더욱이, SQL의 강력함은 기가 단위의 로그에서 잡동사니들을 제거하고 필요한 데이터만 골라내는 검색이 가능케 한다. 다만 한가지 빠진 것이 있다면 Log Parser의 그래픽 사용자 인터페이스와 사용자가 장기간에 걸쳐 작성한 쿼리나 스크립트를 관리할 ‘Query Library’일 것이다.

Log Parser Studio는 이러한 필요성을 채우기 위해 만들어졌다. Log Parser 2.2를 사용하는 혹은 인터페이스때문에 사용하지 않는 이들에게도 쿼리들로 가득한 스크립트나 폴더를 가급적 덜 접근하게 하여 더 빠르고 효율적으로 데이터를 구할 수 있도록 한다.

Log Parser Studio (LPS)를 이용하여 자신의 쿼리들을 한 곳에 모아둘 수 있다. ‘Query Editor’를 이용하여 새로운 쿼리를 생성하여 수정할 수 있으며 나중을 위해 저장할 수 있다. 텍스트 검색을 이용하여 쿼리를 검색할 수 있으며 라이브러리나 쿼리를 다른 포맷으로 내보내거나 가져올 수 있어 협업을 용이하게 하며 동시에 서로 다른 프로토콜을 위한 별도의 라이브러리를 유지할 수 있다.

익스체인지 프로토콜의 로그 처리

우리는 서로 다른 익스체인지의 로그 처리가 굉장히 많은 시간을 필요로 하는 일이란 것을 매우 잘 알고 있다. 익스체인지 관리자들에게 결과의 포맷이 매우 중요하면 이러한 용도의 도구 없이 엑스체인지 로그를 자세히 살펴보며 Log Parser를 이용하여 처리하는 일이 매우 지루한 일이 될 것이다. 그리고 사용자 본인이 SQL 구문을 작성하는 데 통달하여야 할 것이다. 그리고 웹에서 찾을 수 있는 특수 목적의 스크립트를 사용하여 결과를 분석하여 많은 양의 로그에서 의미 있는 엔트리를 분석해낼 수 있다. Log Parser Studio는 원래 서로 다른 익스체인지 프로토콜의 로그들을 빠르고 쉽게 처리하기 위해 고안되었다. 이 프로그램을 실행하면 Microsoft Exchange ActiveSync(MAS), Exchange Web Services (EWS), Outlook Web App (OWA/HTTP)나 다른 여러 익스체인지 프로토콜을 볼 수 있을 것이다. 이들 탭을 보면 특정한 목적(메인 UI에 보면 설명이 자세하게 되어있다)을 위해 작성된 수 많은 SQL 쿼리를 발견할 수 있다.

Log Parser Studio의 멋진 기능들을 몇 가지 살펴보자

쿼리 라이브러리와 관리

LPS를 실행하며 맨 먼저 볼 수 있는 것은 몇 가지 쿼리들을 담고 있는 Query Library이다. 여기서 우리는 우리가 만든 쿼리들을 관리할 수 있다. Library 탭을 클릭하면 쿼리 라이브러리를 볼 수 있을 것이다. 여러 가지 방법을 통해서 쿼리를 검토하고 실행할 수 있다. 가장 간단하게 실행하는 방법은 리스트에서 쿼리를 선택한 후 더블 클릭하는 것이다. 그러면 자신의 Query 탭에 쿼리가 자동으로 로드된다. Query Library는 이 쿼리들이 표시되는 곳이다. LPS가 관리하는 모든 쿼리들은 이 라이브러리에 저장되어 있다. 원하는 쿼리를 찾아내어 즐겨 찾기에 등록하여 후에 쉽게 쿼리를 찾을 수 있는 방법도 있다.

6281.image_5F00_thumb_5F00_0921D98C.png

 

 

라이브러리 복구

LPS와 함께 제공된 초기 라이브러리는 어플리케이션에 포함되어 있으며 설치시 생성된다. 만일 삭제하거나 손상되거나 라이브러리가 소실되었을 경우 라이브러리 복구 기능(Options | Recover Library)을 사용하여 쉽게 복구할 수 있다. 라이브러리를 복구할 경우 기존 쿼리들은 지워질 것이다. 만일 보관하고 자 하는 쿼리가 있다면 우선 이 쿼리들을 내보낸 후 기본 쿼리 세트를 복구한 후 다시 LPS로 통합한다.

가져오기/내보내기

필요에 따라서 전체 라이브러리나 일부를 LPS XML 포맷이나 SQL 쿼리로 내보내거나 가져올 수 있다. 예를 들어, Log Parse SQL 쿼리로 가득한 폴더를 가지고 있을 경우 일부 혹은 전체를 LPS의 라이브러리로 가져올 수 있다. 보통은 가져온 후에 할 일은 몇 가지 수정 작업만 하면 된다. LPS가 필요로 하는 것은 기본 SQL 쿼리이며 파일명은 ‘[LOGFILEPATH]’ 혹은 ‘[OUTFILEPATH]’로 바꾸기만 하면 되며 이는 툴에 포함되어 있는 PDF 매뉴얼에 자세하게 설명되어 있다. (LPS | Help | Documentation 메뉴를 통해 접근할 수 있다)

쿼리

필요한 정보를 추출하는 쿼리와 시스템에 부하를 주고 필요 이상의 정보를 추출하고 심지어는 어플리케이션을 멈추게하는 쿼리간의 차이가 잘 구조화된 쿼리를 만든다.

6114.image_5F00_thumb_5F00_7F0D3860.png

 

 

효율적인 SQL/Log Parser 쿼리를 만드는 기술은 여기서 다루지 않지만 LPS에 포함되어 있는 모든 쿼리는 매우 간결한 결과를 얻기 위해 작성되었지만 적은 레코드만을 반환할 것이다. 필요한 것을 인지하고 최소한의 결과를 얻는 방법을 아는 것이 중요하다.

배치 작업과 멀티쓰레드

Log Parser 2.2와 LPS는 강력한 도구임을 알게 될 것이다. 하지만 할 수 있는 것이라고는 단일 쿼리를 돌린 후 결과를 기다리는 것이라면 발전이라고는 없을 것이다. LPS는 배치 작업과 멀티쓰레드 쿼리 기능을 가지고 있다.

배치 작업은 버튼 클릭으로 사전에 지정된 쿼리들을 실행할 수 있는 기능이다. Batch Manager에서 단일 혹은 모든 쿼리를 제거할 수 있으며 실행도 할 수 있다. 배치 매니저에서 Run Multiple Queries 버튼이나 Execute 버튼으로 실행할 수도 있다. 실행하게 되면 LPS는 배치 모드로 각 쿼리를 실행할 것이다. 기본적으로 LPS는 모든 쿼리를 Log Parse 2.2로 전달할 것이다. 이 때가 멀티쓰레드가 작동하는 지점이다. 배치 작업으로 50개의 쿼리가 지정되어 있을 경우 백그라운드 작업으로 실행되는 50개의 쓰레드가 생성되어 실행되기 때문에 사용자는 동시에 다른 쿼리로 작업을 계속할 수가 있다. 각 배치 작업이 완료되면 결과값이 쿼리에 지정된 대로 그리드나 CSV 형태로 반환될 것이다. 각 쿼리가 완료되면 실행된 쓰레드는 소멸되고 할당된 자원은 해제될 것이다. 이들 쓰레드는 효율적인 방법으로 백그라운드로 관리되어 여러 쿼리를 한번에 실행하는 데 문제가 없도록 한다.

4544.image_5F00_thumb_5F00_109D232C.png

 

 

만일 성능이나 기타 다른 이유로 쿼리를 배치 모드로 동시에 실행하길 원한 경우는 어떻게 하나? 이 기능은 이미 LPS에 포함된어 있다. LPS | Options | Preferences로 가서 ‘Process Batch Queries in Sequence’를 확인해 변경하도록 한다. 만일 체크되어 있다면 첫번째 쿼리가 실행되고 있다면 다음 쿼리는 첫번째 쿼리가 완료될 때까지 기다리고 있을 것이다. 이는 배치 작업의 마지막 쿼리가 완료될 때까지 유지된다.

자동화

배치 작업과 함께 자동화는 사용자가 개입하지 않고 배치 작업을 지정된 시간에 자동으로 실행하도록 할 수 있다. 예를 들면, 일정한 폴더에서 지정된 배치 작업을 자동으로 실행하는 스케쥴 작업을 생성할 수 있다. 이 프로세스는 폴더 리스트 파일(.FLD)와 배치 리스트 파일(.XML)의 두 개의 컴포넌트가 필요하다. LPS에서 미리 이들을 생성해 두자. 더 자세한 설명은 매뉴얼을 참조하라.

차트

Result Grid에 데이터를 반환하는 쿼리들은 내장 차트 기능을 이용하여 차트를 만들 수 있다. 차트 생성을 위한 기본 조건은 Log Parser 2.2와 동일하다. 즉,

  1. 그리드의 첫째 컬럼은 모든 데이터 타입(스트링, 숫자, 등)이 올 수 있다.

  2. 둘째 컬럼은 숫자 타입(Integer, Double, Decimal)만 올 수 있다. 스트링은 허용되지 않는다.

쿼리를 작성할 때 위 조건에 맞게 생성하여 두 번째 컬럼에는 항상 숫자를 포함하도록 하자. 차트를 생성하려면 쿼리의 실행이 완료되면 차트 버튼을 클릭하라. 위 조건 2를 깜빡하하였다면 그저 결과 중 숫자 타입의 컬럼을 두번째로 끌어다 두자. 만일 숫자 타입의 컬럼이 여러 개 일 경우 보고자 하는 숫자 타입의 컬럼을 두번째 컬럼에 끌어다 둔 후 차트를 생성하자.

6607.image_5F00_thumb_5F00_5FBA6BC0.png

 

 

키보드 단축키/명령어

LPS에는 여러 개의 키보드 단축키가 있다. LPS | Help | Keyboard Shortcuts를 클릭하여 언제든 단축키 리스트를 볼 수 있다. 현재 사용 가능한 단축키는 다음과 같다.

 

단축키

동작

CTRL+N

새로운 쿼리 작성 시작하기

CTRL+S

현재 전면에 보이는 탭의 쿼리를 라이브러리에 저장한다.

CTRL+Q

라이브러리 윈도우를 연다.

CTRL+B

라이브러리에서 선택된 쿼리를 배치 작업에 추가한다.

ALT+B

배치 매니저를 연다.

CTRL+B

선택된 쿼리를 배치 작업에 추가한다.

CTRL+D

현재 전면에 보이는 쿼리를 새 탭에 복사한다.

CTRL+ALT+E

에러가 있을 경우 에러 로그를 연다.

CTRL+E

현재 선택된 쿼리 결과를 CSV로 내보낸다.

ALT+F

라이브러리에서 선택된 쿼리를 즐겨찾기 리스트에 추가한다.

CTRL+ALT+L

소스 형태의 라이브러리를 첫번째 텍스트 에디터에서 연다.

CTRL+F5

라이브러리를 디스크에서 다시 로드한다.

F5

전면에 보이는 쿼리를 실행한다.

F2

라이브러리에서 현재 선택된 쿼리의 이름/설명을 변경한다.

F3

IIS 필드 리스트를 표시한다.

지원되는 입력과 출력

Log Parser 2.2는 여러 타입의 로그를 탐색할 수 있다. LPS의 개발은 아직도 진행되고 있기 때문에 현재 사용되고 있는 대부분의 로그를 대상으로 할 수 있다. 차기 버전에나 업데이트에서 추가적인 입력과 출력 타입을 지원하게 될 것이다.

지원되는 입력

W3SVC/IIS, CSV, HTTP 에러를 완전히 지원하며 Log Parser 2.2의 입력 포맷을 일부 지원한다. Log Parser 2.2에서 일부 사용할 수 없는 마이크로소프트 익스체인지의 특정 포맷과 같은 일부 LPS 포맷이 가능하다.

지원되는 출력

현재 CSV와 TXT가 지원되는 출력 타입이다.

Log Parser Studio - Quick Start Guide

다른 것 필요 없고 쿼리 몇 개를 실행하고 싶을 경우 여기부터 시작하자.

가장 먼저 Log Parser Studio가 필요한 것은 로그 파일들이 어디 있는 장소와 쿼리가 실행 결과를 CSV 형태로 저장되는 기본 장소를 결정하는 것이다.

1. CSV 출력 경로 지정하기:

a. LPS | Options | Preferences | Default Output Path로 간다.

b. 결과를 저장하고자 하는 폴더를 지정한다.

c. Apply를 클릭한다.

d. CSV를 내보내는 쿼리는 이 폴더에 결과를 저장하지 않는다.

NOTE: 만일 이 경로를 사전에 지정하지 않았다면 기본적으로 %AppData%\Microsoft\Log Parser Studio에 CSV 파일이 저장되며 다른 경로로 변경할 것을 추천한다.

2. Log File Manager를 이용해서 로그 파일이 저장된 곳을 지정한다. 지정하지 않고 쿼리를 실행하려고 하면 LPS가 메시지를 띄우며 로그 경로를 지정할 것을 요구한다. OK 버튼을 클릭하면 Log File Manager가 나타나며 파일 경로를 지정하자. Add Folder 버튼을 클릭하여 폴더를, Add File 버튼을 클릭하여 하나 혹은 여러 개의 파일을 추가하자. 폴더를 추가할 때는 최소 하나의 파일을 지정하여야 LPS가 어떤타입의 로그를 지정할 것인지 알 수가 있다. 파일을 지정하면 LPS가 선택된 파일의 확장자를 지정하는 와일드카드(*.xxx)로 변환한다. 따라서 지정된 폴더 내에서 와일드카드에 매치되는 파일이 대상이 될 것이다.

Log Parser Studio의 오른쪽 아래에 위치한 상태바를 살펴보면 현재 지정되어 있는 폴더나 파일을 쉽게 알 수 있을 것이다. 전체 경로명을 알고 싶으면 마우스를 상태바 위에 올려두자.

NOTE: LPS와 Log Parser는 여러 타입의 로그를 다룬다. 따라서 자신의 쿼리 대상이 되는 로그의 타입을 알고 있어야 하며, 즉 IIS 로그를 대상으로 하는 쿼리를 실행할 때는 반드시 File Manager에 IIS 로그만 선택되어야 한다. 그렇지 않을 경우 쿼리를 실행할 때 예상치 못한 에러나 결과를 가져올 것이다.

3. 라이브러리에서 쿼리를 선택하여 실행한다.

a. 라이브러리 탭을 선택한다.

b. 리스트에서 쿼리 하나를 선택하여 더블클릭 한다. 그러면 새로운 탭에서 선택된 쿼리가 열릴 것이다.

c. Run Single Query 버튼을 클릭하여 쿼리를 실행한다.

쿼리는 백그라운드로 실행되며 쿼리의 실행이 완료되면 두 가지 중 하나의 결과로 표시가 될 것이다. 즉, 쿼리 탭의 중간에 위치한 그리드에 표시되거나 CSV 파일로 저장된다. 일부 쿼리는 그리드에 결과를 표시하지만 메모리를 많이 필요로 하는 쿼리들은 CSV 파일로 저장하자.

매우 많은 양의 결과를 반환하는 쿼리들은 그 결과값을 CSV 파일로 저장하여 엑셀에서 추가적인 작업을 하는 것이 보통 가장 좋은 선택이 될 것이다. 결과 값은 얻고 나면 이들 결과로 작업할 수 있는 많은 기능들이 있다. 자세한 사항은 매뉴얼을 참조하기 바란다.


 

번호 제목 sitelink1 글쓴이 날짜 조회 수
135 윈도우10 에서 네트웍 드라이브 (SMB) 사용하기 file   황제낙엽 2018.03.03 197
134 윈도우10 에서 컴퓨터 이름, 네트웍 ID, 환경 변수등 변경하는 속성창 띄우기 file   황제낙엽 2018.03.03 77
133 윈도우10 업데이트 끄기 설정하는 방법 file http://cafe.naver.com/wese1245/496  황제낙엽 2017.12.11 3702
132 작업 스케줄러 실행 오류 (2147943712) file   황제낙엽 2017.11.27 1704
131 [문법] DOS 명령어   황제낙엽 2017.11.25 93
130 BAT 파일에 접근 권한 부여하기 (cacls) file http://cecildesk.tistory.com/entry/Windo...0%EB%95%8C  황제낙엽 2017.11.07 2033
129 윈도우 서비스 시작 중지 명령어 file   황제낙엽 2017.11.07 217
128 [일본어 자판] 윈도우10에서 한국어 자판 사용시 "変換" 키를 단축키 지정하는 법 file   황제낙엽 2017.10.18 194
127 [RDP Wrapper Library v1.6.1] 원격데스크톱 다중 접속(Multi session) : RDP Wrapper secret https://github.com/stascorp/rdpwrap/releases  황제낙엽 2017.09.17 659
126 java 프로그램을 주기적으로 실행하는 배치 예제   황제낙엽 2017.08.22 67
125 Windows 10, 원격 데스크톱 연결 (Remote Desktop Connection / RDC), 다중모니터   황제낙엽 2017.08.08 237
124 원격 데스크톱 연결 (Remote Desktop Connection / RDC), 다중모니터, /multimon file http://lansaid.tistory.com/736  황제낙엽 2017.08.05 166
123 윈도우 용량 줄이기 안전하게 WinSxS 폴더 삭제 dism.exe 윈도우폴더 용량 줄이는법 file http://startdownload.tistory.com/42  황제낙엽 2017.06.21 324
122 Log Parser Studio 사용팁 file http://iprize.tistory.com/668  황제낙엽 2017.06.21 236
» Log Parser Studio file http://iprize.tistory.com/666  황제낙엽 2017.06.21 52
120 Log Parser를 이용한 윈도우 이벤트 로그 검사하기 file http://iprize.tistory.com/665  황제낙엽 2017.06.21 96
119 Robocopy 예제 [1]   황제낙엽 2017.05.30 193
118 윈도우 서버 보안 관리를 위해 많이 사용하는 프로그램 목록   황제낙엽 2017.05.24 53
117 중요 정보 침해 사고가 발생했을 때 사고 대응과 분석에 많이 사용되는 명령어   황제낙엽 2017.05.23 48
116 윈도우 서버 시스템에서 꼭 필요한 서비스가 아닌 프로그램   황제낙엽 2017.05.23 53