スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

イベント・ログを自動アーカイブで長期間保存する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2009/07/31
対象OS
Windows Vista
Windows Server 2008
イベント・ログはトラブル・シューティングのための重要な情報源である。
だが従来はログ・ファイルがいっぱいになると、古いものから上書きしたり、記録するのを停止したりしていた。
Windows Vista以降のイベント・ログでは、ログ・ファイルがいっぱいになると、自動的にアーカイブして保存しておく機能が追加された。

解説

 イベント・ログはWindows OSにおける重要な管理機能の1つである。記録されたログを確認することにより、システムの動作状況を把握したり、エラーなどの原因を調査したりできる。

 イベント・ログに記録できるログ数には上限がある(正確には、イベント・ログのファイル・サイズに上限が設けられている。記録されるイベントの情報量によって、最大記録可能件数は変わる)。イベント・ログがいっぱいになった場合は、Windows Server 2003以前のWindows OSでは「古いイベントから上書きして記録する」か、「それ以上記録することを止め、古いログが上書きされることを避ける」という選択肢しかなかった。だがイベント・ログはトラブル・シューティングのための重要な情報源であり、上書きしたり、記録せず破棄する、という選択は望ましくない。そこで、なるべく多くのログを残すため、従来はイベント・ログ・ファイルのサイズを拡大する(そして上書きモードに設定する)という方法がよく使われていた(TIPS「イベント・ログ・ファイルの最大サイズを拡大する」参照)。

 Windows Vista以降のOS(Windows Server 2008、Windows 7)では、このイベント・ログ・ファイルの管理方法に新しいオプションが1つ加わり、ファイルがいっぱいになったら、そのファイルを「アーカイブ」して保存しておき、元のイベント・ログ・ファイルは空にして最初からまた記録する、という機能が用意された。UNIXやLinuxなどにおける、「ログ・ファイルのローテート」のような機能と考えればよいだろう(例:log→log.1、log.1→log.2、……のようにファイル名を変えて、古いログ・ファイルを同時にいくつか保存しておく機能)。アーカイブされたログは、必要ならばほかのシステムにバックアップを取ってから消去すれば、ディスク領域を圧迫することなく、長期間に渡るログを保存できる。本TIPSではこの方法について解説する。アーカイブされたイベント・ログ・ファイルは、イベント・ビューアの[操作]−[保存されたログを開く]メニューで読み出せば内容を確認できる。

操作方法

 Windows VistaやWindows Server 2008(およびそれ以降のOS)でイベント・ログ・ファイルを自動的にアーカイブさせるには、「システム」や「アプリケーション」などのログ・ファイルごとに、[プロパティ]で設定を変更するだけである。

 まず[管理ツール]の[イベント ビューア]を開き、例えば「システム」ログをクリックして、ポップアップ・メニューから[プロパティ]を選択する。

ログ・ファイルのプロパティの変更
Windows Vista以降のOSでは、ログ・ファイルがいっぱいになったときに、自動的にアーカイブする機能が用意された。
ログのアーカイブは、ログごとに設定する。ここでは、システム・ログを自動アーカイブさせてみる。[システム]を選んで右クリックする。
[プロパティ]を選択する。

 プロパティ・ウィンドウが表示されたら、[イベントを上書きしないでログをアーカイブする]を選択する。なお、最大ログ・ファイル・サイズも可能ならば大きく設定しておくとよいだろう。

ログ・ファイルの自動アーカイブの設定
デフォルトではいっぱいになったら古いものから上書きするモードになっているので、これを変更する。
ログ・ファイルのフルパス。ログ・ファイルは.evtxという新しいフォーマットのファイルになっている。
現在のログ・ファイルのサイズ。ログが増えるにつれ、サイズが拡大する。
最大ログ・ファイル・サイズ。これはWindows Vista Ultimate Editionのシステム・ログの例で、デフォルトでは最大20Mbytesに制限されている。
デフォルトではこれが選択されている。ログがいっぱいになると、古いログから順に上書きされる。
これを選択すると、ログ・ファイルを自動的にアーカイブするモードになる。
これを選択すると、ログ・ファイルがいっぱいになったときに、ログの記録が停止する。新しいイベントが発生してもログが記録されないので、現在のシステムの情報を正しく把握できなくなる可能性がある。
これをクリックすると、ログ・ファイルの内容がすべて消去され、(を選んだ場合でも)また記録できるようになる。
これをクリックすると、設定が完了する。

 設定は以上である。ログ・ファイルがいっぱいになると、例えばシステム・ログ・ファイルなら、元のファイル「System.evtx」が「Archive-System-YYYY-MM-DD-HH-MM-SS-NNN.evt」といった名前に変更され、アーカイブされる(YYYYやMMなどは日付情報。ファイルは消されることなく、ずっと残っている)。ときどきシステムのログ・フォルダを確認し、古いアーカイブは消去するなり、バックアップするなどして、管理すればよい(古いアーカイブが不要なら削除しないと、最終的にはディスク領域を圧迫するので注意)。以下は、アーカイブされたシステム・ログの例である。システム・ログの保存場所は、ログのプロパティの画面(上の)で確認できる。

アーカイブされたログ・ファイルの例
これは自動的にアーカイブされたシステム・ログ・ファイルの例。ここでは最大ログ・ファイル・サイズを2Mbytesに制限して、eventcreateコマンドで大量のログを記録させてみた(このコマンドについてはTIPS「イベント・ログに任意の文字列を出力する」参照)。2Mbytesに達した時点でSsytem.evtxファイルが順にアーカイブされている。
Systemイベント・ログ・ファイルのみを表示させている(このフォルダには、ほかにも多数のログ・ファイルが保存されている)。
アーカイブされたログ・ファイル。このログ・ファイルは、イベント・ビューアの[操作]−[保存されたログを開く]で内容を確認できる。
現在アクティブなシステム・ログ・ファイル。
アーカイブされたログ・ファイルは、サイズが上限いっぱいになっている。

コマンド・プロンプト上での操作

 以上の設定をコマンド・プロンプト上から行うには、イベント・ログを操作するコマンドwevtutil.exeを使って、次のようにする。

wevtutil sl System  /rt:true /ab:true

 「wevtutil sl」は、イベント・ログの設定を行うコマンド、「System」はシステム・ログを対象とするための指示(ほかに「Application」や「Security」などがある。「wevtutil el」でログ名のリストが列挙できる)、「/rt:true」はログを保持する(いっぱいになっても上書きしない)、「/ab:true」は自動バックアップをオンにする、という意味である。現在の設定は「wevtutil gl System」のようにすれば取得できる。「retention」と「autoBackup」が両方とも「true」なら、自動的なアーカイブが有効になっている。End of Article

C:\Windows\system32>wevtutil gl System ……現在の設定の取得
name: System
enabled: true
……(中略)……
logging:
  logFileName: %SystemRoot%\System32\Winevt\Logs\System.evtx
  retention: true
  autoBackup: true
  maxSize: 67108864
publishing:

C:\Windows\system32>

この記事と関連性の高い別のWindows TIPS
イベント・ログ・ファイルの最大サイズを拡大する
イベント・ログをトリガーにしてメールを送信する(基本編)
WSHコードで発生したエラー情報をイベント・ログに記録する
コマンド・プロンプトでイベント・ログを表示する
イベント・ログに任意の文字列を出力する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT

ソリューションFLASHPR