mirror of
https://github.com/opinkerfi/nagios-plugins.git
synced 2024-11-22 10:23:46 +01:00
optinal --path parameter added
This commit is contained in:
parent
b5be94111c
commit
0d0d4b408f
@ -64,6 +64,7 @@ def print_help():
|
|||||||
print "Usage: %s " % argv[0]
|
print "Usage: %s " % argv[0]
|
||||||
print "Usage: %s [--help]" % argv[0]
|
print "Usage: %s [--help]" % argv[0]
|
||||||
print "Usage: %s [--version]" % argv[0]
|
print "Usage: %s [--version]" % argv[0]
|
||||||
|
print "Usage: %s [--path </path/to/hpacucli>]" % argv[0]
|
||||||
print "Usage: %s [--no-perfdata]" % argv[0]
|
print "Usage: %s [--no-perfdata]" % argv[0]
|
||||||
print "Usage: %s [--no-longoutput]" % argv[0]
|
print "Usage: %s [--no-longoutput]" % argv[0]
|
||||||
print ""
|
print ""
|
||||||
@ -124,11 +125,14 @@ def add_summary(text):
|
|||||||
def set_path(path):
|
def set_path(path):
|
||||||
current_path = getenv('PATH')
|
current_path = getenv('PATH')
|
||||||
if current_path.find('C:\\') > -1: # We are on this platform
|
if current_path.find('C:\\') > -1: # We are on this platform
|
||||||
path = ";C:\Program Files\Hewlett-Packard\Sanworks\Element Manager for StorageWorks HSV"
|
if path == '':
|
||||||
path = path + ";C:\Program Files (x86)\Compaq\Hpacucli\Bin"
|
path = ";C:\Program Files\Hewlett-Packard\Sanworks\Element Manager for StorageWorks HSV"
|
||||||
path = path + ";C:\Program Files\Compaq\Hpacucli\Bin"
|
path = path + ";C:\Program Files (x86)\Compaq\Hpacucli\Bin"
|
||||||
else:
|
path = path + ";C:\Program Files\Compaq\Hpacucli\Bin"
|
||||||
path = ":/usr/sbin"
|
else: path = ';' + path
|
||||||
|
else: # Unix/Linux, etc
|
||||||
|
if path == '': path = ":/usr/sbin"
|
||||||
|
else: path = ':' + path
|
||||||
current_path = "%s%s" % (current_path,path)
|
current_path = "%s%s" % (current_path,path)
|
||||||
environ['PATH'] = current_path
|
environ['PATH'] = current_path
|
||||||
|
|
||||||
@ -190,9 +194,14 @@ def run_hpacucli(type='controllers', controller=None):
|
|||||||
controllers = []
|
controllers = []
|
||||||
def check_controllers():
|
def check_controllers():
|
||||||
global controllers
|
global controllers
|
||||||
controllers = run_hpacucli()
|
|
||||||
status = -1
|
status = -1
|
||||||
add_summary( "%s controllers found" % ( len(controllers) ) )
|
controllers = run_hpacucli()
|
||||||
|
if len(controllers) == 0:
|
||||||
|
add_summary("No Disk Controllers Found. Exiting...")
|
||||||
|
global nagios_state
|
||||||
|
nagios_state = unknown
|
||||||
|
end()
|
||||||
|
add_summary( "Found: %s controllers" % ( len(controllers) ) )
|
||||||
for i in controllers:
|
for i in controllers:
|
||||||
controller_status = check(i, 'Controller Status', 'OK' )
|
controller_status = check(i, 'Controller Status', 'OK' )
|
||||||
status = max(status, controller_status)
|
status = max(status, controller_status)
|
||||||
@ -213,7 +222,7 @@ def check_controllers():
|
|||||||
if controller_status > ok or cache_status > ok:
|
if controller_status > ok or cache_status > ok:
|
||||||
add_summary( ";%s on %s;" % (state[controller_status], i['name']) )
|
add_summary( ";%s on %s;" % (state[controller_status], i['name']) )
|
||||||
|
|
||||||
add_summary('. ')
|
add_summary(', ')
|
||||||
return status
|
return status
|
||||||
|
|
||||||
|
|
||||||
@ -227,7 +236,7 @@ def check_logicaldisks():
|
|||||||
logicaldisks.append ( ld )
|
logicaldisks.append ( ld )
|
||||||
status = -1
|
status = -1
|
||||||
add_long("\nChecking logical Disks:" )
|
add_long("\nChecking logical Disks:" )
|
||||||
add_summary( "%s logicaldisks found" % ( len(logicaldisks) ) )
|
add_summary( "%s logicaldisks" % ( len(logicaldisks) ) )
|
||||||
for i in logicaldisks:
|
for i in logicaldisks:
|
||||||
ld_status = check(i, 'Status' )
|
ld_status = check(i, 'Status' )
|
||||||
status = max(status, ld_status)
|
status = max(status, ld_status)
|
||||||
@ -247,7 +256,7 @@ def check_physicaldisks():
|
|||||||
disks.append ( disk )
|
disks.append ( disk )
|
||||||
status = -1
|
status = -1
|
||||||
add_long("\nChecking Physical Disks:" )
|
add_long("\nChecking Physical Disks:" )
|
||||||
add_summary( "%s %s found" % ( len(disks), disktype ) )
|
add_summary( "%s %s" % ( len(disks), disktype ) )
|
||||||
for i in disks:
|
for i in disks:
|
||||||
disk_status = check(i, 'Status' )
|
disk_status = check(i, 'Status' )
|
||||||
status = max(status, disk_status)
|
status = max(status, disk_status)
|
||||||
@ -277,20 +286,33 @@ def check(object, field, valid_states = ['OK']):
|
|||||||
return state
|
return state
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
def parse_arguments():
|
||||||
|
arguments = argv[1:]
|
||||||
|
while len(arguments) > 0:
|
||||||
|
arg = arguments.pop(0)
|
||||||
|
if arg == '--help':
|
||||||
|
print_help()
|
||||||
|
exit(ok)
|
||||||
|
elif arg == '--path':
|
||||||
|
path = arguments.pop(0)
|
||||||
|
set_path(path)
|
||||||
|
else:
|
||||||
|
print_help()
|
||||||
|
exit(unknown)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parse_arguments()
|
||||||
|
set_path('')
|
||||||
|
check_controllers()
|
||||||
|
check_logicaldisks()
|
||||||
|
check_physicaldisks()
|
||||||
|
for i in environ['PATH'].split(':'): print i
|
||||||
|
end()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
set_path('')
|
|
||||||
check_controllers()
|
|
||||||
if len(controllers) == 0:
|
|
||||||
add_summary("No Disk Controllers Found")
|
|
||||||
global nagios_state
|
|
||||||
nagios_state = unknown
|
|
||||||
end()
|
|
||||||
check_logicaldisks()
|
|
||||||
check_physicaldisks()
|
|
||||||
end()
|
|
||||||
|
Loading…
Reference in New Issue
Block a user