Bonjour,
Pour des besoins de supervisions avec nagios sur HP-UX, j'ai dû me mettre au Perl ce matin même (je n'y ai jamais touché avant).
J'ai pu commencer mon script en cherchant beaucoup sur la toile par-ci par-là, mais je me heurte maintenant à un problème que je ne comprends pas trop.
Pour expliquer le contexte, j'ai besoin de comparer les valeurs d'utilisation des deux swap de mon serveur à des valeurs qui seront passées en paramètres (pour définir les seuils critiques et warning). J'ai donc besoin de récupérer les résultats des deux commandes "swapinfo" et de les mettre chacun dans un tableau pour pouvoir les traiter par la suite. C'est là où je me suis arrêté pour le moment.
Voici ce que j'ai fait :
Avec la commande "swapinfo -tam", j'ai noté que, par exemple, la 3e colonne (en partant de 0) donne le nombre de Mb libre, et que la 4e colonne donne le pourcentage utilisé.
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 #!/opt/perl/bin/perl # # check multiswap hpux # use strict; use Getopt::Std; use vars qw(@swap1 @swap2 $command_line1 $command_line2 %exit_codes); # Codes préféfinis pour Nagios %exit_codes = ('UNKNOWN',-1, 'OK',0, 'WARNING',1, 'CRITICAL',2); # Récupérer les infos du swap1 en /dev/vg00/lvol2 $command_line1 = `swapinfo -tam | grep lvol2`; # Récupérer les infos du swap2 en /dev/vg00/lvol9 $command_line2 = `swapinfo -tam | grep lvol9`; # Mettre le résultat dans un tableau pour swap1 chomp $command_line1; @swap1 = split(/ /,$command_line1); # Mettre le résultat dans un tableau pour swap2 chomp $command_line2; @swap2 = split(/ /, $command_line2);
Ainsi, pour vérifier que je pouvais bien utiliser les valeurs du tableau par la suite, j'ai essayé de les lire, en rajoutant, à la fin du script :
Et à l'exécution, rien ne s'affiche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 print $swap1[3],"\n"; print $swap1[4],"\n"; print $swap2[3],"\n"; print $swap2[4],"\n";
Après plusieurs essais, je me suis aperçu que seul
m'affichait effectivement ce que j'avais demandé. Dès que j'essaye d'afficher les colonnes suivantes, rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 print $swap1[0],"\n"; print $swap2[0],"\n";
Je débute donc j'ai forcément loupé quelque chose mais je ne sais pas quoi, pouvez-vous m'aider ?
Merci d'avance !
Partager