Revision 8d255750
Récupération des services en fonction du test
Permet d'ajouter automatiquement une dépendance sur les services
générés par les tests que le plugin a configuré dans le HLS
de l'hôte.
Change-Id: I25986aa113bdf2ac589720fb53c838c301cf7096
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/2400
Tested-by: Build system <qa@vigilo-dev.si.c-s.fr>
Reviewed-by: Francois POIROTTE <francois.poirotte@c-s.fr>
src/plugins/vigilo/Vigilo/VigiloTest.php | ||
---|---|---|
18 | 18 |
public function getNagiosNames() |
19 | 19 |
{ |
20 | 20 |
$res = array(); |
21 |
switch ($this->name) { |
|
22 |
case 'Interface': |
|
23 |
// Pour une interface réseau, le service est construit |
|
24 |
// à partir du label donné. |
|
25 |
$label = $this->args['label']->getValue(); |
|
26 |
$res[] = "Interface $label"; |
|
27 |
|
|
28 |
// On regarde si des seuils ont été définis ou non. |
|
29 |
// Si c'est le cas, cela génère des services supplémentaires. |
|
30 |
$warn = isset($this->args['warn']) ? $this->args['warn'] : array(); |
|
31 |
$crit = isset($this->args['crit']) ? $this->args['crit'] : array(); |
|
32 |
$tests = array( |
|
33 |
"Traffic in", |
|
34 |
"Traffic out", |
|
35 |
"Discards in", |
|
36 |
"Discards out", |
|
37 |
"Errors in", |
|
38 |
"Errors out", |
|
39 |
); |
|
40 |
if (is_array($warn) && is_array($crit)) { |
|
41 |
foreach ($tests as $i => $test) { |
|
42 |
if (isset($warn[$i], $crit[$i])) { |
|
43 |
$res[] = "$test $label"; |
|
44 |
} |
|
45 |
} |
|
46 |
} |
|
47 |
break; |
|
48 |
|
|
49 |
case 'Partition': |
|
50 |
// Le label est utilisé pour construire le nom du service. |
|
51 |
$label = $this->args['label']->getValue(); |
|
52 |
$res[] = "Partition $label"; |
|
53 |
break; |
|
54 |
|
|
55 |
case 'Ping': |
|
56 |
$res[] = 'Ping'; |
|
57 |
break; |
|
58 |
|
|
59 |
case 'Process': |
|
60 |
$label = $this['label']; |
|
61 |
if (null === $label) { |
|
62 |
$label = $this->args['processname']; |
|
63 |
} |
|
64 |
$label = $label->getValue(); |
|
65 |
$res[] = "Process $label"; |
|
66 |
break; |
|
67 |
|
|
68 |
case 'Service': |
|
69 |
$label = $this['label']; |
|
70 |
if (null === $label) { |
|
71 |
$label = $this->args['svcname']; |
|
72 |
} |
|
73 |
$res[] = $label->getValue(); |
|
74 |
break; |
|
75 |
|
|
76 |
case 'TCP': |
|
77 |
$label = $this['label']; |
|
78 |
if (null === $label) { |
|
79 |
$label = 'TCP ' . $this->args['port']->getValue(); |
|
80 |
} else { |
|
81 |
$label = $label->getValue(); |
|
82 |
} |
|
83 |
$res[] = $label; |
|
84 |
break; |
|
85 |
} |
|
21 | 86 |
|
22 | 87 |
return $res; |
23 | 88 |
} |
Also available in: Unified diff