#!/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 -c " 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'`