Citrix XenApp XenDesktop & Etc

Citrix製品についてあれやこれやと

Zabbixからの情報取得について

2020年01月30日 | Windowsのこと

ZabbixよりWindowsサーバでのページファイル使用率を取得する方法を考えてみました。
標準で用意されているテンプレートでは取得できないため、Zabbixのsystem.runを使用して取得する
方法を採ることにしました。

ページファイルのサイズや現在利用されているサイズは、WMIコマンドのWin32_PageFileUsageを参照すると
取得できます。コマンドの実行にはバッチファイルやPowerShellが利用でき、それぞれのパターで作成
しました。

◆バッチファイル版
@ECHO OFF
for /f "usebackq delims== tokens=2" %%a in (`WMIC PAGEFILE get AllocatedBaseSize /value ^| find "AllocatedBaseSize" `) do set AllocatedBaseSize=%%a
for /f "usebackq delims== tokens=2" %%a in (`WMIC PAGEFILE get CurrentUsage /value ^| find "CurrentUsage" `) do set CurrentUsage=%%a
SET /A USAGE = (CurrentUsage * 100) / AllocatedBaseSize
ECHO %USAGE%

◆PowerShell版
$RetVal = Get-WmiObject Win32_PageFileUsage
$AllocatedBaseSize=$RetVal.AllocatedBaseSize
$CurrentUsage=$RetVal.CurrentUsage
$RetCalc = [int]($CurrentUsage / $AllocatedBaseSize * 100)
Write-Host $RetCalc

PowerShellの方がすっきりしていてきれいですね。
ただ、PowerShellを利用する場合には、「PowerShell.exe スクリプト」の形式で指定する必要が
あります。



コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。