Windows TIPS ディレクトリ

監視/調査/モニタ/ログ

更新日:2006/03/31

 サブディレクトリ
 監視/調査/モニタ/ログ
timeitコマンドでアプリケーションの実行時間を測定する
プログラムの性能を解析するには、プログラムの実行時間を測定する必要がある。 / リソースキット・ツールにはtimeit.exeという、アプリケーションの実行時間を測定するコマンドが用意されている。
tailコマンドでログ・ファイルをリアルタイムに監視する
ログ・ファイルに書き込まれるデータの内容をリアルタイムに確認すれば、サービスやアプリケーションの動作状態をモニタできる。 / 単にメモ帳などでログ・ファイルを開いても、リアルタイムに書き込まれるログ・データの内容は確認できない。 / tail -fコマンドを利用すると、ファイルの末尾に書き込まれたデータをモニタし、それを表示させ続けることができる。
IISのログ・ファイル・フォルダを変更する
IISのログ・ファイルはデフォルトではシステム・ドライブ上に作成されるが、パフォーマンスや管理のことを考えると別ドライブに記録するのが望ましい。 / ログ・ファイルの格納フォルダはWebサイトやFTPサイトのプロパティで変更することができる。 / IIS全体のプロパティを変更すると、新規作成されるサイトのデフォルト・フォルダを変更することができる。
バイナリ・ファイルの内容をメモ帳で確認する
添付ファイルやバイナリ・ファイルをエクスプローラ上などでダブルクリックすると、プログラムがいきなり実行されたり、関連付けされたアプリケーションが起動したりする。 / 内容が不明なファイルは、まずメモ帳で開いて確認するとよい。 / 文字コードを指定して開くと、Unicode文字列も表示させることができる。
Port ReporterツールでTCP/IPの通信状態を調査する
アプリケーションが使用しているTCPやUDPのポートを知るにはnetstatコマンドを利用するのが一般的であるが、netstatはログ機能を持たない。 / ネットワークの通信状態を詳細に調べ、ロギングするにはPort Reporterツールが利用できる。 / PortReporterツールではローカル・ループバック・インターフェイスに対する通信もモニタすることができる。
Windowsネットワークのマスタ・ブラウザを調査する
Windowsネットワークでは、コンピュータの一覧をブラウズ・リストという情報として管理している。この管理を行うコンピュータをブラウザという。 / 通常はドメイン・コントローラがマスタ・ブラウザとなるが、場合によってはそのほかのコンピュータがマスタ・ブラウザとなることがある。 / 現在のマスタ・ブラウザやバックアップ・ブラウザの情報を調べるにはbrowstatコマンドを利用するとよい。
netstatの統計情報を活用する
netstatでは、TCP/IPプロトコルやネットワーク・インターフェイスの稼働状況を示す各種の統計情報値を表示することができる。 / ネットワークのトラブルシューティングのためには、これらの値も参考にするとよい。 / 正常なときの値や挙動と比べることにより、問題点を素早く見つけることができる。
ポートのリッスン状態を調査する
あるTCPのポートがリッスンされているかどうかを調べるにはtelnetで接続してみるとよい。 / netsh diagコマンドを使うと、Proxyやメール・サーバとの通信テストが簡単に行える。 / portqryコマンドを使うと、ポート・スキャンなど、より高機能な通信テストが行える。
コマンド・プロンプトでイベント・ログを表示する
Windowsシステムに関する各種のイベントはイベント・ログに記録され、通常はイベント・ビューアを使って表示する。 / eventquery.vbsというスクリプトを使うと、イベント・ログの内容をコマンド・プロンプト上で表示させることができる。 / オプション指定により、リモート・マシンのログの表示や、指定された条件に合うログだけを抜き出して表示させたりできる。
ネットワークの診断ツールを活用する
ネットワークのトラブルシューティングのためには、ネットワークの設定やサーバとの通信の状態などを調査する必要がある。 / ネットワークの診断ツールを使うと、設定の確認や通信状態の調査が簡単に行える。 / netsh のdiagコマンドでも同様の診断を行うことができる。
ホスト名からIPアドレスを見つける方法
コンピュータ名からIPアドレスを求めることを名前解決という。Windowsネットワークでは、NetBIOS系とTCP/IP系の2種類の名前解決がある。 / NetBIOSにおける名前解決の結果を調べるにはNetBIOSのネーム・キャッシュの内容を調べるとよい。 / TCP/IPにおける名前解決の結果を調べるにはpingコマンドが便利である。
pingでMTUサイズを調査する
ネットワークで送信可能なパケットの最大サイズをMTUという。IPパケットのサイズがMTUサイズを超えるとパケットの分割処理が行われる。これをIPフラグメンテーションという。 / pingの-fオプションを使うとIPパケットのDF bitがセットされ、IPフラグメンテーションが禁止される。 / データ・サイズを変えながらping -fを実行することにより、ネットワークのMTUサイズを調査することができる。
ハッシュ値を利用してファイルの同一性をチェックする
ハッシュ値を比較すれば、ファイルの同一性を確認できる。 / ダウンロード・サイトでは、ファイル同一性のチェック目的でハッシュ値を公開していることがある。 / 大量のファイルを持つディレクトリ同士を比較して、更新されたファイルを特定するのにもハッシュ値を使うと便利である。
pingでネットワークの速度を調査する
ネットワークの速度を大ざっぱに測定するには、pingコマンドを利用するとよい。 / pingはTCP/IPの基本ツールであり、どこでも利用できる可能性が高い。 / ただし誤差を少なくするためには、データ・サイズを大きくして測定するなどの注意が必要である。
“Error Code Lookup”ツールでエラー・コードから原因を探る
障害対策では、エラーを通知するダイアログや、ログ情報などに出力されるエラー番号から原因を調査しなければならない場合がある。 / しかしエラー番号だけでは、どこの何を検索したらよいのか途方に暮れることも多い。 / これに対しマイクロソフトは、Windowsや一部のサーバ製品などが発行するエラー番号から、関連する情報を検索できる無償ツールerr.exeを提供している。
使用中のIPアドレスを調査する
現在ネットワークで使用されているIPアドレスを調査するには、pingコマンドを使うのが一般的である。 / だが場合によってはpingに対する応答がブロックされていることもあるので、arpコマンドも使うとよい。 / forコマンドと組み合わせれば、簡単にLAN上のIPアドレスを列挙することができる。
IISのログ・ファイルを午前0時に切り替える
IISでは、1日ごとや1週間ごとにまとめてWebアクセス・ログを出力することができる。 / デフォルトではGMTの午前0:00になるとファイルが切り替わるが、これは日本時間の午前9:00になる。 / 日本時間深夜の午前0:00にログ・ファイルを切り替えるには、IISのログ設定を変更する。
WSHコードで発生したエラー情報をイベント・ログに記録する
イベント・ログは、ハードウェアやソフトウェア、そのほか、システム全般の問題について情報を収集するための重要な手掛かりだ。 / スクリプト内でエラーが発生した場合にも、エラー情報をイベント・ログに記録しておくことで、システム全体の一元的な監視が容易になる。
nslookupの基本的な使い方(SOAレコード編)
ドメインの起点となる情報はSOAレコードで定義されている。 / SOAレコードの情報は、nslookup -type=soaで取得できる。
Webアクセスをモニタする
普段は意識する必要はないが、Webアプリケーション開発時のデバッグ、不審なWebサイトのアクセスでやりとりされているデータの確認など、Webブラウザとサーバがやりとりしているデータの内容を確認したいときがある。 / HTTPの通信内容をモニタする無償ツールを活用すればよい。
pathpingでネットワークの経路を調査する
pathpingは、ネットワーク・ルートの到達性や品質などを調査するためのコマンドである。 / pathpingを実行すると、tracertのように、まず経路上にあるルータのIPアドレスが表示される。 / 次に、各ルータまで多数のパケットを送信し、そのRTT(応答時間)や喪失率などの情報が表示される。
イベント・ログに任意の文字列を出力する
バッチ・ファイルやWSHを使って作成したタスクから、Windows OS標準のイベント・ログへ出力することにより、タスクの実行結果やエラーなどを統一的に管理することができる。 / WSHでイベント・ログへ出力するためには、WshShellオブジェクトのLogEventメソッドを利用する。 / コマンドラインで出力するにはEventcreateやLogEventコマンドを利用する。
タスク・ログ・ファイルの見方
タスクの実行結果を表すログは、最大サイズは32Kbytesに制限された、Unicode形式のテキスト・ファイルに記録されている。 / タスク・ログは循環形式で記録される。最後まで書かれると、また先頭から順番に記録される。最後に実行されたタスクの場所には特別な文字列が記入されている。
自動実行されるプログラム/サービス/アドインを一望にし、制御する
Windowsでは、さまざまなプログラムやサービス、アドインなどが自動的に起動される。 / スパイウェアの調査やトラブル発生時の対処などで、これら自動起動されるコンポーネントを調査、制御したい場合がある。 / Windowsの標準ツールを使うこともできるが、さらに便利な無償ツールを活用することができる。
不正アクセスを検知するパフォーマンス・モニタ・カウンタ
遊び半分の愉快犯ではなく、甚大な経済被害をもたらす不正侵入や破壊活動、情報摂取などをもくろむ犯人は、最もリスクが小さく、大きな成果(破壊による被害の大きさや、窃取する情報の価値)が得られる侵入方法を事前に入念に調査する。 / この際には、ログオン・エラーやアクセス違反など、通常ではそれほど発生しない不正アクセスが大量に発生したりする。 / Windows標準ツールであるパフォーマンス・モニタを使って、コストゼロでこれらの不正アクセスを監視することができる。
ログオンの失敗をメールで通知する
重要なサーバなどでは、ログオンの失敗が発生したことを検知したい場合がある。 / WMIを利用して、ログオン失敗時に発生するイベントを監視することができる。さらにCDOを組み合わせれば、ログオン失敗の発生をメールで通知させることが可能である。
リモート・コンピュータの使用者を特定する
あるコンピュータの使用者を特定するには、リモートから接続して、ユーザー・プロファイル・フォルダの名前を調べるという方法がある。 / ユーザー・プロファイル・フォルダへは、\\コンピュータ名\C$\Documents and Settingsというパス表記を使ってアクセスすることができる。
netstatでリッスンしているプロセスを特定する
ネットワーク・サービスは特定のTCPやUDPのポートを使ってリッスン(待ち受け)している。 / ファイアウォールの設定やネットワーク管理などを行うためには、どのサービスやプロセスがどのポートを使用しているかを正確に把握する必要がある。 / あるポートを使用しているサービスを特定するには、サービスを1つずつ止めながらnetstatコマンドを実行して、ポートがリッスン状態でなくなるのを調べればよい。
netstatコマンドを使いこなす
netstatは、TCP/IPにおける通信の状態を調査するために使われる、最も基本的なコマンドである。 / 引数なしでnetstatを起動すると、現在アクティブなTCPコネクションに関するIPアドレスやポート番号などの情報が表示される。 / -aオプションを付けると、現在待ち受け状態にあるTCPやUDPのポートの一覧が表示される。
pingを繰り返し実行させる
pingコマンドはTCP/IPにおける基本ツールであり、IP的に到達可能であるかどうかを調査できる。 / pingコマンドはデフォルトでは4回パケットを送信するが、繰り返し実行したい場合は-nオプションで回数を指定する。 / -tオプションを利用すると、ユーザーが中断するまでずっと連続して実行される。
WFetchツールでWebサーバの応答を調査する
Web関連のトラブルシューティングやアプリケーション開発では、HTTPプロトコルの内容を調査したいことがある。 / ネットワーク・モニタを使ってHTTPプロトコルをトレースしてもよいが、関係ない通信内容も表示されるので使いづらい。 / IISのリソース・キットに含まれるWFetchツールを利用すると、Webサーバにコマンドを送り、その応答を表示させることができる。


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間