diff --git a/bin/ctl_all_nrpe.sh b/bin/ctl_all_nrpe.sh index 609c02c..22842c3 100755 --- a/bin/ctl_all_nrpe.sh +++ b/bin/ctl_all_nrpe.sh @@ -58,7 +58,7 @@ ## ## Fonctionnement: ## --------------- -## Depuis sousetsuken, rcupère depuis le répertoire local NRPE_CHECK_PATH la liste des checks à effectuer +## Depuis sousetsuken, récupère depuis le répertoire local NRPE_CHECK_PATH la liste des checks à effectuer ## et pour ceux qui sont executables les execute sur les VM définies dans le fichier de configuration ## puis relève les incidents et les notifie sur le chan freenode.net#tetalab en utilisant le script python ## /usr/local/bin/tetalab/ircbot.py diff --git a/bin/ctl_host_process.sh b/bin/ctl_host_process.sh old mode 100644 new mode 100755 index 0acccae..10098f6 --- a/bin/ctl_host_process.sh +++ b/bin/ctl_host_process.sh @@ -4,8 +4,8 @@ # Auteur : Doug Le Tough # Date : 23-07-2017 # Version : 1.0.0 -# Objet : Fait tous les contrôles NRPE standars sur l'ensemble des VM listées -# dans le fichier de configuration et notifie les incidents sur freenode.net#tetalab +# Objet : Vérifie sur la VM dont le nom est passée en option la présence d'un processus +# dont le nom est passé en option # #------------------------------------------------------------------------------------------------------------------ # Mise a jour : @@ -13,32 +13,15 @@ # 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production # #------------------------------------------------------------------------------------------------------------------ -# Dependances : /usr/local/bin/tetalab/ircbot.py -# -#------------------------------------------------------------------------------------------------------------------ # Liste des options et arguments: # -# Ce script n'accepte *aucune* option -# -# @OPT: f:bidon:::::: -# -#------------------------------------------------------------------------------------------------------------------ -# Liste des paramètres de configuration: -# -# IRC_BOT=/usr/local/bin/tetalab/ircbot.py -# NRPE_CHECK_PATH=/etc/nagios/nrpe/ -# NRPE_CHECK_BIN=/usr/libexec/nagios/check_nrpe -# INFRA_SERVER=sousetsuken.local.tetalab.org -# TETALAB_VM[0]=sousetsuken.local.tetalab.org -# TETALAB_VM[1]=jimmy.local.tetalab.org -# TETALAB_VM[2]=billy.local.tetalab.org -# TETALAB_VM[3]=marian.local.tetalab.org -# TETALAB_VM[4]=sonny.local.tetalab.org -# TETALAB_VM[5]=web.local.tetalab.org +# @OPT: o:vm:vm:1/1:::: +# @OPT: o:process:process:1/1:::: # #------------------------------------------------------------------------------------------------------------------ # Liste des erreurs: # +# 1 | erreur | stop | Processus inexistant sur ${vm} # 2 | erreur | stop | ${ERROR} # 3 | erreur | continu | ${ERROR} # @@ -47,10 +30,10 @@ ## Syntaxe : ## -------- ## -## prompt> ctl_all_nrpe.sh +## prompt> ctl_host_process.sh -vm -process ## ## ex: -## expl_check_all_nrpe.sh +## ctl_host_process.sh -vm sousetsuken -process /usr/sbin/httpd ## ## Prérequis: ## ---------- @@ -58,10 +41,10 @@ ## ## Fonctionnement: ## --------------- -## Depuis sousetsuken, rcupère depuis le répertoire local NRPE_CHECK_PATH la liste des checks à effectuer -## et pour ceux qui sont executables les execute sur les VM définies dans le fichier de configuration -## puis relève les incidents et les notifie sur le chan freenode.net#tetalab en utilisant le script python -## /usr/local/bin/tetalab/ircbot.py +## Depuis sousetsuken se connecte sur la VM dont le nom est passé en option et vérifie la présence du +## du processus à l'aide de pidof +## +## Renvoie le code de sortie 1 si le process n'existe pas sur la VM et 0 dans le cas contraire. ## #------------------------------------------------------------------------------------------------------------------ # Initialisation de l'environement @@ -76,7 +59,7 @@ fi source /etc/profile.d/tetalab.sh if [ ! -f ${NC_EXPL_CFG}/init.conf ]; then - echo "Le fichier d'initialisation du socle \${NC_EXPL_CFG}/init.conf n'éxiste pas !" + echo "Le fichier d'initialisation du socle \${NC_EXPL_CFG}/init.conf n'existe pas !" echo "Arrêt du script par sécurité" exit 250 fi @@ -87,13 +70,23 @@ source ${NC_EXPL_CFG}/init.conf # Fonctions #------------------------------------------------------------------------------------------------------------------ +function check_process +{ + fct_message "Vérification de la présence du processus ${process} sur ${vm}:" + PID=$(ssh ${vm} "pidof ${process}") + RET_VAL=$? + if [ ! ${RET_VAL} -eq 0 ]; then + ERROR="Erreur lors de la vérification du processus" + fct_erreur 2 + fi + if [ ${#PID} -eq 0 ]; then + fct_erreur 1 + fi +} #------------------------------------------------------------------------------------------------------------------ # Traitement #------------------------------------------------------------------------------------------------------------------ -MESSAGE="" -check_config -check_all -send_message +check_process fct_erreur 0 diff --git a/msg/ctl_host_process.sh b/msg/ctl_host_process.sh new file mode 100644 index 0000000..0249036 --- /dev/null +++ b/msg/ctl_host_process.sh @@ -0,0 +1,3 @@ +1 | erreur | stop | Processus inexistant sur ${vm} +2 | erreur | stop | ${ERROR} +3 | erreur | continu | ${ERROR}