Subversion-Projekte lars-tiefland.nagios-php

Revision

Revision 48 | Revision 84 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
9 lars 2
 
82 lars 3
    /**
4
     * service
5
     *
6
     * @package nagios-php
7
     * @author Lars Tiefland
8
     * @copyright 2012
9
     * @version $Rev$
10
     * @access public
11
     */
9 lars 12
    class service
13
    {
42 lars 14
        public $display_name;
15
        public $service_id;
16
        public $service_object_id;
17
 
82 lars 18
        /**
19
         * service::__construct()
20
         *
21
         * @param mixed $id
22
         * @return
23
         */
42 lars 24
        public function __construct($id)
25
        {
26
            $sql="SELECT
27
                    service_id,
28
                    display_name,
29
                    service_object_id
30
                FROM
31
                    services
32
                WHERE
33
                    service_id = $id
34
                AND
35
                    instance_id = " . $GLOBALS["cfg"]["instance"] . "
36
            ";
37
            $res = $GLOBALS["db"]->query($sql);
46 lars 38
            $row = $res->fetchRow();
39
            //$this->host_id=$row["host_id"];
40
            foreach($row as $feld => $wert)
41
            {
42
                $this->$feld = $wert;
43
            }
42 lars 44
        }
82 lars 45
        /**
46
         * service::getStatusList()
47
         *
48
         * @return
49
         */
9 lars 50
        public static function getStatusList()
51
        {
52
            $sql = "SELECT
1 lars 53
					count(current_state) AS anz
54
				FROM
55
					servicestatus
56
				WHERE
57
					instance_id = " . $GLOBALS["cfg"]["instance"] . "
58
				AND
59
					current_state = 0
60
			";
9 lars 61
            $res = $GLOBALS["db"]->query( $sql );
62
            $row = $res->fetchRow();
63
            $rows["ok"] = $row["anz"];
64
            $sql = "SELECT
1 lars 65
					count(current_state) AS anz
66
				FROM
67
					servicestatus
68
				WHERE
48 lars 69
					instance_id = " . $GLOBALS["cfg"]["instance"] . "
1 lars 70
				AND
71
					current_state = 1
72
			";
9 lars 73
            $res = $GLOBALS["db"]->query( $sql );
74
            $row = $res->fetchRow();
75
            $rows["warning"] = $row["anz"];
76
            $sql = "SELECT
1 lars 77
					count(current_state) AS anz
78
				FROM
79
					servicestatus
80
				WHERE
81
					instance_id = " . $GLOBALS["cfg"]["instance"] . "
82
				AND
83
					current_state = 2
84
			";
9 lars 85
            $res = $GLOBALS["db"]->query( $sql );
86
            $row = $res->fetchRow();
87
            $rows["critical"] = $row["anz"];
88
            $sql = "SELECT
1 lars 89
					count(current_state) AS anz
90
				FROM
91
					servicestatus
92
				WHERE
93
					instance_id = " . $GLOBALS["cfg"]["instance"] . "
94
				AND
95
					current_state = 3
96
			";
9 lars 97
            $res = $GLOBALS["db"]->query( $sql );
98
            $row = $res->fetchRow();
99
            $rows["unknown"] = $row["anz"];
100
            $rows["total"] = array_sum( $rows );
101
            return $rows;
102
        }
103
    }
104
 
1 lars 105
?>