scripts/SHELL/NAGIOS/check_mq.sh
2022-04-13 16:10:20 +02:00

78 lines
2.3 KiB
Bash

#!/bin/sh
# TITRE check_mq.sh
# DESCRIPTION : Script de check MQ pour centreon
# USAGE : lancement du script en ajoutant les arguments **
# HISTORIQUE :
# T | Date | Auteur | Description
#---+------------+------------------------------+------------------------------------
# A | 13/04/22 | Demonic/Polaris | Création
# -----------------------------------------------------------------------------------
#########################################
## DECLARATION DES VARIABLES ##
#########################################
# INITIALISATION DESCRIPTION ALERTE NAGIOS
statusReport=""
# INITIALISATION SEVERITE ALERTE NAGIOS (OK PAR DEFAUT)
severityReport=0
#########################################
## DECLARATION DES FONCTIONS ##
#########################################
# decho(){
# [ ${debug} -gt 0 ] && echo $*
# }
# FONCTION POUR DEFINIR LA SEVERITE DE L'ALERTE
setSeverity(){
severityToSet=${1}
case ${severityToSet} in
0)[ ${severityReport} -lt 1 ] && severityReport=0;;
1)[ ${severityReport} -lt 2 ] && severityReport=1;;
2) severityReport=2;;
esac
}
# FONCTION USAGE (option -h)
USAGE(){
echo "Ce script permet de vérifier le nombre de processus actifs pour un processus donné et renvoyer une alerte via Nagios si moins/plus de processus"
echo "USAGE : check_nbproc.sh -p <processus> -c <nb_de process_voulus>"
exit 0
}
#########################################
## RECUPERATION DES ARGUMENTS ##
#########################################
# ARGUMENT -p : NOM DU PROCESSUS
# ARGUMENT -c : NOMBRE DE PROCESS VOULU
# ARGUMENT -h : USAGE
while getopts ":p:c:h:" opt; do
case "${opt}" in
p) NOMPROC="${OPTARG}";;
c) NBOK="${OPTARG}";;
h) USAGE;;
esac
done
########################
## PROGRAMME ##
########################
# MQINFO de la file MQ
echo "\nMQINFO de la file EDS.OCB.01 \n"
su - mqm -c "MQINFO.exe EDS.OCB.01" > $ficLogOCB
# Récupération des valeurs (nb de message, nb de message max, taux)
echo "\nRECUPERATION DES VALEURS \n"
nbMess=`grep "Number of messages in queue" $ficLogOCB | sed 's/.* = (//g' | sed 's/).*//g'`
nbMax=`grep "Maximum number" $ficLogOCB | sed 's/.* = (//g' | sed 's/).*//g'`
tauxRemp=`grep "ratio" $ficLogOCB | sed 's/.* = (//g' | sed 's/).*//g'`