Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
Your review has been submitted and is pending approval.
This nagios plugin checks all the processes necessary for a specific service like : - mqseries - oracle - dimension cm (serena) - any application running a list of processes
Current Version
1.0
Last Release Date
2015-04-02
Owner
Elio Canale-Parola
Download URL
https://github.com/elio78/nagios/blob/master/check_exec_oracle
License
GPL
Compatible With
This plugin checks all the processes necessary to get an application available. For example to have Oracle DataBase up and running you must have a lot of running processes (22 in my case). This plugin checks the 22 processes according to a predefined array composed by one row per process. Each row has the following format :
– process_name : name of the process (result of a ps command) – description : a description of the process role – presence : indicates if process is mandatory (value 1) or not (value 0) – number : value set by the plugin, indicates the number of running processes
This array is set via a specific plugin procedure (initializeProcArray), an example is given below for Oracle
sub initializeProcArray { setProcArrayRow(‘ora_pmon’,”Process Monitor Process”,1,0); setProcArrayRow(‘ora_psp0’,”Application Trigger monitor”,1,0); setProcArrayRow(‘ora_vktm’,”virtual keeper of time”,1,0); setProcArrayRow(‘ora_gen0’,”general task execution background process”,1,0); setProcArrayRow(‘ora_diag’,”diagnostic dumps and executes global oradebug commands”,1,0); setProcArrayRow(‘ora_dbrm’,”database resource manager”,1,0); setProcArrayRow(‘ora_dia0’,”hang detection and deadlock resolution”,1,0); setProcArrayRow(‘ora_mman’,”internal database tasks”,1,0); setProcArrayRow(‘ora_dbw0’,”Database Writer Process”,1,0); setProcArrayRow(‘ora_lgwr’,”Log Writer Process”,1,0); setProcArrayRow(‘ora_ckpt’,”Checkpoint Process”,1,0); setProcArrayRow(‘ora_smon’,”System Monitor Process”,1,0); setProcArrayRow(‘ora_reco’,”Recoverer Process”,1,0); setProcArrayRow(‘ora_mmon’,”various manageability-related background tasks”,1,0); setProcArrayRow(‘ora_mmnl’,”light-weight manageability-related tasks”,1,0); setProcArrayRow(‘ora_d000’,”Dispatcher Process”,1,0); setProcArrayRow(‘ora_s000’,”Shared Server Process”,1,0); setProcArrayRow(‘ora_qmnc’,”Queue Monitor Coordinator”,1,0); setProcArrayRow(‘ora_q000’,”Queue Monitor Server Process”,1,0); setProcArrayRow(‘ora_q001’,”Queue Monitor Server Process”,1,0); setProcArrayRow(‘ora_smco’,”space management coordinator”,1,0); setProcArrayRow(‘ora_emnc’,”process for database event management and notifications”,1,0); setProcArrayRow(‘ora_w000’,”Slave Space Management Coordinator Process”,1,0); }
The plugin is launched with the following command
chack_exec_oracle -w -c
Two examples are given below.
I changed this plugin to check Serena (Dimension CM) processes. The changes are listed below : 1 – Change headerMessage variable : my $headerMessage=”Serena processes control”; 2 – Change initializeProcArray as following sub initializeProcArray { setProcArrayRow(‘dmlsnr’,”Process dmlsnr”,1,0); setProcArrayRow(‘dmpool.x’,”Process dmpool.x”,1,0); setProcArrayRow(‘dmpoolhlp.x’,”Process dmpoolhlp.x”,1,0); setProcArrayRow(‘dmappsrv.x’,”Process dmappsrv.x”,1,0); setProcArrayRow(‘dmemail’,”Process dmemail”,1,0); setProcArrayRow(‘dmschedule’,”Process dmschedule”,1,0); setProcArrayRow(‘dmdeploysrv.x’,”Process dmdeploysrv.x”,1,0); setProcArrayRow(‘dmlcasrv.x’,”Process dmlcasrv.x”,1,0); setProcArrayRow(‘dmupgradesrv.x’,”Process dmupgradesrv.x”,1,0); setProcArrayRow(‘dmappsrv.x’,”Process dmappsrv.x”,1,0); setProcArrayRow(‘dmappsrv.x’,”Process dmappsrv.x”,1,0); setProcArrayRow(‘perl’,”Process perl dimensionCm”,1,0); setProcArrayRow(‘dmappsrv.x’,”Process dmappsrv.x”,1,0); setProcArrayRow(‘java’,”Process java Dimension CM”,1,0); setProcArrayRow(‘dmappsrv.x’,”Process dmappsrv.x”,1,0); setProcArrayRow(‘dmappsrv.x’,”Process dmappsrv.x”,1,0); setProcArrayRow(‘dmlibsrv.x’,”Process dmlibsrv.x”,1,0); }
3 – Change ps command line like this
@listeProc = split(/n/,(`ps -eaf | grep dimension | grep -v grep | tr -s ‘ ‘ ‘;’`));
4 – Replace code if($execProc =~ m/(ora_.*)_(.*)/){ ($trace)? print(“execProc filtre : $1n”):(); my $runningProcess = $1; countExecProcesses(%procName,$runningProcess); }
by countExecProcesses(%procName,$execProc);
5- This woorks for Serena Processes
I hope this will help.
You must be logged in to submit a review.
To:
From: