"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 | # 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: | # Liste des options et arguments: | ||||||
| @ -29,12 +31,37 @@ | |||||||
| # NRPE_CHECK_PATH=/etc/nagios/nrpe/ | # NRPE_CHECK_PATH=/etc/nagios/nrpe/ | ||||||
| # NRPE_CHECK_BIN=/usr/libexec/nagios/check_nrpe | # NRPE_CHECK_BIN=/usr/libexec/nagios/check_nrpe | ||||||
| # INFRA_SERVER=sousetsuken.local.tetalab.org | # 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[0]=sousetsuken.local.tetalab.org | ||||||
| # TETALAB_VM[1]=jimmy.local.tetalab.org | # TETALAB_VM[1]=jimmy.local.tetalab.org | ||||||
| # TETALAB_VM[2]=billy.local.tetalab.org | # TETALAB_VM[2]=billy.local.tetalab.org | ||||||
| # TETALAB_VM[3]=marian.local.tetalab.org | # TETALAB_VM[3]=sonny.local.tetalab.org | ||||||
| # TETALAB_VM[4]=sonny.local.tetalab.org | # TETALAB_VM[4]=marian.local.tetalab.org | ||||||
| # TETALAB_VM[5]=web.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: | # Liste des erreurs: | ||||||
| @ -59,10 +86,12 @@ | |||||||
| ## Fonctionnement: | ## Fonctionnement: | ||||||
| ## --------------- | ## --------------- | ||||||
| ## Depuis sousetsuken, récupè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 | ## 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 | ## 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 | ## /usr/local/bin/tetalab/ircbot.py | ||||||
| ## | ## | ||||||
|  | ## Ce script utilise ctl_host_process.sh pour la vérification des processus. | ||||||
|  | ## | ||||||
| #------------------------------------------------------------------------------------------------------------------ | #------------------------------------------------------------------------------------------------------------------ | ||||||
| #                     Initialisation de l'environement | #                     Initialisation de l'environement | ||||||
| #------------------------------------------------------------------------------------------------------------------ | #------------------------------------------------------------------------------------------------------------------ | ||||||
| @ -110,6 +139,10 @@ function check_config | |||||||
|     ERROR="Aucune VM définie dans le fichier de configuration" |     ERROR="Aucune VM définie dans le fichier de configuration" | ||||||
|     fct_erreur 2 |     fct_erreur 2 | ||||||
|   fi |   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 "  * IRC_BOT: ${IRC_BOT}" | ||||||
|   fct_message "  * NRPE_CHECK_PATH: ${NRPE_CHECK_PATH}" |   fct_message "  * NRPE_CHECK_PATH: ${NRPE_CHECK_PATH}" | ||||||
|   fct_message "  * NRPE_CHECK_BIN: ${NRPE_CHECK_BIN}" |   fct_message "  * NRPE_CHECK_BIN: ${NRPE_CHECK_BIN}" | ||||||
| @ -147,6 +180,22 @@ function check_all | |||||||
|   done |   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 | function send_message | ||||||
| { | { | ||||||
|   if [ ${#MESSAGE} -eq 0 ]; then |   if [ ${#MESSAGE} -eq 0 ]; then | ||||||
| @ -164,5 +213,6 @@ function send_message | |||||||
| MESSAGE="" | MESSAGE="" | ||||||
| check_config | check_config | ||||||
| check_all | check_all | ||||||
|  | check_process | ||||||
| send_message | send_message | ||||||
| fct_erreur 0 | fct_erreur 0 | ||||||
|  | |||||||
| @ -2,10 +2,34 @@ IRC_BOT=/usr/local/bin/tetalab/ircbot.py | |||||||
| NRPE_CHECK_PATH=/etc/nagios/nrpe/ | NRPE_CHECK_PATH=/etc/nagios/nrpe/ | ||||||
| NRPE_CHECK_BIN=/usr/libexec/nagios/check_nrpe | NRPE_CHECK_BIN=/usr/libexec/nagios/check_nrpe | ||||||
| INFRA_SERVER=sousetsuken.local.tetalab.org | 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[0]=sousetsuken.local.tetalab.org | ||||||
| TETALAB_VM[1]=jimmy.local.tetalab.org | TETALAB_VM[1]=jimmy.local.tetalab.org | ||||||
| TETALAB_VM[2]=billy.local.tetalab.org | TETALAB_VM[2]=billy.local.tetalab.org | ||||||
| TETALAB_VM[3]=sonny.local.tetalab.org | TETALAB_VM[3]=sonny.local.tetalab.org | ||||||
| TETALAB_VM[4]=marian.local.tetalab.org | TETALAB_VM[4]=marian.local.tetalab.org | ||||||
| 
 | # Processus monitorés indépendemment de NRPE | ||||||
| # ATTENTION: web n'est *volontairement* pas monitorée | 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