はじめに
Windowsサーバでディスクにどのくらいの読み書きがあるのか監視します。
監視項目 | アイテムキー | 説明 |
---|---|---|
ディスクタイム | perf_counter[\PhysicalDisk(_Total)\% Disk Time] | ディスクに対するI/O要求を処理する時間の割合 |
ディスク転送時間(R/W) | perf_counter[\PhysicalDisk(_Total)\Avg. Disk sec/Transfer] | ディスク転送時間の平均秒数。300ms以上が継続する場合はエラー発生の可能性あり |
ディスク転送時間(Read) | perf_counter[\PhysicalDisk(_Total)\Avg. Disk sec/Read] | ディスクからのデータ読み込み時間の平均秒数 |
ディスク転送時間(Write) | perf_counter[\PhysicalDisk(_Total)\Avg. Disk sec/Write] | ディスクからのデータ書き込み時間の平均秒数 |
ディスク速度(R/W) | perf_counter[\PhysicalDisk(_Total)\Disk Transfer/sec] | ディスクが1秒当たりに処理できる読み書き速度 |
ディスク速度(Read) | perf_counter[\PhysicalDisk(_Total)\Disk Reads/sec] | ディスクが1秒当たりに処理できる読み込み速度 |
ディスク速度(Write) | perf_counter[\PhysicalDisk(_Total)\Disk Writes/sec] | ディスクが1秒当たりに処理できる書き込み速度 |
ディスク転送量(R/W) | perf_counter[\PhysicalDisk(_Total)\Disk Bytes/sec] | ディスクが1秒間の読み書きで転送できるデータ量常に20KByte以下の場合は、ディスクI/Oがボトルネックの可能性あり。 |
ディスク転送量(Read) | perf_counter[\PhysicalDisk(_Total)\Disk Read Bytes/sec] | ディスクが1秒間の読み込みで転送できるデータ量 |
ディスク転送量(Write) | perf_counter[\PhysicalDisk(_Total)\Disk Write Bytes/sec] | ディスクが1秒間の書き込みで転送できるデータ量 |
ディスクキュー(Avg) | perf_counter[\PhysicalDisk(_Total)\Avg. Disk Queue Length] | ディスクのキューに入った読み込みおよび書き込み要求の数の平均値。2以下が望ましい。 |
ディスクキュー(Read) | perf_counter[\PhysicalDisk(_Total)\Avg. Disk Read Queue Length] | ディスク読み込み待ちの要求数。2以下が望ましい。 |
ディスクキュー(Write) | perf_counter[\PhysicalDisk(_Total)\Avg. Disk Write Queue Length] | ディスク書き込み待ちの要求数。2以下が望ましい。 |
環境
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_Disk_25
グループ:Templates
「追加」ボタンをクリックします。
ディスカバリを作成する
テンプレートの「ディスカバリ」をクリックします。
ディスカバリルールの作成
右上の「ディスカバリルールの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:DiskDiscovery
タイプ:Zabbixエージェント
キー:vfs.fs.discovery
監視間隔:1h
メニュー上で「フィルタ」をクリックします。
以下のとおり入力します。
マクロ:{#FSTYPE}
正規表現:@File systems for discovery
「追加」ボタンをクリックします。
マクロの「{#FSTYPE}」はファイルシステムのタイプを取得しています。
zabbix_getコマンドで情報を取得します。
# zabbix_get -s IPアドレス -k vfs.fs.discovery
[{"{#FSNAME}":"C:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"},{"{#FSNAME}":"D:","{#FSTYPE}":"UDF","{#FSDRIVETYPE}":"cdrom"}]
正規表現の@File systems for discoveryは[管理]-[一般設定]-[正規表現] で確認できます。
以下の条件にマッチしたファイルシステムを対象にしています。
^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$
つまり、フィルタを使用することでDVDドライブなどは除外しているということです。
アイテムのプロトタイプ作成
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:05.ディスクタイム {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\% Disk Time]
データ型:数値 (浮動小数)
単位:%
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:12.ディスク転送時間 Read {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Avg. Disk sec/Read]
データ型:数値 (浮動小数)
単位:s
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:14.ディスク転送時間 Write {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Avg. Disk sec/Write]
データ型:数値 (浮動小数)
単位:s
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:22.ディスク速度 Read {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Disk Reads/sec]
データ型:数値 (浮動小数)
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:24.ディスク速度 Write {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Disk Writes/sec]
データ型:数値 (浮動小数)
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:32.ディスク転送量 Read {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Disk Read Bytes/sec]
データ型:数値 (浮動小数)
単位:B
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:34.ディスク転送量 Write {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Disk Write Bytes/sec]
データ型:数値 (浮動小数)
単位:B
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:42.ディスクキュー Read {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Avg. Disk Read Queue Length]
データ型:数値 (浮動小数)
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムのプロトタイプの作成」ボタンをクリックします。
アイテムのプロトタイプの作成画面では、監視したい項目に合わせて設定します。
名前:44.ディスクキュー Write {#FSNAME}
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(* {#FSNAME})\Avg. Disk Write Queue Length]
データ型:数値 (浮動小数)
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
アイテムの作成
「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:05.ディスクタイム All
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(_Total)\% Disk Time]
データ型:数値 (浮動小数)
単位:%
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:10.ディスク転送時間 All
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(_Total)\Avg. Disk sec/Transfer]
データ型:数値 (浮動小数)
単位:s
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:20.ディスク速度 All
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(_Total)\Disk Transfers/sec]
データ型:数値 (浮動小数)
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:30.ディスク転送量 All
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(_Total)\Disk Bytes/sec]
データ型:数値 (浮動小数)
単位:B
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
「アイテムの作成」ボタンをクリックします。
アイテムの作成画面では、監視したい項目に合わせて設定します。
名前:40.ディスクキュー All
タイプ:Zabbixエージェント
キー:perf_counter[\PhysicalDisk(_Total)\Avg. Disk Queue Length]
データ型:数値 (浮動小数)
単位:%
監視間隔:5m
アプリケーション:Disk I/O
「追加」ボタンをクリックします。
テンプレートをホストにリンクする
左サイドバーから [設定] - [ホスト] をクリックします。
作成したテンプレートをリンクするホストを選択します。ここでは「WindowsServer2019」を選択しています。
「テンプレート」をクリックします。
新規テンプレートをリンク欄で、「T_Disk_25」をリンクします。