Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

Directory Tree

check_rac

Rating
0 votes
Favoured:
0
Current Version
1.0
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios 4.x
Hits
6277
Files:
FileDescription
check_rac.plcheck_rac.pl
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Nagios plug-in for Oracle rac (11g and above)

This plugin is written with 2 main concerns:

1: works with Linux / Windows and regardless of the language (ENG / FR / etc.)
2: use exclusively the new crsctl command (11g-12c) and not the old deprecated crs_stat
# ******************************************************************************
# *
# * check_rac 2016-10-28
# *
# * Rony Zeitoun (rz2@rony-zeitoun.fr)
# *
# * Description: Nagios plug-in for Oracle rac (11g and above)
# *
# * This plugin is written with 2 main concerns:
# *
# * 1: works with Linux / Windows and regardless of the language (ENG / FR / etc.)
# * 2: use exclusively the new crsctl command (11g-12c) and not the old deprecated crs_stat
# *
# * Precisions:
# *
# * Before to perform a check we have to see if HAS and clusterware are started and healthy
# * because if this condition not met, all the subsequent checks will fail
# * That's the reason why the check clusterstatus return only the version of the clusterware
# *
# * So, one advice, the minimal checks that you have to implement are :
# * clusterstatus
# * resstatus
# *
# * The checks:
# *
# * (implicit check allways performed) HAS + clusterware on local node -> crsctl check crs
# *
# * (1) clusterstatus : clusterware stack status (clusterware version) -> crsctl query crs softwareversion
# * (2) votedisk : Voting disks status -> crsctl query css votedisk
# * (3) resstatus : resource status (ONLINE/OFFLINE); -> crsctl stat res
# * you can define exceptions with exclude option (resource list, delimiter , or ;)
# * (4) instancestatus : database instance status -> crsctl stat res -w "TYPE = ora.database.type"
# *
# * This plug-in needs to be run as clusterware binaries owner (usually grid) under LINUX
# * Configure sudo to work with nrpe-owner.
# *
# * Run 'check_rac --help' for full description.
# *
# *******************
# * Setup for LINUX
# *******************
# *
# * 1. disable 'requiretty' for nrpe-owner in /etc/sudoers
# * Defaults:nagios !requiretty
# *
# * 2. enable sudo for nrpe-owner to run this script
# * nagios ALL=(grid) NOPASSWD: /usr/lib64/nagios/plugins/check_rac
# *
# * 3. edit nrpe.cfg and insert required checks with options:
# *
# * command[check_rac_clusterstatus]=sudo -u grid /usr/local/nagios/libexec/check_rac.pl --grid_home=$GRID_HOME --action=clusterstatus
# * command[check_rac_votedisk]=sudo -u grid /usr/local/nagios/libexec/check_rac.pl --grid_home=$GRID_HOME --action=votedisk
# * command[check_rac_resstatus]=sudo -u grid /usr/local/nagios/libexec/check_rac.pl --grid_home=$GRID_HOME --action=resstatus
# * command[check_rac_instancestatus]=sudo -u grid /usr/local/nagios/libexec/check_rac.pl --grid_home=$GRID_HOME --action=instancestatus
# *
# *******************
# * Setup for WINDOWS
# *******************
# *
# * 1. Install Strawberry-perl
# *
# * 2. Install NSclient++ (0.5)
# * copy the file check_rac.pl in custom plugin folder [NSCLIENT_HOME]scriptscustom
# *
# * 3. edit nsclient.ini and insert required checks with options:
# *
# * check_rac_clusterstatus =[PERL_HOME]perlbinperl.exe scriptscustomcheck_rac.pl --grid_home=$GRID_HOME --action=clusterstatus
# * check_rac_votedisk =[PERL_HOME]perlbinperl.exe scriptscustomcheck_rac.pl --grid_home=$GRID_HOME --action=votedisk
# * check_rac_resstatus =[PERL_HOME]perlbinperl.exe scriptscustomcheck_rac.pl --grid_home=$GRID_HOME --action=resstatus
# * check_rac_instancestatus =[PERL_HOME]perlbinperl.exe scriptscustomcheck_rac.pl --grid_home=$GRID_HOME --action=instancestatus
# *
# * --exclude is optional
# *
# *****************************************************************************