今回の記事の実行環境
- Windows Server 2016
インストール
Microsoft Message Analyzer
Microsoft Message Analyzer のインストール
ネットワークトレース
ネットワークトレース (いわゆるパケットキャプチャ) は、WireShark など別のツールをインストールしなくても、現在の Windows なら netsh コマンドで既定で出力が可能ですね。
> netsh trace start capture=yes
トレース構成:
-------------------------------------------------------------------
ステータス: 実行中
トレース ファイル: C:\Users\XXX\AppData\Local\Temp\NetTraces\NetTrace.etl
追加: オフ
循環: オン
最大サイズ: 250 MB
レポート: オフ
// 解析したい処理を実施
> netsh trace stop
トレースを関連付けています... 完了
トレースの結合中... 完了
データ収集を生成しています ... 完了
...
トレース セッションは正常に停止しました。
プロトコルでグルーピングする
[ViewPoints] にて HTTP などを選択するだけです。
まぁ、この辺は WireShark でも普通にできます。
プロセス名でグルーピングする
WireShark でできないことのひとつですね。解析目的によっては、超便利。
[Tools] - [Windows] - [Field Chooser] を選び、表示された Field Chooser の中から [Global Propeties] - [ProcessName] を選択します。
すると、ProcessName 列が追加されるので、列を右クリックして [Group] を選択。すると、ProcessName ごとにグループ化されます。
イベントログを見る
イベントログも開くことができます。上述のグループ化と併用すると、結構便利。でも結構重たいです。手順/画像は割愛。
PowerShell の実行結果をパースして分析する
PowerShell コマンドレットの実行結果はオブジェクトで返ってくることが多いですが、これを Message Analyzer でパースして分析することができちゃいます。
Get-Process を分析対象として・・・
色々な情報が、属性ごとにきちんと取れています。
フィルタに追加して、昇順に並べ替えると・・・使用量順に並べ替えて確認することができます。
まぁ、このくらいのレベルなら、わかっていれば PowerShell だけで取れてしまいますが、出力された表を考えながらポチポチやる解析には便利かもですね。
「Message Analyzer がどんなツールで、どんなことができそうか?」というだけでも知っておくと、トラブルシュートのときに役立てると思います。