2019年2月22日金曜日

パフォーマンスモニターを使って通信状況の統計をとる

パフォーマンスモニターを使うことで、システムの活動状況を確認することができる。
この記事では、パフォーマンスモニターを使って統計情報を作成する方法を説明する。
  1. 基本的な使い方
  2. リアルタイムの状況を確認する
  3. 長期的な状況を確認する

1.基本的な使い方

は省く。検索すれば大量に出てくる。

2.リアルタイムの状況を確認する

「パフォーマンス/モニターツール/パフォーマンスモニター」を開く。


初期状態では、過去100秒のCPU時間の使用率が表示される。
+記号を押して「カウンターの追加」窓を表示する。


「説明を表示する」にチェックを入れると各カウンターを選択したときに説明が表示される。
カウンターの一覧から「Network Interface」を探して開く。


今回は受信及び送信したバイトの情報が欲しいので、「Bytes Received/sec」と「Bytes Sent/sec」を選択して「追加」を押す。


ほかに欲しい情報があれば。同じ方式で追加していき、追加し終わったら最後に「OK」を押す。すると、CPU時間に加え、受信したバイト数と送信したバイト数がグラフに表示されるようになる。


図では、「Bytes Received/sec」と「Bytes Sent/sec」のスケールに0.0001が指定されている。これは実測値に0.0001の倍率がかかっていることを意味する。すなわち、10000バイトでグラフの1になる。
他に、プロパティから計測時間を変更したり、スケールを変更することができる。

3.長期的な状況を確認する

2.リアルタイムの状況を確認する」ではリアルタイムで情報を確認する方法を述べた。
しかし、この方法では最大過去1000秒(厳密には「サンプリング間隔 × 期間 <= 1000」となるような範囲内)の情報しか参照することができず、あまり役に立たない。できれば、1日単位でほしいところだ。
そこで、データコレクターセットを利用する。まず、左枠のパフォーマンスモニターを選択した状態で、「操作→新規作成→データコレクターセット」を選択する。


適当に名前を入れて次に進む。


適当に保存場所を指定して次に進む。


「保存して閉じる」を選択して完了する。
なお、保存時に「データコレクターセットを作成しようとしたとき、次のシステムエラーが発生しました: アクセスが拒否されました。」のエラーメッセージが表示される場合はユーザーがAdministratorsグループに属していないため作成できない(殆どのサイトに「Perfromance Log Usersグループに属していないから」と書いてあるがそれは誤りで、Administratorsグループに属している必要がある)。作成以降の作業はAdministratorsグループに属していなくても行うことができる。


「 パフォーマンス/データコレクターセット/ユーザー定義」配下に先ほど指定した名前で作成される。以降、新規作成したデータコレクターセットの名前を「New Data Collector Set」とする。


「 パフォーマンス/データコレクターセット/ユーザー定義/New Data Collector Set」を選択した状態で「操作→プロパティ」を選択する。
「ディレクトリ」タブを選択し、「サブディレクトリ名のフォーマット」に「yyyyMMdd」を指定する。これにより、毎日「年月日」の形式でディレクトリが作成され、そのディレクトリに統計情報が保存されるようになる。

「ディレクトリの例」の枠に、作成されるディレクトリ名が表示される。

「スケジュール」タブを選択し、「追加」を押す。適当に各枠を埋めた後、「OK」を押す。以下の図のように指定した場合、毎日0時0分に情報の収集を開始する。


「スケジュール」タブを選択し、「制限値」の「制限に達したらデータコレクターセットを再開する」を有効にする。続けて、「制限値」の「期間」に1日を指定する。これで設定が終わったので、最後に「OK」を押す。


これで、毎日0時0分に設定したディレクトリに「システム モニター ログ.blg」が自動的に作成され、1日の通信状況が格納される。情報を確認したい場合は、単純にファイルを開けばよい。1日分の情報量だと開くのに数秒かかる。


これらの情報はサーバーを運用している場合は特に有用な情報源となるはず。 大手のクラウドサービスでは監視を自動で行ってくれるため必要ないかもしれないが、他のVPSサービスでは存在しない、あるいは有料の場合もあるだろう。是非とも利用していただきたい。