blob: d993467c527b868f3f1acb81f1d46f52338f6637 (
plain)
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
|
<?php
/* Icinga Web 2 | (c) 2017 Icinga Development Team | GPLv2+ */
namespace Icinga\Module\Monitoring\Backend\Ido\Query;
/**
* Query for host and service flapping events
*/
class FlappingeventQuery extends IdoQuery
{
protected $columnMap = array(
'flappingevent' => array(
'flappingevent_id' => 'fh.flappinghistory_id',
'flappingevent_event_time' => 'UNIX_TIMESTAMP(fh.event_time)',
'flappingevent_event_type' => "(CASE fh.event_type WHEN 1000 THEN 'flapping' WHEN 1001 THEN 'flapping_deleted' ELSE NULL END)",
'flappingevent_reason_type' => "(CASE fh.reason_type WHEN 1 THEN 'stopped' WHEN 2 THEN 'disabled' ELSE NULL END)",
'flappingevent_percent_state_change' => 'fh.percent_state_change',
'flappingevent_low_threshold' => 'fh.low_threshold',
'flappingevent_high_threshold' => 'fh.high_threshold'
),
'object' => array(
'host_name' => 'o.name1',
'service_description' => 'o.name2'
)
);
protected function joinBaseTables()
{
$this->select()
->from(array('fh' => $this->prefix . 'flappinghistory'), array())
->join(array('o' => $this->prefix . 'objects'), 'fh.object_id = o.object_id', array());
$this->joinedVirtualTables['flappingevent'] = true;
$this->joinedVirtualTables['object'] = true;
}
}
|