Open棟梁Project - マイクロソフト系技術情報 Wiki * 目次 [#w5c5a79a] #contents *概要 [#a54487d8] ログ収集に関する様々なトピック。 *所在 [#t834eb78] **イベント・ログ [#tb5b916a] -監査の管理 --概要~ http://technet.microsoft.com/ja-jp/library/dd362983.aspx --セキュリティ ログの表示~ http://technet.microsoft.com/ja-jp/library/dd362984.aspx --イベント ログの設定~ http://technet.microsoft.com/ja-jp/library/dd362985.aspx --イベント ログの保存~ http://technet.microsoft.com/ja-jp/library/dd362986.aspx --既定のイベント ビューア ログ ファイルの場所の変更~ http://technet.microsoft.com/ja-jp/library/dd362987.aspx **タスク・スケジュール・ログ [#jc71d2bc] -@IT:Windows TIPS -- Tips:タスク・ログ・ファイルの見方~ http://www.atmarkit.co.jp/fwin2k/win2ktips/466tasklog/tasklog.html **IIS [#s2bd3626] -IISのログ・ファイル・フォルダを変更する - @IT~ http://www.atmarkit.co.jp/fwin2k/win2ktips/525iislogs/iislogs.html -IIS 7 でログ記録を構成する~ http://technet.microsoft.com/ja-jp/library/cc732079.aspx -インターネット インフォメーション サービス (IIS) のログ収集を有効にする方法~ http://support.microsoft.com/kb/313437/ja **SQL Server [#ba820aa5] -SQL Server エラー ログの表示~ http://msdn.microsoft.com/ja-jp/library/ms187885.aspx -MSDN Blogs > Microsoft SQL Server Japan Support Team Blog --Tips:SQL Server の Log フォルダの位置の確認方法~ http://blogs.msdn.com/b/jpsql/archive/2012/06/19/tips-sql-server-log.aspx --[SQL Troubleshooting] 第1回 : Tips~ SQL Server エラーログとイベント ログを採取する (SQL 2000 ~ 2008 R2)~ http://blogs.msdn.com/b/jpsql/archive/2012/03/27/info-sql-server-sql-server-error-log-and-event-log.aspx **ネットワーク上の電文 [#eb949d2b] ネットワーク上の電文取得もログ採取の一環です。 -[[電文を確認する方法(パケット・キャプチャ)]] *ツール類 [#lba0934c] **採取系 [#da5e3d3c] 下記、[[テキスト化>#d29c7379]]も参照。 ***Active Directory [#h3041545] -[[Active Directory]] --[[グループポリシー設定リスト]] ***MPS Report [#e4a7bc64] Microsoft Product Support Report(MPS_Report) >環境変更時や障害発生時のログ収集のために使用する。 -Microsoft Configuration Capture ユーティリティ (MPS_REPORTS) の概要~ http://support.microsoft.com/kb/818742/ja >MPS_REPORTS は、コンピュータの重要な情報~ (システム情報、診断情報、および構成情報)を収集するために使用可能な~ スクリプトや他のユーティリティを含む圧縮されたソフトウェア パッケージ -download Microsoft Product Support Reports~ Microsoft Download Center - Download Details~ http://www.microsoft.com/en-us/download/details.aspx?id=24745 -Live Meeting エディション MPS レポート ツールを利用する~ http://technet.microsoft.com/ja-jp/library/ff986278.aspx -Microsoft Product Support Reports ログ採取方法 - JPFAQ_198373 デル Japan~ http://supportapj.dell.com/support/topics/global.aspx/support/kcs/document?c=jp&docid=226373_ja **分析系 [#d1780a26] ***LogParser [#w324d67c] LogParserの機能は、ログの加工・分析を支援する。 ***wlog [#i7e1d657] Webサーバのログを一度Accessにインポートし、~ そこから、Excelのピボットテーブルを生成する。 >Accessにインポートするので、そこからSQLによる分析も可能。 ***MPS Report Viewer [#hbaf9bb6] Microsoft Product Support Report(MPS_Report)~ で収集したログのビューアになります。 -ユーティリティ スポットライト トラブルシューティング データを収集する~ http://technet.microsoft.com/ja-jp/magazine/jj860527.aspx -Download MPSReports Viewer 2.0 from Official Microsoft Download Center~ http://www.microsoft.com/en-us/download/details.aspx?id=18325 *テキスト化 [#d29c7379] ログをテキスト化して収集する方法 **イベント・ログ [#w74c9f82] -監査の管理 ‐ イベント ログの保存(TXT、CSVでのエクスポート)~ http://technet.microsoft.com/ja-jp/library/dd362986.aspx ***LogParser [#uc8f4ef6] 2000/2003イベント・ログを~ LogParserコマンドでテキスト・ファイル出力できる。 以下コマンド例 -対象 --System --Application --Security -抽出時間帯 --<時間帯フラグ>:対象時間帯 +++:前日16時~当日0時未満 +++:当日0時以降~当日7時未満 +++:当日7時以降~当日16時未満 -コマンド --前日16時~当日0時未満 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 --当日0時以降~当日7時未満 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 --当日7時以降~当日16時未満 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"にも対応 ※ 日付の部分は、引数の値に変更する。 ***wevtutil [#i0875e61] 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種類のファイルを抽出するが、途中で処理が失敗した場合、途中で処理を中断する。 **タスク・スケジュール・ログ [#of0425f2] タスク・スケジュール・ログを~ schtasksコマンドでテキスト・ファイル出力できる。 -schtasksコマンド~ schtasksコマンドで、テキスト・ファイル出力可能(以下、コマンドの例)。 --Windows Server 2003 で Schtasks.exe~ を使用してタスクをスケジュールする方法~ http://support.microsoft.com/kb/814596/ja schtasks /QUERY /FO CSV /V > TasksLog.log schtasks /QUERY /FO CSV /V /S <サーバ名> > TasksLog.log **SQL Serverトレース・ログ [#iaa9b09a] SQL Server 2012トレース・ログ(バイナリ)をSQL Server 2005でもインポートできる。 ***準備 [#ce1c45bc] -ログ・テーブル作成 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 ***トレースのインポート・エクスポート [#n6808d00] -インポート~ 上記ストアド(ImportTraceFile)を実行 --@Param1:トレースファイル名 --@Param2:テーブル名 --ストアドは必須でない(fn_trace_gettableを直接実行可能)。 ---In SQL Server, how to move-import a multiple~ .trc files to a trace table - Stack Overflow~ http://stackoverflow.com/questions/2784714/in-sql-server-how-to-move-import-a-multiple-trc-files-to-a-trace-table -エクスポート(bcp) 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 --bcp ユーティリティ~ http://msdn.microsoft.com/ja-jp/library/ms162802.aspx