Bonjour,
Voila mon codevoila ce qu'il me dit :
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
43
44
45
46
47
48
49
50
51
52
53
54 #!/usr/bin/env python import getpass import sys import os import commands import string STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 #recuperation de l'ip de la sonde HOTE = sys.argv[1] OID = sys.argv[2] valeur2 = sys.argv[3] warning2 = sys.argv[4] critical2 = sys.argv[5] #requete snmp sur l'OID de t a sonde commande = 'snmpget -v 1 -c public ' + HOTE +' '+ OID +' ' +'''| awk '{ print $4 } ' ''' resultat= commands.getoutput(commande) #puissance = float(resultat) #cpt=resultat.find('string:') # a remplacer au besoin suivant ce que renvoie la commande snmpget precedente valeur = eval(valeur2) warning = eval(warning2) critical = eval(critical2) puissance = eval(resultat) #puissance = float(resultat) #puissance = resultat print puissance print valeur print warning print critical print puissance >= (valeur - warning) and puissance <= (valeur + warning) if puissance >= (valeur - warning) and puissance <= (valeur + warning) : print "Normal" sys.exit(STATE_OK) #if puissance >= valeur -critical and puissance <= valeur - critical : # print "Danger" # sys.exit(STATE_WARNING) #if puissance < valeur -critical or puissance > valeur - critical : # print "Critique" # sys.exit(STATE_CRITICAL) #si rien trouver print "resultat inconnu" sys.exit(STATE_UNKNOWN) print resultat print puissanceJusqu'à nouvelle ordre 3.3 et inférieur à 3.75
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 3.3 3.5 0.25 0.5 False resultat inconnu
Lorsque je test le code en ligne de commande le resultat est bon !
Je ne comprend pas pourquoi il me sort false dans le programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 >>> print valeur 3.5 >>> print puissance 3.3 >>> print warning 0.25 >>> print critique 0.5 >>> puissance >= (valeur - warning) True >>> puissance <= (valeur + warning) True >>> puissance >= (valeur - warning) and puissance <= (valeur + warning) True
Si quelqu'un à une idée
Merci
Partager