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 :
Mon problème actuel
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 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) :
J'ai testé plusieurs choses mais je n'arrive pas à corriger ce problème :/
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
Merci de votre aide.
Partager