Nagios
如何使用 check_nt 命令而不是使用百分比值來檢查 Nagios 中的確切空間量(MB 或 GB)?
如何使用 check_nt 命令而不是百分比值來檢查 Nagios 中剩餘的確切空間量(MB 或 GB)?
目前我正在使用這個命令:
check_command check_nt!USEDDISKSPACE!-l c -w 90 -c 95
但這是檢查已用磁碟空間的百分比值,我希望在某個驅動器上剩餘確切的 GB 量時收到通知(例如,當剩餘 10GB 時發出警告,當僅剩 5GB 時發出警告)。
謝謝
check_nt!USEDDISKSPACE
返回磁碟使用的大小和百分比。但門檻值是百分比。如果您想根據大小接收警報,您可以為
check_nt
命令編寫一個包裝器 shell 腳本,例如check_disk_by_size
:#!/bin/bash FREESPACE=`/usr/local/nagios/libexec/check_nt -H $2 -p 12489 -s pa$$word \ -v USEDDISKSPACE -l $4 | awk -F"- " '{ print $4 }' | awk -F "|" '{ print $1 }'` SIZE=`echo $FREESPACE | awk '{ print $2 }'` UNIT=`echo $FREESPACE | awk '{ print $3 }'` if [ $UNIT == "Gb" ]; then SIZE=`echo $SIZE \* 1024 | bc` fi if [ `echo "$SIZE >= $6" | bc` -eq 1 ]; then echo "$4:\_Drive_Space OK - $FREESPACE" exit 0 elif [ `echo "$SIZE < $6" | bc` -eq 1 -a `echo "$SIZE > $8" | bc` -eq 1 ]; then echo "$4:\_Drive_Space WARNING - $FREESPACE" exit 1 elif [ `echo "$SIZE <= $8" | bc` -eq 1 ]; then echo "$4:\_Drive_Space CRITICAL - $FREESPACE" exit 2 fi
測試:
$ check_disk_by_size.sh -H 192.168.6.31 -l c -w 10240 -c 5120 c:\_Drive_Space OK - free 13.01 Gb (36%) $ check_disk_by_size.sh -H 192.168.6.31 -l c -w 14240 -c 5120 c:\_Drive_Space WARNING - free 13.01 Gb (36%) $ check_disk_by_size.sh -H 192.168.6.31 -l c -w 16240 -c 15120 c:\_Drive_Space CRITICAL - free 13.01 Gb (36%)
您可以像這樣將其添加到 Nagios:
"check_disk_by_size.sh". # 'check_disk_by_size' command definition define command{ command_name check_disk_by_size command_line $USER1$/check_disk_by_size.sh -H $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ } define service{ use generic-service host_name fileserver1 service_description Drive Space fileserver1: L: check_command check_disk_by_size!-l L -w 4096 -c 2048 notifications_enabled 1 }