ob_*_*dev 3 windows monitoring nagios pagefile
我有一个 NAGIOS 检查来监控 Windows 机器上的虚拟内存,这个检查返回所有使用的虚拟内存(物理+页面文件的最大大小)。
这不是我想要的,我试图搜索一些只监视 Windows 机器上页面文件使用情况的检查,但我没有找到任何有趣的东西。
您是否知道任何监控页面文件是否被 Windows 使用的 SNMP 检查?
WMI
您可以使用安装在 Linux 机器上的 WMI 客户端直接访问 WMI 参数:
手动编译和安装 wmi-client包或使用来自www.orvant.com 的编译包,它似乎也适用于较新版本的 Ubuntu(14.04 64 位)。
以下是命令行中 wmic 用法的示例:
wmic -Uuser%pass //192.168.0.2 "SELECT FileSize FROM Win32_PageFile WHERE Path=c:\"
Run Code Online (Sandbox Code Playgroud)
现在创建 Nagios 插件。使用 wmic 的示例是here。这是如何创建自己的 Nagios 插件的指南,更改它以使用 wmic。你会有这样的事情:
if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && \
[ "$3" = "-c" ] && [ "$4" -gt "0" ] && [ "$5" = "-h" ] && [ "$6" != "" ] && [ "$7" = "-u" ] && [ "$8" != "" ] && [ "$9" = "-p" ]; then
memPfSize=`wmic -U$8%$10 //$6 "SELECT FileSize FROM Win32_PageFile WHERE Path=c:\" | grep AllocatedBaseSize | awk -F'=' '{print $2}'`
if [ "$memPfSize" -ge "$4" ]; then
echo "Memory: CRITICAL Pagefile: $memPfSize MB - RES: $memPfSize= MB used!|VIRT=$(($memPfSize*1024*1024));;;; RES=$(($memPfSize=*1024*1024));;;;"
$(exit 2)
elif [ "$memPfSize" -ge "$2" ]; then
echo "Memory: WARNING Pagefile: $memPfSize MB - RES: $memPfSize= MB used!|VIRT=$(($memPfSize*1024*1024));;;; RES=$(($memPfSize=*1024*1024));;;;"
$(exit 1)
else
echo "Memory: OK Pagefile: $memPfSize MB - RES: $memPfSize= MB used!|VIRT=$(($memPfSize*1024*1024));;;; RES=$(($memPfSize=*1024*1024));;;;"
$(exit 0)
fi
else
echo "check_memPfSize v1.0"
echo "check_memPfSize -w Warning -c Critical -h Host -u Win-User -p Password"
echo "example of usage:"
echo "check_memPfSize -w 1024 -c 2048 -h 192.168.0.2 -u Administrator -p adminpassword"
exit
fi
Run Code Online (Sandbox Code Playgroud)
网络管理协议
如果您更喜欢 SNMP,您需要在您的 Windows 机器上安装 WMI-to-SNMP 网关,如SNMP Informant - Advanced,以便能够收集系统信息,包括内存和交换。本质上,该工具为系统级 WMI工具提供SNMP MIB,从而允许任何 SNMP 管理站查询 WMI 数据。它在Windows XP/Vista/2000/2003 和 2008 服务器上受支持,并允许您访问所有(超过 2000 个)计数器的数据。
客户端
在 Windows 上使用NSClient++来监控pagefile.sys大小。您需要将 NSClient++ 安装为服务。使用此适用于 Windows 机器的插件,您还可以监控所有其他参数。例如,您可以监控空闲内存。Windows 机器上的NSC.ini配置文件中不需要市长修改。
检查 pagefile.sys 的大小并确保它保持在 1 GB 以上。示例命令:
CheckFileSize ShowAll MinWarn=1G MinCrit=512M File=c:/pagefile.sys
Run Code Online (Sandbox Code Playgroud)
Nagios 配置:
define command {
command_name <<CheckFileSize>>
command_line check_nrpe -H $HOSTADDRESS$ -p 5666 -c CheckFileSize -a ShowAll MinWarn=$ARG2$ MinCrit=$ARG1$ File=c:/pagefile.sys
}
Run Code Online (Sandbox Code Playgroud)
从命令行(使用 NRPE):
check_nrpe -H IP -p 5666 -c CheckFileSize -a ShowAll MinWarn=1G MinCrit=512M File=c:/pagefile.sys
Run Code Online (Sandbox Code Playgroud)
或check_paging_file主机端插件与NSClient ++。
| 归档时间: |
|
| 查看次数: |
5162 次 |
| 最近记录: |