WindowsサーバでCPU使用率をコアごとに監視してみた

WindowsサーバでCPU使用率をコアごとに監視してみた

はじめに

WindowsサーバのCPU使用率をコアごとに監視するには、Zabbixエージェントを使います。

 

2つの方法がありますので、それぞれどのような違いがでるのか検証してみました。
・system.cpu.util
・perf_counter

 

負荷ツールは、「CPU STRES」を使用します。

環境

Zabbixサーバ

OS:CentOS 8.2.2004
Apache:2.4.37
PHP:7.2.25
MariaDB:10.3.17
Zabbix Server:5.0.2
Zabbix Agent:5.0.2

 

検証サーバ

OS:Windows Server2019

操作手順

Zabbixの管理コンソールにサインインします。

 

テンプレートを作成する

左サイドバーから [設定] - [テンプレート] をクリックします。
「テンプレートの作成」ボタンをクリックします。
以下の通り入力します。
テンプレート名:T_CPU_15
グループ:Templates
「追加」ボタンをクリックします。

 

ディスカバリを作成する

テンプレートの「ディスカバリ」をクリックします。
WindowsサーバでCPU使用率をコアごとに監視してみた

 

ディスカバリルールの作成

右上の「ディスカバリルールの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:CPU Core Number
タイプ:Zabbixエージェント
キー:system.cpu.discovery
データ型:数値(浮動小数)
監視間隔:1m
「追加」ボタンをクリックします。

 

アイテムのプロトタイプ作成

「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:CPU_Core{#CPU.NUMBER}
タイプ:Zabbixエージェント
キー:system.cpu.util[{#CPU.NUMBER},system,avg1]
データ型:数値(浮動小数)
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。

 

「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:CPU_Core_PerformanceCounter{#CPU.NUMBER}
タイプ:Zabbixエージェント
キー:perf_counter[\Processor({#CPU.NUMBER})\% Processor Time]
データ型:数値(浮動小数)
監視間隔:1m
アプリケーション:CPU
「追加」ボタンをクリックします。

 

テンプレートをホストにリンクする

左サイドバーから [設定] - [ホスト] をクリックします。
作成したテンプレートをリンクするホストを選択します。ここでは「WindowsServer2019」を選択しています。
「テンプレート」をクリックします。
新規テンプレートをリンク欄で、「T_CPU_15」をリンクします。

動作確認

「CPU STRES」ツールでCPU負荷を増やしたり減らしたりして変動を確認します。

 

[監視データ]-[最新データ]をクリックします。
ホストは「WindowsServer2019」を選択し、「適用」ボタンをクリックします。

 

CPU使用率がコアごとに取得できています。
WindowsサーバでCPU使用率をコアごとに監視してみた

 

 

グラフです。
WindowsサーバでCPU使用率をコアごとに監視してみた

 

データの取得タイミングによって多少の開きは見受けられますが、大きな違いはありません。WindowsサーバのCPU監視はperf_counterでもsystem.cpu.utilでも好きな方を使用して問題ありません。

トップへ戻る