お金をかけずにサーバーの勉強をしよう

Windowsサーバーの負荷データ取得

2022年6月16日

メニューへ戻る

Windowsサーバーには(Windows10などのクライアントOSにもありますが)、パフォーマンスカウンタという機能があり、これを設定することでOS稼働中の色々な値を定期的に記録することができます。

サーバー運用において、ハードウェアリソースの利用状態等を定期的に取得したものをサーバーメトリクスと言い、障害発生の予兆やサーバーサイジングの根拠としたりします。

取得した記録の出力先に、ファイルと SQL Serverを選択できますが、ここではオーソドックスにファイルへ出力してみます。

これは取得したデータは数字や文字の羅列であり、人間が認識するためにはグラフ化するなど何かしらの加工が必要になるからです。
CSV形式のファイルにすれば Excelでグラフ化ができますね。


以下 Windows Server 2022で設定をしていきます。

Windows Server 2022のインストールについては、「Windows Server 2022 インストール」に書いています。


ここでは CPU使用率・Cドライブ使用量を1分単位に取得して CSVファイルに記録してみます。


[スタート]-[Windows管理ツール]-[パフォーマンスモニター]を選択します。

パフォーマンスモニターのウィンドウが開くので、左ペインのツリーで[データコレクターセット]-[ユーザー定義]を選択します。
[ユーザー定義]で右クリックするとメニューが出るので、[新規作成]-[データコレクターセット]を選択します。
Windows パフォーマンスモニタ設計 1

名前は任意でOKです。
[手動で作成する(詳細)]を選択して、次へを押します。
Windows パフォーマンスモニタ設計 2

[データログを作成する]を選択し、[パフォーマンスカウンター]にチェックして、次へを押します。
Windows パフォーマンスモニタ設計 3

追加を押します。
Windows パフォーマンスモニタ設計 4

取得できる値が左上の枠の中にツリー構造で出てきますので、
[Processor]-[Processor Time]と選択、[選択したオブジェクトのインスタンス]で[_Total]を選択、追加を押します。
同様に
[LogicalDisk]-[%Free Space]-[C:]を選択、追加を押します。
Windows パフォーマンスモニタ設計 5

[追加されたカウンター]枠に選択したものが一通り入っていることを確認し、OKを押します。
Windows パフォーマンスモニタ設計 6

[サンプルの間隔]を「1」に、[単位]を「分」にして、次へを押します。
Windows パフォーマンスモニタ設計 7

このまま次へを押します。
実際には「C:¥PerfLogs¥Admin¥テストのデータコレクターセット」フォルダになります。
Windows パフォーマンスモニタ設計 8

[このデータコレクターセットのプロパティを開く]を選択し、完了を押します。
Windows パフォーマンスモニタ設計 9

[全般]タブはこのまま。
Windows パフォーマンスモニタ設計 10

できあがりのファイルはファイル名で管理したほうが楽なので、[ディレクトリ]タブでは[サブディレクトリ][サブディレクトリ名のフォーマット]の両方を空に、[コンピューター名を含むプレフィックスサブディレクトリ]のチェックを外して下さい。
Windows パフォーマンスモニタ設計 11

[セキュリティ]タブはこのまま。
Windows パフォーマンスモニタ設計 12

[スケジュール]タブはこのまま。
Windows パフォーマンスモニタ設計 13

[停止条件]タブでは全てのチェックを外して下さい。
Windows パフォーマンスモニタ設計 14

[タスク]タブはこのまま。
OKを押します。
Windows パフォーマンスモニタ設計 15

左の枠のツリーに[テストのデータコレクターセット]ができていますので、これを選択します。
右側の枠に[DataCollector01]が現れますので、これを右クリックしてメニューを開き、[プロパティ]を選択します。
Windows パフォーマンスモニタ設計 16

[パフォーマンスカウンター]タブで、[ログフォーマット]に[カンマ区切り]を選択します。。
Windows パフォーマンスモニタ設計 17

[ファイル]タブでは、[ファイル名のフォーマット]を「¥-yyyyMMdd¥-HHmmss」とします。
OKを押します。
Windows パフォーマンスモニタ設計 18

設定はこれで完了です。

「テストのデータコレクターセット」を起動時に開始するようにします。
これには WindowsOSのタスク機能を使います。

[スタート]-[Windows管理ツール]-[タスクスケジューラ」を選択します。

[タスクスケジューラ]画面が開きますので、右側にある[基本タスクの作成]をクリックします。
Windows パフォーマンスモニタ起動 1

[名前]は任意で構いません。
次へを押します。
Windows パフォーマンスモニタ起動 2

[コンピューターの起動時]を選択し、次へを押します。
Windows パフォーマンスモニタ起動 3

[プログラムの開始]を選択し、次へを押します。
Windows パフォーマンスモニタ起動 4

[プログラム/スクリプト]に「cmd.exe」、
[引数の追加]に「/c "logman start テストのデータコレクターセット"」と設定し、
次へを押します。
Windows パフォーマンスモニタ起動 5

[[完了]をクリックした時に、このタスクの[プロパティ]ダイアログを開く]をチェックし、完了を押します。
Windows パフォーマンスモニタ起動 6

ユーザーまたはグループの変更を押します。
Windows パフォーマンスモニタ起動 7

[選択するオブジェクト名を入力して下さい]に「SYSTEM」と入れOKを押します。
これでパスワードが必要ないシステムユーザーで実行してくれます。
Windows パフォーマンスモニタ起動 8

OKを押します。
Windows パフォーマンスモニタ起動 9

タスクができました。
Windows パフォーマンスモニタ起動 10

Windows Server 2022を再起動して下さい。

再起動後に自動で「テストのデータコレクターセット」が開始され、CSVファイルができています。
Windows パフォーマンスモニタ起動 11

中身はこんな感じです。
時刻・Cドライブの空き率(%)・CPU使用率(%)がカンマ区切りで記録されています。

"(PDH-CSV 4.0) (","\\WIN2022\LogicalDisk(C:)\% Free Space","\\WIN2022\Processor(_Total)\% Processor Time"
"06/16/2022 16:50:44.429","66.272565678968049951"," "
"06/16/2022 16:51:43.919","66.272565678968049951","2.0051941644908533036"
"06/16/2022 16:52:43.904","66.272565678968049951","1.623650767283912888"
"06/16/2022 16:53:43.902","66.272565678968049951","1.2650490956787829866"
"06/16/2022 16:54:43.888","66.272565678968049951","0.44576757359692242844"
"06/16/2022 16:55:43.906","66.272565678968049951","0.20047781125668295843"
"06/16/2022 16:56:43.875","66.270934916260344494","1.0349171555255387567"
"06/16/2022 16:57:43.887","66.270934916260344494","15.895743584946341542"
"06/16/2022 16:58:43.897","66.270934916260344494","0.27694759085944431476"

これで Excelに持ってくれば綺麗なグラフを作ることができると思います。
パフォーマンスカウンタで取得できる値は色々ありますので、Windowsサーバーの用途に合わせて適宜取得してみて下さい。


コレは良い本でした。

詳解システム・パフォーマンス [ Brendan Gregg ]

価格:5,940円
(2022/6/16 17:19時点)
感想(0件)