레이블이 log parser인 게시물을 표시합니다. 모든 게시물 표시
레이블이 log parser인 게시물을 표시합니다. 모든 게시물 표시

2013년 8월 29일 목요일

MS LogParser 를 사용해보자 (4)

기본적인 사용법은 HELP 파일이나  (크1) (링크2) 이 사이트 들에서 한번 훌터 보면되..

자 이제 내 기준으로 내가 필요했던 걸 해볼께...

"내가 하고자 하는건 윈도우 시스템의 이벤트 로그를 데이터베이스에 INSERT하고 싶어.."

순서는 이래

- 이벤트 로그를 저장할 데이터베이스와 테이블을 생성하고
- log parser 쿼리와 batch 파일을 만들고
- 작업 스케줄러에 등록을 해서 주기적으로 데이터베이스에 INSERT 하자.

1. 그럼 데이터베이스와 테이블을 생성해보자..
  가. 데이터베이스 생성 (뭐 대충 이런식으로 만들고)
/*
  1. System Event Log 저장 DB 생성
*/
USE master
go

CREATE  DATABASE  [SysEventLogDb]
ON PRIMARY
(
  NAME = SysEventLogDb
  , FILENAME = N'D:\SqlDBData\MSSQL10_50.MSSQLSERVER\MSSQL\DATASysEventlogDb.mdf'
  , SIZE = 3MB
  , MAXSIZE = UNLIMITED
  , FILEGROWTH = 1MB
)

LOG ON
(
  NAME = SysEvetLogDbLog
  , FILENAME = N'D:\SqlDBData\MSSQL10_50.MSSQLSERVER\MSSQL\DATASysEventlogDbLog.ldf'
  , SIZE = 2MB
  , MAXSIZE = UNLIMITED
  , FILEGROWTH = 10%
)

  나. 테이블도 만들자
     여기서 주의할 점은 varchar 데이터 크기 값을 귀찮다고 max로 줘버리면 데이터 입력시 공백이 입력이 되니깐 주의해...

use SysEventLogDb
go

CREATE TABLE [EventLog]
(
EventLog varchar(500)
, RecordNumber int
, TimeGenerated datetime
, TimeWritten datetime
, EventID int
, EventType int
, EventTypeName varchar(500)
, EventCategory int
, EventCategoryName varchar(500)
, SourceName varchar(500)
, Strings varchar(8000)
, ComputerName varchar(500)
, SID varchar(500)
, Message varchar(8000)
, Data varchar(8000)
)


2. Log Parser 쿼리를 만들자
   아래에 있는게 쿼리야..
logparser.exe -i:evt "SELECT  * FROM System TO EventLog" -o:SQL -Driver:"SQL Server Native Client 11.0" -server:[IP,PORT | ALIAS] -database:[데이터베이스 이름] -username:[user id] -password:[password] -createtable:OFF -stats:ON

하나씩 설명 해주마..
* logparser.exe : 당연히 logparser.exe를 실행하라는 거고 당연히 뒤에껀 argument 값이겠지..
* -i:evt : -i는 input 하라는 거고 evt는 이벤트 로그를 뜻해. 고로 이벤트 로그의 내용을 입력하겠다는 표시야.
* "SELECT * FROM System TO EventLog" : SELECT * FROM System은 이벤트로 로그의 시스템 이벤트 로그를 SELECT 해서 보겠다는 거야, System이 입력된 부분에 Security, Application등을 넣어서 데이터를 뽑으면 되겠지?  TO EventLog는 EventLog라는 곳으로 보내겠다는 거야 즉 OUPUT이 SQL이면 EventLog는 테이블 명이겠지
주의 할 점은 Security 는 관리자 권한이 있어야만 데이터를 뽑을 수 어 그러니깐 "관리자 권한으로 실행"을 해줘야해...
* -o:SQL : -o는 ouput 하라는 거고 SQL은 SQL DB에 연결해서 하겠다는 거지
* 나머지 -Driver, -Server, -Database -username, -password는 DB서버에 접속하기 위한 설정 값이고
* -createtable:OFF : 이거는 데이터를 입력할 때 DB에 테이블을 생성해서 넣겠다는 거야 이미 만들어 져 있고 덮어쓰거나 오류가 발생할 여지가 있으니깐 이건 OFF시켜서 생성하지 못하게 해야되
* -stats:ON : 이거는 쿼리 실행 완료 후 실행해서 넘긴 item의 숫자와 소요 시간을 알려주는거야.

이대로 하면 기본적인 쿼리 골격은 만들어 진거야.. 아..힘들다... 쉬었다 갈께..

<4부 끝>






MS LogParser 를 사용해보자 (3)

3부에서는 로그파서와 관련된 Document File과 Web Site 목록을 알려줄께.

