Subversion-Projekte lars-tiefland.nagios-php

Revision

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