Open棟梁Project - マイクロソフト系技術情報 Wiki
ログ収集に関する様々なトピック。
ネットワーク上の電文取得もログ採取の一環です。
下記、テキスト化も参照。
Microsoft Product Support Report(MPS_Report)
環境変更時や障害発生時のログ収集のために使用する。
MPS_REPORTS は、コンピュータの重要な情報
(システム情報、診断情報、および構成情報)を収集するために使用可能な
スクリプトや他のユーティリティを含む圧縮されたソフトウェア パッケージ
LogParserの機能は、ログの加工・分析を支援する。
Webサーバのログを一度Accessにインポートし、
そこから、Excelのピボットテーブルを生成する。
Accessにインポートするので、そこからSQLによる分析も可能。
Microsoft Product Support Report(MPS_Report)
で収集したログのビューアになります。
ログをテキスト化して収集する方法
2000/2003イベント・ログを
LogParserコマンドでテキスト・ファイル出力できる。
以下コマンド例
LogParser "SELECT EventLog,TimeGenerated,EventID,EventTypeName,EventCategoryName,SourceName, ComputerName,SID,Message INTO 出力PATH + <サーバ名>_<ログ種別ID>_<年月日>_1.log FROM System WHERE TO_DATE(TimeGenerated) = SUB(TO_TIMESTAMP('引数の<日付>','yyyy/MM/dd'), TIMESTAMP('2','d')) AND TO_TIME(TimeGenerated) >= TIMESTAMP('16','h')" -i:EVT -o:CSV -q:ON -resolveSIDs:ON
LogParser "SELECT EventLog, TimeGenerated, EventID,EventTypeName, EventCategoryName, SourceName, ComputerName, SID, Message INTO 出力PATH + <サーバ名>_<ログ種別ID>_<年月日>_1.log FROM System WHERE TO_DATE(TimeGenerated) = TO_TIMESTAMP('引数の<日付>','yyyy/MM/dd') AND TO_TIME(TimeGenerated) < TIMESTAMP('7','h')" -i:EVT -o:CSV -q:ON -resolveSIDs:ON
LogParser "Select EventLog, TimeGenerated, EventID, EventTypeName, EventCategoryName, SourceName, ComputerName, SID, Message INTO 出力PATH + <サーバ名>_<ログ種別ID>_<年月日>_1.log FROM System WHERE TO_DATE(TimeGenerated) = TO_TIMESTAMP('引数の<日付>','yyyy/MM/dd') AND TO_TIME(TimeGenerated) >= TIMESTAMP('7','h') AND TO_TIME(TimeGenerated) < TIMESTAMP('16','h')" -i:EVT -o:CSV -q:ON -resolveSIDs:ON ※ "From System" の部分は、"From Application"、"From Security"にも対応 ※ 日付の部分は、引数の値に変更する。
2008/2012イベント・ログを
wevtutilコマンドでテキスト・ファイル出力できる。
以下コマンド例
wevtutil qe System "/q:*[System[TimeCreated[@SystemTime>='yyyy-mm-ddT00:00:00.000Z' and @SystemTime<= 'yyyy-mm-ddT00:00:00.000Z']]]" /f:text > 出力パス + <サーバ名>_<ログ種別ID>_<年月日>_<時間帯フラグ>.log ※ "qe System" の部分は、"qe Application"、"qe Security"にも対応 ※ 日付の部分は、引数の値に変更する。 ※ 3種類のファイルを抽出するが、途中で処理が失敗した場合、途中で処理を中断する。
タスク・スケジュール・ログを
schtasksコマンドでテキスト・ファイル出力できる。
schtasks /QUERY /FO CSV /V > TasksLog.log schtasks /QUERY /FO CSV /V /S <サーバ名> > TasksLog.log
SQL Server 2012トレース・ログ(バイナリ)をSQL Server 2005でもインポートできる。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[テーブル名]( [TextData] [ntext] COLLATE Japanese_CI_AS NULL, [BinaryData] [image] NULL, [DatabaseID] [int] NULL, [TransactionID] [bigint] NULL, [LineNumber] [int] NULL, [NTUserName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [NTDomainName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [HostName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [ClientProcessID] [int] NULL, [ApplicationName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [LoginName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [SPID] [int] NULL, [Duration] [bigint] NULL, [StartTime] [datetime] NULL, [EndTime] [datetime] NULL, [Reads] [bigint] NULL, [Writes] [bigint] NULL, [CPU] [int] NULL, [Permissions] [bigint] NULL, [Severity] [int] NULL, [EventSubClass] [int] NULL, [ObjectID] [int] NULL, [Success] [int] NULL, [IndexID] [int] NULL, [IntegerData] [int] NULL, [ServerName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [EventClass] [int] NULL, [ObjectType] [int] NULL, [NestLevel] [int] NULL, [State] [int] NULL, [Error] [int] NULL, [Mode] [int] NULL, [Handle] [int] NULL, [ObjectName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [DatabaseName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [FileName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [OwnerName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [RoleName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [TargetUserName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [DBUserName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [LoginSid] [image] NULL, [TargetLoginName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [TargetLoginSid] [image] NULL, [ColumnPermissions] [int] NULL, [LinkedServerName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [ProviderName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [MethodName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [RowCounts] [bigint] NULL, [RequestID] [int] NULL, [XactSequence] [bigint] NULL, [EventSequence] [int] NULL, [BigintData1] [bigint] NULL, [BigintData2] [bigint] NULL, [GUID] [uniqueidentifier] NULL, [IntegerData2] [int] NULL, [ObjectID2] [bigint] NULL, [Type] [int] NULL, [OwnerID] [int] NULL, [ParentName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [IsSystem] [int] NULL, [Offset] [int] NULL, [SourceDatabaseID] [int] NULL, [SqlHandle] [image] NULL, [SessionLoginName] [nvarchar](256) COLLATE Japanese_CI_AS NULL, [PlanHandle] [image] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[ImportTraceFile] @Param1 nvarchar(256), @Param2 nvarchar(30) AS BEGIN SET NOCOUNT ON; exec( 'INSERT INTO ' + @Param2 + ' SELECT * FROM fn_trace_gettable(''' + @Param1 + ''', default)') END GO
cmd.exe /c bcp "SELECT EventClass, Success, ApplicationName, HostName, LoginName, SPID, Duration, StartTime, EndTime, ObjectName, DatabaseName, ServerName, EventSubClass, TargetLoginName, RoleName, TargetUserName, TextData FROM テーブル名" queryout C:\Trace.txt -c -t , -r ,\n -T