Bonjour à toutes et à tous,

Suite à la mise en place d'un outil de supervision, je dois créer des scripts pour interroger mes OIDs de mes datacore et les intégrer à ma supervision.

Je débute en shell, voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#! /bin/sh
 
STATE=2
PLUGIN_PATH='/srv/eyesofnetwork/nagios/plugins'
COMMAND_PATH='/bin'
 
   ####################################### Resultats #########################################
 
   #### valeur pour up to date du vDISK PRODUCTION ####
 
tab=(
'.32.69.52.50.50.56.68.51.66.51.69.69.54.56.68.65.65.69.69.55.57.50.68.52.55.53.55.68.52.53.57.69.70'
'.32.56.67.65.55.51.51.67.54.67.54.55.55.54.52.65.52.56.55.52.67.50.52.56.50.56.54.53.52.69.54.55.70'
'.32.68.66.69.56.65.53.54.70.66.49.70.54.57.69.52.65.68.50.69.52.67.53.52.68.67.51.51.48.70.49.57.48'
'.32.54.55.66.67.52.51.53.67.69.57.50.55.57.57.57.67.55.56.66.48.54.65.57.67.51.65.66.57.54.70.69.54'
'.32.51.56.56.66.67.68.68.51.53.69.65.57.54.50.69.53.55.69.48.65.52.69.53.68.57.54.50.53.56.48.55.49'
'.32.54.52.67.56.67.65.55.57.70.53.69.49.70.68.53.51.67.50.50.53.70.48.65.49.68.50.70.65.70.52.49.65'
'.32.52.65.70.69.68.53.53.68.48.50.53.55.49.55.54.68.57.49.49.53.70.57.51.65.51.57.69.69.65.52.57.55'
'.32.51.56.54.57.53.67.50.52.70.51.56.55.50.65.66.54.52.70.54.50.65.65.56.55.51.65.51.67.49.70.49.53'
'.32.66.53.69.52.65.57.49.70.69.54.53.51.69.51.66.65.65.66.70.48.57.70.51.53.51.65.67.51.50.57.56.69'
'.32.52.67.53.52.69.50.68.65.68.69.66.56.66.67.48.49.56.54.50.55.67.56.56.69.51.67.69.51.49.68.70.56'
   )
 
if [[ $4 = status && $6 -eq 1 || $6 -eq 2 ]]
then
for ((n=0; n < 11; n++))
do
	ar+=( "$($PLUGIN_PATH/check_snmp -H $2 -C X -o 1.3.6.1.4.1.7652.1.1.1.6"${tab[n]}" | grep to | cut -d '-' -f 2 | cut -d '"' -f 2 | cut -c -2)" )
	if [[ (("${ar[n]}" == "Up")) ]] ; then
	STATE=0
	else
	STATE=2
	fi
done
 
rslt_affiche="PRODUCTION_01 est $ar & PRODUCTION_02 est ${ar[1]} & PRODUCTION_03 est ${ar[2]} & PRODUCTION_04 est ${ar[3]} & PRODUCTION_05 est ${ar[4]} & PRODUCTION_06 est ${ar[5]} & PRODUCTION_07 est ${ar[6]} & PRODUCTION_08 est ${ar[7]} & PRODUCTION_09 est ${ar[8]} & PRODUCTION_10 est ${ar[9]}"
fi
 
if [[ ($4 == status) ]] ; then #affichage sur le nagios
   $PLUGIN_PATH/check_dummy $STATE "$rslt_affiche"
fi
   exit $STATE
Mon problème actuel

Mon script retourne toujours l'état "CRITIQUE" alors que tous mes vdisk sont UP.

Je pense que le problème vient de là (mon if dans ma boucle retourne la valeur STATE=2, elle arrive pas à lire mon if) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
if [[ (("${ar[n]}" == "Up")) ]] ; then
	STATE=0
	else
	STATE=2
	fi
J'ai testé plusieurs choses mais je n'arrive pas à corriger ce problème :/

Merci de votre aide.