Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Directory
jng
Thanks for the plugin.
I ran into a minor issue when trying to run it with check_mk. Executing from shell or MRPE/check_mk worked fine, but not when called from OMD. It will complain, that SVM cannot be executed in Solaris Containers, everything was green.
Reason: 'zonename' cannot be found.
Fix: changed to '/sbin/zonename' on both occurrences and it showed correct output.
jg
I ran into a minor issue when trying to run it with check_mk. Executing from shell or MRPE/check_mk worked fine, but not when called from OMD. It will complain, that SVM cannot be executed in Solaris Containers, everything was green.
Reason: 'zonename' cannot be found.
Fix: changed to '/sbin/zonename' on both occurrences and it showed correct output.
jg
byjng, March 3, 2014
This works for RedHat CMAN HA/Cluster, tested in RHEL 6.x
Plugin does a comparison between life output and reference output in a given file (DATA_FILE).
Original plugin does not work with newer clustat outputs which has changed it's layout.
To make it work (clustat version 3.0.12.1) again, modify at least the LOCATION-Line:
diff -s check_failover.py check_failover_improved.py
72c72
DATA_FILE = '/var/tmp/nagios_failover_check'
This has to be set anyway. Maybe you want to have it on a volatile directory?
99c99,102
#LOCATION = output.index(' ------- ---- ----- ------ ----- \n')
> #LOCATION = output.index(' ------- ---- ----- ------ ----- \n')
> LOCATION = output.index([x for x in output if x.startswith(' ------- ----')][0])
>
You can follow the original check or our quick hack which only checks the
first couple of characters. Its still not very elegant but we should not expect changes very often...
169,171c172,178
#sys.exit(STATE_CRITICAL)
> # CHANGE: create DATA_FILE if not found. if something has happened (e.g. crash) other monitor
> # and other node(s) will tell us.
> print 'no file found...initializing'
> initialize()
We let the plugin create the reference file if it does not exist. No need
to go interactive here.
If something has failed over and nagios will complain you have to check anyway. Issuing check_failover.py -i will make the check green again after you fixed the problem.
Plugin does a comparison between life output and reference output in a given file (DATA_FILE).
Original plugin does not work with newer clustat outputs which has changed it's layout.
To make it work (clustat version 3.0.12.1) again, modify at least the LOCATION-Line:
diff -s check_failover.py check_failover_improved.py
72c72
DATA_FILE = '/var/tmp/nagios_failover_check'
This has to be set anyway. Maybe you want to have it on a volatile directory?
99c99,102
#LOCATION = output.index(' ------- ---- ----- ------ ----- \n')
> #LOCATION = output.index(' ------- ---- ----- ------ ----- \n')
> LOCATION = output.index([x for x in output if x.startswith(' ------- ----')][0])
>
You can follow the original check or our quick hack which only checks the
first couple of characters. Its still not very elegant but we should not expect changes very often...
169,171c172,178
#sys.exit(STATE_CRITICAL)
> # CHANGE: create DATA_FILE if not found. if something has happened (e.g. crash) other monitor
> # and other node(s) will tell us.
> print 'no file found...initializing'
> initialize()
We let the plugin create the reference file if it does not exist. No need
to go interactive here.
If something has failed over and nagios will complain you have to check anyway. Issuing check_failover.py -i will make the check green again after you fixed the problem.