Project

General

Profile

Revision 8d255750

ID8d255750813168d5adcab8216d0f8f12f79ebe42
Parent 92b19eed
Child ea2027b6

Added by Francois POIROTTE about 7 years ago

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 <>
Reviewed-by: Francois POIROTTE <>

View differences:

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