1. 로그파서도 Help 파일이 있다..
   Log parser 설치 폴더에 보면 LogParser.chm 이라는 Help 파일이 있어 거기에 보면 로그파서의 구조, 쿼리 날리는 방법, Log Parser API, 레퍼런스 등의 정보가 있어. Help파일 만한 Bible은 없다고 하잖아. 이것만 있으면 다 할수 있을꺼야..

2. 로그파서관련 Web Site 와 Program 들이야
  가. Log Parser Plus (링크) - Function Reference 사이트야 
  나. Visual Log Parser (링크) - Log Parser 를 GUI 환경에서 에디트 할 수 있는 프로그램인 Visual Log Parser 사이트야. 현제 버전은 1.0b 이고 64Bit 운영체제 사용자는 설치 파일 버전을 사용하면 안되고 NightlyBuild 버전을 사용해서 압출을 풀어 사용해야되. 
  다. Log Parser Studio (링크) - MS에서 만든 Log Parser GUI 프로그램. 라이브러리 검색이 가능하고 그걸로 쉽게 쿼리를 만들고 그리드로 볼 수 있도록 도와 주는 프로그램이야

<3부 끝>

MS LogParser 를 사용해보자 (2)

1부에 이어 2부는 어떤 것들(INPUT)을 어떻게 내보낼(OUTPUT) 수 있는지 알아보자..

1. 어떤 Log들을 가져 올수 있나?
  • IIS log files (W3C, IIS, NCSA, Centralized Binary Logs, HTTP Error logs, URLScan logs, ODBC logs)
  • Windows Event Log
  • Generic XML, CSV, TSV and W3C - formatted text files (e.g. Exchange Tracking log files, Personal Firewall log files, Windows Media® Services log files, FTP log files, SMTP log files, etc.)
  • Windows Registry
  • Active Directory Objects
  • File and Directory information
  • NetMon .cap capture files
  • Extended/Combined NCSA log files
  • ETW traces
  • Custom plugins (through a public COM interface)
가져 올수 있는 로그가 많아 눈알 빠지도록 놀랍지??

2. 이 로그를 어떤식으로 내보낼(가져올) 수 있나?
  • Write data to text files in different formats (CSV, TSV, XML, W3C, user-defined, etc.)
  • Send data to a SQL database
  • Send data to a SYSLOG server
  • Create charts and save them in either GIF or JPG image files
  • Display data to the console or to the screen 
제일 필요한 SQL로 보내는 것과 SYSLOG로 보낼수 도 있고 신박하게도 차트로도 보여줄 수도 있다!!!! 통계자료에 사용하면 되겠지?

<2부 끝>

2013년 8월 28일 수요일

MS LogParser 를 사용해보자 (1)

Microsoft LogParser 2.2 를 사용 해보자..

간단 명료하게 적어본다..영타 입력하기 귀찮아서 한타로 입력할 때도 있으니 알아서 봐..

0. 로그파서(LogParser)란?
  마이크로소프트에서 만든 운영체제 로그 추출 응용프로그램이다.

1. 활용방법
  가. 특정 키워드를 활용해 사용자가 가져 오고자 하는 정보만 추출 할 수 있다.
  나. 추출된 정보를 화면에 출력하거나, 다양한 형태의 파일로 저장, 데이터베이스에 입력 할 수 있다.

2. 준비물
  가. LogParser 2.2 (2013년8월 기준)  (다운로드 링크)
  나. DBMS (여기선 MS-SQL 2008)
  다. 윈도우 (여기선 윈도우2008 R2, 윈도우7)

3. 로그파서 설치 및 설정
  가. 설치 방법은 간단해. 알잖아 다음,, 다음,, 32bit 운영체제면 program files 에 설치 되고 64bit 운영체제면 program files (x86)에 설치 되겠지..
  나. 로그파서는 기본적으로 콘솔(cmd)에서 실행된다. 그래서 PATH를 설정 해줘야 한다.
  다. PATH는 윈도우키+Pause/Break키 -> 창이 뜨면 "고급 시스템 설정" -> 고급탭에 "환경 변수"로 들어가서 -> "시스템 변수"에 변수 PATH항목을 더블 클릭 한다. -> 변수 값이 종료되는 부분에 로그파서가 설치된 경로를 입력해줘. 나는 ";C:\Program Files (x86)\Log Parser 2.2\"라고 입력했다. 그리고 닫아줘
  라. 다시 cmd 창을 열어서 logparser라고 입력해서 실행되는지 확인해봐. 창에 뭔가 쫘악~ 나온다면 성공적으로 설치, 설정 된거야.


여담..로그파서를 GUI형태로 실행하는 Visual Logparser라고 있다..(링크)
근데 이 프로그램은 64bit 운영체제에서는 설치 할 수 없어...
암튼 2013년8월 기준으로는 그렇다고..
추가 : 확인해본 결과 Nightly Build 버전은 사용 가능하다..

<1부 끝>