"MaJ ctl_all_nrpe.sh"
This commit is contained in:
		
							parent
							
								
									15201af44d
								
							
						
					
					
						commit
						49d4a833a4
					
				| @ -13,7 +13,9 @@ | ||||
| # 1.0.0  22/07/2017   - Doug Le Tough   - Cre : Mise en production | ||||
| # | ||||
| #------------------------------------------------------------------------------------------------------------------ | ||||
| # Dependances : /usr/local/bin/tetalab/ircbot.py | ||||
| # Dependances : | ||||
| #               - /usr/local/bin/tetalab/ircbot.py | ||||
| #               - ctl_host_process.sh | ||||
| # | ||||
| #------------------------------------------------------------------------------------------------------------------ | ||||
| # Liste des options et arguments: | ||||
| @ -29,12 +31,37 @@ | ||||
| # NRPE_CHECK_PATH=/etc/nagios/nrpe/ | ||||
| # NRPE_CHECK_BIN=/usr/libexec/nagios/check_nrpe | ||||
| # INFRA_SERVER=sousetsuken.local.tetalab.org | ||||
| # # VM monitorée par NRPE | ||||
| # # ATTENTION: web n'est *volontairement* pas monitorée par NRPE | ||||
| # 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 | ||||
| # TETALAB_VM[3]=sonny.local.tetalab.org | ||||
| # TETALAB_VM[4]=marian.local.tetalab.org | ||||
| # # Processus monitorés indépendemment de NRPE | ||||
| # PROCESS[0]=sousetsuken.local.tetalab.org:/usr/sbin/httpd | ||||
| # PROCESS[1]=sousetsuken.local.tetalab.org:/usr/sbin/named | ||||
| # PROCESS[2]=sousetsuken.local.tetalab.org:/usr/sbin/ntpd | ||||
| # PROCESS[3]=sousetsuken.local.tetalab.org:/usr/sbin/crond | ||||
| # PROCESS[4]=sousetsuken.local.tetalab.org:/usr/bin/nrpe | ||||
| # PROCESS[5]=marian.local.tetalab.org:/usr/sbin/httpd | ||||
| # PROCESS[6]=marian.local.tetalab.org:/usr/sbin/ntpd | ||||
| # PROCESS[7]=marian.local.tetalab.org:/usr/sbin/crond | ||||
| # PROCESS[8]=marian.local.tetalab.org:/usr/bin/nrpe | ||||
| # PROCESS[9]=web.local.tetalab.org:/usr/lib/postfix/sbin/master | ||||
| # PROCESS[10]=sonny.local.tetalab.org:/usr/lib64/postgresql/9.6/bin/postgres | ||||
| # PROCESS[11]=sonny.local.tetalab.org:/usr/sbin/ntpd | ||||
| # PROCESS[12]=sonny.local.tetalab.org:/usr/sbin/crond | ||||
| # PROCESS[13]=sonny.local.tetalab.org:/usr/bin/nrpe | ||||
| # PROCESS[14]=jimmy.local.tetalab.org:/usr/sbin/httpd | ||||
| # PROCESS[15]=jimmy.local.tetalab.org:/usr/sbin/node | ||||
| # PROCESS[16]=jimmy.local.tetalab.org:/usr/sbin/ntpd | ||||
| # PROCESS[17]=jimmy.local.tetalab.org:/usr/sbin/crond | ||||
| # PROCESS[18]=jimmy.local.tetalab.org:/usr/bin/nrpe | ||||
| # PROCESS[19]=billy.local.tetalab.org:/usr/sbin/ntpd | ||||
| # PROCESS[20]=billy.local.tetalab.org:/usr/sbin/crond | ||||
| # PROCESS[21]=billy.local.tetalab.org:/usr/bin/nrpe | ||||
| # PROCESS[22]=billy.local.tetalab.org:/usr/sbin/httpd | ||||
| # | ||||
| #------------------------------------------------------------------------------------------------------------------ | ||||
| # Liste des erreurs: | ||||
| @ -59,10 +86,12 @@ | ||||
| ## Fonctionnement: | ||||
| ## --------------- | ||||
| ## 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 | ||||
| ## 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 | ||||
| ## | ||||
| ## Ce script utilise ctl_host_process.sh pour la vérification des processus. | ||||
| ## | ||||
| #------------------------------------------------------------------------------------------------------------------ | ||||
| #                     Initialisation de l'environement | ||||
| #------------------------------------------------------------------------------------------------------------------ | ||||
| @ -110,6 +139,10 @@ function check_config | ||||
|     ERROR="Aucune VM définie dans le fichier de configuration" | ||||
|     fct_erreur 2 | ||||
|   fi | ||||
|   if [ ${#PROCESS[*]} -eq 0 ]; then | ||||
|     ERROR="Aucun processus défini dans le fichier de configuration" | ||||
|     fct_erreur 2 | ||||
|   fi | ||||
|   fct_message "  * IRC_BOT: ${IRC_BOT}" | ||||
|   fct_message "  * NRPE_CHECK_PATH: ${NRPE_CHECK_PATH}" | ||||
|   fct_message "  * NRPE_CHECK_BIN: ${NRPE_CHECK_BIN}" | ||||
| @ -147,6 +180,22 @@ function check_all | ||||
|   done | ||||
| } | ||||
| 
 | ||||
| function check_process | ||||
| { | ||||
|   for PROC in ${PROCESS[@]} | ||||
|   do | ||||
|     HOST=$(echo ${PROC} | cut -d: -f1) | ||||
|     PROC=$(echo ${PROC} | cut -d: -f2) | ||||
|     fct_message "Vérification du process ${PROC} sur ${HOST}" | ||||
|     ctl_host_process -vm ${HOST} -process ${PROC} | ||||
|     RET_VAL=$? | ||||
|     if [ ! ${RET_VAL} -eq 0 ]; then | ||||
|       fct_message "Processus ${PROC} inexistant sur ${HOST}" -color orange | ||||
|       MESSAGE="${MESSAGE}|||${HOST}: CRITICAL: Processus ${PROC} inexistant sur ${HOST}"  | ||||
|     fi | ||||
|   done | ||||
| } | ||||
| 
 | ||||
| function send_message | ||||
| { | ||||
|   if [ ${#MESSAGE} -eq 0 ]; then | ||||
| @ -164,5 +213,6 @@ function send_message | ||||
| MESSAGE="" | ||||
| check_config | ||||
| check_all | ||||
| check_process | ||||
| send_message | ||||
| fct_erreur 0 | ||||
|  | ||||
| @ -2,10 +2,34 @@ 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 | ||||
| # VM monitorée par NRPE | ||||
| # ATTENTION: web n'est *volontairement* pas monitorée par NRPE | ||||
| TETALAB_VM[0]=sousetsuken.local.tetalab.org | ||||
| TETALAB_VM[1]=jimmy.local.tetalab.org | ||||
| TETALAB_VM[2]=billy.local.tetalab.org | ||||
| TETALAB_VM[3]=sonny.local.tetalab.org | ||||
| TETALAB_VM[4]=marian.local.tetalab.org | ||||
| 
 | ||||
| # ATTENTION: web n'est *volontairement* pas monitorée | ||||
| # Processus monitorés indépendemment de NRPE | ||||
| PROCESS[0]=sousetsuken.local.tetalab.org:/usr/sbin/httpd | ||||
| PROCESS[1]=sousetsuken.local.tetalab.org:/usr/sbin/named | ||||
| PROCESS[2]=sousetsuken.local.tetalab.org:/usr/sbin/ntpd | ||||
| PROCESS[3]=sousetsuken.local.tetalab.org:/usr/sbin/crond | ||||
| PROCESS[4]=sousetsuken.local.tetalab.org:/usr/bin/nrpe | ||||
| PROCESS[5]=marian.local.tetalab.org:/usr/sbin/httpd | ||||
| PROCESS[6]=marian.local.tetalab.org:/usr/sbin/ntpd | ||||
| PROCESS[7]=marian.local.tetalab.org:/usr/sbin/crond | ||||
| PROCESS[8]=marian.local.tetalab.org:/usr/bin/nrpe | ||||
| PROCESS[9]=web.local.tetalab.org:/usr/lib/postfix/sbin/master | ||||
| PROCESS[10]=sonny.local.tetalab.org:/usr/lib64/postgresql/9.6/bin/postgres | ||||
| PROCESS[11]=sonny.local.tetalab.org:/usr/sbin/ntpd | ||||
| PROCESS[12]=sonny.local.tetalab.org:/usr/sbin/crond | ||||
| PROCESS[13]=sonny.local.tetalab.org:/usr/bin/nrpe | ||||
| PROCESS[14]=jimmy.local.tetalab.org:/usr/sbin/httpd | ||||
| PROCESS[15]=jimmy.local.tetalab.org:/usr/sbin/node | ||||
| PROCESS[16]=jimmy.local.tetalab.org:/usr/sbin/ntpd | ||||
| PROCESS[17]=jimmy.local.tetalab.org:/usr/sbin/crond | ||||
| PROCESS[18]=jimmy.local.tetalab.org:/usr/bin/nrpe | ||||
| PROCESS[19]=billy.local.tetalab.org:/usr/sbin/ntpd | ||||
| PROCESS[20]=billy.local.tetalab.org:/usr/sbin/crond | ||||
| PROCESS[21]=billy.local.tetalab.org:/usr/bin/nrpe | ||||
| PROCESS[22]=billy.local.tetalab.org:/usr/sbin/httpd | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user