浏览代码

check_naf: vol_snap now works with no snap reserve

Signed-off-by: Sven Velt <sven@velt.de>
Sven Velt 14 年之前
父节点
当前提交
1bf71dec01
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      check_naf.py

+ 6 - 2
check_naf.py

@@ -553,10 +553,14 @@ class CheckNAF(SNMPMonitoringPlugin):
 		sn_used = long(self.SNMPGET(self.OID['df_FS_kBUsed'], sn_idx)) * 1024L
 		sn_used = long(self.SNMPGET(self.OID['df_FS_kBUsed'], sn_idx)) * 1024L
 		# sn_avail = long(self.SNMPGET(self.OID['df_FS_kBAvail'], sn_idx)) * 1024L
 		# sn_avail = long(self.SNMPGET(self.OID['df_FS_kBAvail'], sn_idx)) * 1024L
 
 
-		sn_pctused = float(sn_used) / float(sn_total) * 100.0
-
 		warn = self.range_dehumanize(warn, sn_total)
 		warn = self.range_dehumanize(warn, sn_total)
 		crit = self.range_dehumanize(crit, sn_total)
 		crit = self.range_dehumanize(crit, sn_total)
+		if sn_total != 0:
+			# Snap reserve
+			sn_pctused = float(sn_used) / float(sn_total) * 100.0
+		else:
+			# No snap reserve
+			sn_pctused = 0.0
 
 
 		returncode = self.value_wc_to_returncode(sn_used, warn, crit)
 		returncode = self.value_wc_to_returncode(sn_used, warn, crit)
 		output = volume + '.snapshot: Used ' + self.value_to_human_binary(sn_used, 'B')
 		output = volume + '.snapshot: Used ' + self.value_to_human_binary(sn_used, 'B')