事前に監視するために使用する必要があります。ハード ドライブ全体のウィンドウ、パラメータの転送中のドライブ文字を監視する必要があります。目的を達成するには、これら 3 つのスクリプトが必要です。改善を手伝ってくれる人次は?2 つのスクリプトの作業を完了するスクリプトが必要です。合併する方法は?
1:コード Cdisk
import sys
import os
import commands
warning = sys.argv[2]
critical = sys.argv[3]
ip =sys.argv[5]
#val = sys.argv[1]
StorageAllocationUnitsC="1.3.6.1.2.1.25.2.3.1.4.1"#last4.1=Cdisk,4.2=Ddisk....
StorageSizeC="1.3.6.1.2.1.25.2.3.1.5.1"#last5.1=Cdisk,5.2=Ddisk....
StorageUsedC="1.3.6.1.2.1.25.2.3.1.6.1"#last6.1=Cdisk,5.2=Ddisk....
StorageAll = "snmpwalk -v 2c -c public %s %s" % (ip,StorageAllocationUnitsC)
(r_c,r_e) = commands.getstatusoutput(StorageAll)
if r_c != 0:
print "C - snmpwalk is Error."
else:
StorageAllC = r_e.split("INTEGER: ")[-1][:4]
StorageSize = "snmpwalk -v 2c -c public %s %s" % (ip,StorageSizeC)
(r_c,r_e) = commands.getstatusoutput(StorageSize)
if r_c != 0:
print "C - snmpwalk is Error."
else:
StorageSize = r_e.split("INTEGER: ")[1]
StorageUsed = "snmpwalk -v 2c -c public %s %s" % (ip,StorageUsedC)
(r_c,r_e) = commands.getstatusoutput(StorageUsed)
if r_c !=0:
print "C - snmpwalk is not value."
else:
StorageUsed = r_e.split("INTEGER: ")[1]
diskall = int(StorageAllC)*int(StorageSize)/1024/1024/1024
diskusd = int(StorageAllC)*int(StorageUsed)/1024/1024/1024
diskrate = round(float(diskusd)/float(diskall)*100,2)
if int(sys.argv[2]) > int(diskrate):
print "Critical - pls check Cdiskrate %s" % diskrate + "%"
ret = 2
elif int (sys.argv[3]) > int(diskrate):
print "Warning - pls check Cdiskrate %s" % diskrate + "%"
ret = 1
else:
print "OK - good! %s" % diskrate + "%"
ret =0
sys.exit(ret)
2:コード Ddisk
import sys
import os
import commands
warning = sys.argv[2]
critical = sys.argv[3]
ip =sys.argv[5]
#val = sys.argv[1]
StorageAllocationUnitsC="1.3.6.1.2.1.25.2.3.1.4.2"#last4.1=Cdisk,4.2=Ddisk....
StorageSizeC="1.3.6.1.2.1.25.2.3.1.5.2"#last5.1=Cdisk,5.2=Ddisk....
StorageUsedC="1.3.6.1.2.1.25.2.3.1.6.2"#last6.1=Cdisk,5.2=Ddisk....
StorageAll = "snmpwalk -v 2c -c public %s %s" % (ip,StorageAllocationUnitsC)
(r_c,r_e) = commands.getstatusoutput(StorageAll)
if r_c != 0:
print "C - snmpwalk is Error."
else:
StorageAllC = r_e.split("INTEGER: ")[-1][:4]
StorageSize = "snmpwalk -v 2c -c public %s %s" % (ip,StorageSizeC)
(r_c,r_e) = commands.getstatusoutput(StorageSize)
if r_c != 0:
print "C - snmpwalk is Error."
else:
StorageSize = r_e.split("INTEGER: ")[1]
StorageUsed = "snmpwalk -v 2c -c public %s %s" % (ip,StorageUsedC)
(r_c,r_e) = commands.getstatusoutput(StorageUsed)
if r_c !=0:
print "C - snmpwalk is not value."
else:
StorageUsed = r_e.split("INTEGER: ")[1]
diskall = int(StorageAllC)*int(StorageSize)/1024/1024/1024
diskusd = int(StorageAllC)*int(StorageUsed)/1024/1024/1024
diskrate = round(float(diskusd)/float(diskall)*100,2)
if int(sys.argv[2]) > int(diskrate):
print "Critical - pls check Cdiskrate %s" % diskrate + "%"
ret = 2
elif int (sys.argv[3]) > int(diskrate):
print "Warning - pls check Cdiskrate %s" % diskrate + "%"
ret = 1
else:
print "OK - good! %s" % diskrate + "%"
ret =0
sys.exit(ret)