Commit Graph

818 Commits

Author SHA1 Message Date
Eric Lippmann 9a75e101ee Support subquery filters in filter chains
Before, combined membership filters were only possible in filter
expressions, e.g. hostgroup_name=(a&b). Now, also
(hostgroup_name=a&hostgroup_name=b) is supported which makes it easier
to build such filters with the filter editor.
2019-07-30 09:17:25 +02:00
Johannes Meyer a33fda9dd7
Merge pull request #3846 from Icinga/feature/contact-and-contactgroup-filter
Add contact and contactgroup filters
2019-07-30 09:07:55 +02:00
Eric Lippmann 227cb2c512 Fix grouping error when selecting the notification id 2019-07-29 14:03:40 +02:00
Eric Lippmann 98388c4346 Link to the event detail from the notifications view 2019-07-29 14:03:40 +02:00
Johannes Meyer f32dac7a70 ServicestatusQuery: Add `latency` to next_update calculation..
..and double the entire result

refs #3212
2019-07-29 09:12:46 +02:00
Johannes Meyer 44f63576d1 HoststatusQuery: Add `latency` to next_update calculation..
..and double the entire result

refs #3212
2019-07-29 09:12:46 +02:00
Eric Lippmann bcc867d48e Allow to filter for contact groups 2019-07-29 09:12:01 +02:00
Eric Lippmann 54f9c68887 Show notifications before any other event in the history views 2019-07-23 14:48:00 +02:00
Eric Lippmann f80a61d9e5 Respect notification type of subqueries 2019-07-23 14:48:00 +02:00
Eric Lippmann 1d1fd0b3b2 Use notification_reason for new notification types 2019-07-23 14:48:00 +02:00
Johannes Meyer 39fbd3e27e monitoring: Re-add missing query columns to event overview
`hostgroup`, `hostgroup_alias`, `servicegroup`, `servicegroup_alias`

fixes #3848
2019-07-18 14:50:35 +02:00
Eric Lippmann 523a35f4c1 Allow to filter for contacts 2019-07-08 18:00:28 +02:00
Johannes Meyer 5961f43aa9
Merge pull request #3781 from mdetrano/bugfix/cant_search_for_output_in_event_history_2266
Fixes 2266.  Special handling of notification 'output' field.
2019-05-27 08:29:34 +02:00
Marc DeTrano 5e5a5c68cc Fixes 2266. Special handling of notification 'output' field to avoid using aggregate function in WHERE clause of query...which dumps an error
style fixup, exact === usage
2019-05-24 17:04:02 -06:00
Johannes Meyer a063cc9dcf
Merge pull request #3247 from mdetrano/feature/improve-eventgrid-performance-12732
Improve Event Grid performance
2019-05-24 07:53:21 +02:00
mdetrano c05d15c427
Update modules/monitoring/library/Monitoring/Backend/Ido/Query/EventgridservicesQuery.php
extra line fixup, as suggested

Co-Authored-By: Jennifer Mourek <jennifer.mourek@netways.de>
2019-05-22 13:29:12 -06:00
Johannes Meyer 2e2a269549
Merge pull request #3712 from ConstantinMatheis/master
Add check source to history details view.
2019-04-18 14:37:26 +02:00
Johannes Meyer a8832517bf Ido\Query: Add missing `host` and `service` columns to history queries
fixes #3721
2019-04-16 10:24:33 +02:00
Marc DeTrano e7d117e1b6 Improve Eventgrid performance by limititing query time range, and only querying for hosts or services as requested in the form. 2019-04-02 10:15:33 -06:00
Constantin Matheis 76cd8a0321 Added Check source to Details view.
refs #3687
2019-03-07 10:33:51 +01:00
Eric Lippmann 8300011c6f Use requireVirtualTable() 2018-11-15 11:10:31 +01:00
Eric Lippmann dda390b3d8 Require virtual table hosts
refs #3564
2018-11-14 10:22:17 +01:00
Johannes Meyer dab9fea0d4
Merge pull request #3457 from Icinga/feature/proper-results-when-filtering-for-linked-objects-2934
Proper results when filtering for linked objects
2018-07-19 09:15:58 +02:00
Eric Lippmann 7624d99070 Use subquery filters for contacts if appropriate
refs #2934
2018-07-18 17:47:40 +02:00
Eric Lippmann 424f687f5d
Merge pull request #3532 from Icinga/bugfix/ido-check_interval
Fetch check_interval property of monitored objects, too
2018-07-18 16:32:37 +02:00
Eric Lippmann c168ebfe3a Fix subquery joins for host and service group views
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 3a434320e2 Fix subquery joins for negative filters
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann b7f0270a24 Use SELECT 1 for subquery filters
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 28e68f8f8a Fix group base 2018-07-18 15:50:37 +02:00
Eric Lippmann c3d25e1a59 Use subquery filters for service groups if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 61d325fa8a Use subquery filters for host groups if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann a3ec0df7c5 Use subquery filters for service flapping history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann c4de14eb05 Use subquery filters for host flapping history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 1d4ee7824a Use subquery filters for service comment history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 2ee0f99ed1 Use subquery filters for host comment history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann df7b5d663a Use subquery filters for service downtime history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 0ca97d191f Use subquery filters for host downtime history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 81b6b0129b Use subquery filters for service state history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann bdb73ec06e Use subquery filters for host state history if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 27f4fe82cd Use subquery filters for service notifications if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 84c6055a17 Use subquery filters for service comments if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann a84cc40aa8 Use subquery filters for host notifications if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann db50d40068 Use subquery filters for host comments if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 271a1d72f1 Use subquery filters for contact groups if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann f7f02bdc8f Use subquery filters for service downtimes if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Eric Lippmann 9f7b9edffe Use subquery filters for host downtimes if appropriate
refs #2934
2018-07-18 15:50:37 +02:00
Johannes Meyer 186ef5a5a7 Use subquery filters for services if appropriate
refs #2934

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-18 15:50:37 +02:00
Johannes Meyer 824fa870a2 Use subquery filters for hosts if appropriate
refs #2934

(EL): Alternative service group subquery filter:

```php
$this->joinVirtualTable('services');
$query->joinVirtualTable('members');
return ['sgm.service_object_id', 'so.object_id'];
```

But I think the committed solution is better.

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-18 15:50:37 +02:00
Eric Lippmann 4b80b3e7ee IdoQuery: Support & and != for subquery filters
refs #2934
2018-07-18 15:50:37 +02:00
Johannes Meyer 5c8cf64658 IdoQuery: Use subqueries to filter linked objects
refs #2934

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-18 15:50:37 +02:00
Alexander A. Klimov 0b5620d2b5 Fetch check_interval property of monitored objects, too 2018-07-18 15:42:34 +02:00
Eric Lippmann d5d336884c Fix grouping in the new contact queries
refs #3088
2018-07-18 15:20:23 +02:00
Johannes Meyer 5befab6a2b ContactQuery: Don't use a UNION query if not necessary
Speeds up the db's response time significantly in huge
environments.

refs #3088

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-07-18 15:20:23 +02:00
Eric Lippmann e684c6d18e Split contact query into subqueries
One can't fetch host and service contacts with a reasonable single
query.

refs #3088
2018-07-18 15:20:23 +02:00
Eric Lippmann ea722484b0 Introduce 'problems' columns for CLI usage
refs #3512
2018-07-09 16:10:07 +02:00
Johannes Meyer 4ec783b75e IdoQuery: Use a dynamic collation when joining custom variables
refs #2508
2018-04-27 15:33:42 +02:00
Johannes Meyer 1c29b03b84 Revert "Merge pull request #3413 from Icinga/bugfix/filter-contacts-assigned-to-services-3088"
This reverts commit 33247237af, reversing
changes made to 37aeb83cd9.

refs #3436
2018-04-27 10:13:58 +02:00
Alexander A. Klimov bbca113adc IDO: treat contacts of services of hosts as direct contacts of the hosts
refs #3088
2018-04-06 15:16:36 +02:00
Alexander A. Klimov 4995df8336 Make host and service groups sortable by the members' severities
refs #3395
2018-04-04 10:05:27 +02:00
Johannes Meyer b07e4b409f EventHistory: Drop obsolete SUM aggregates
Not used anywhere and not working for a long time already,
at least as filter columns.

refs #2860
2018-01-17 12:41:10 +01:00
lippserd 6abb91421a
Merge pull request #3220 from Icinga/fix/filter-by-custom-variables
Fix filter by host custom variables
2018-01-11 11:40:22 +01:00
Alexander A. Klimov 196cdbe4af Implement event history detail view
refs #3191
2018-01-09 13:04:06 +01:00
Eric Lippmann 93ec798c6b Ido: Map h.host_object_id to s.host_object_id in the ServicegroupQuery
This is required to make filters work which filter by host custom variables without using any host related table.
2017-12-18 10:35:16 +01:00
Eric Lippmann b1f7923711 Ido: Allow custom variables to be mapped
If you filter by host custom variables and the query does not have the services table joined,
our query implementation calls the joinHosts method. Then, the column for the JOIN ON condition is
automatically set to h.host_object_id.
But it may be required by the query to call joinServices and use s.host_object_id instead of
h.host_object_id because the query does not use any host related table at all.

This is now possible when h.host_object_id is mapped to s.host_object_id:

class ServicesRelatedQuery
{
    protected $columnMap = array(
        'hosts' => array(
            'h.host_object_id' => 's.host_object_id'
        )
    );

    protected function joinHosts()
    {
        $this->requireVirtualTable('services');
    }
}
2017-12-18 10:23:45 +01:00
lippserd a5bf9e0175
Merge pull request #3029 from Icinga/bugfix/empty-host-and-service-groups-not-shown-2796
Bugfix/empty host and service groups not shown 2796
2017-11-27 14:24:11 +01:00
Eric Lippmann d11519ac49 pogsql: Group by custom variables when querying them
Custom variables added via the URL parameters addColumns or sort must be added to the GROUP BY list when using PostgreSQL.

Credits to @nbuchwitz who came up with the initial fix for this.

refs #1873
2017-11-16 09:20:22 +01:00
Johannes Meyer 23066d2cc4 ServicegroupQuery: Use left joins instead of inner joins
refs #2796
2017-11-09 09:42:46 +01:00
Johannes Meyer 4ef085bdcd HostgroupQuery: Use left joins instead of inner joins
refs #2796
2017-11-09 09:42:46 +01:00
Eric Lippmann 121fdaadb0 Allow to search for host and servicegroups by their case insensitive names too
refs #2971
2017-11-08 15:40:43 +01:00
Eric Lippmann 8de0b80f9e Fix contact group member count
fixes #2837
2017-10-05 14:35:15 +02:00
Michael Friedrich ab364e0fc7 Remove unsupported livestatus functionality
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-09-29 10:33:55 +02:00
Jennifer Mourek 0b30fbd15d Adjust host severity
refs #2926

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-09-25 17:03:33 +02:00
Eric Lippmann adc2f90f74 Show DOWN hosts before UNREACHABLE when sorting by host_severity
refs #2034
2017-07-27 16:08:29 +02:00
Eric Lippmann e7776d08a9 Don't call UNIX_TIMESTAMP when sorting by host_last_state_change
Else possible indices can't be used.
2017-07-27 15:03:12 +02:00
Eric Lippmann 3a1afb3511 Don't call UNIX_TIMESTAMP when sorting by service_last_state_change
Else possible indices can't be used.
2017-07-27 15:03:12 +02:00
Eric Lippmann 9b529bcd15 Flip base tables in HoststatusQuery
This has no performance impact but all our queries should start w/ select from icinga_objects.
2017-07-27 15:03:12 +02:00
Eric Lippmann 370d148072 Optimize imports in HoststatusQuery 2017-07-27 15:03:12 +02:00
Eric Lippmann b4df81e75a Optimize queries used for fetching the service group summaries 2017-07-27 15:03:12 +02:00
Eric Lippmann 06cb980308 Don't add GROUP BY for unjoined tables 2017-07-27 15:03:12 +02:00
Eric Lippmann 30cc51a823 Optimize queries used for fetching the host group summaries
refs #1883
2017-07-27 11:43:13 +02:00
Eric Lippmann f5a9016dea Optimize queries for creating the host and service problem badges in the menu
We now use two fast count queries w/ an appropriate filter instead of fetching a whole bunch of unnecessary host and service counters.
2017-07-27 11:38:00 +02:00
Eric Lippmann a4a0f9f5e6 Allow to filter notifications by notification_reason
refs #2698
2017-05-04 14:38:00 +02:00
Alexander A. Klimov 95020bfed4 Show check attempts only for soft state changes
refs #2718
2017-02-08 14:09:18 +01:00
Johannes Meyer 181e2ef05c Swag: Fix swag (aka a whole bunch of code style issues..) 2017-01-27 14:48:59 +01:00
Michael Friedrich b474482188 Fix local timestamp for PostgreSQL queries
This fixes the "monitoring health" view indicating that Icinga 2
isn't updating the database, even if status_update_time uptodate.

refs #2651

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-01-17 16:31:03 +01:00
Eric Lippmann 8f9920f1fc Return unprefixed Icinga version in MonitoringBackend::getProgramVersion() 2016-12-12 12:40:54 +01:00
Eric Lippmann 62ebaab8b7 Merge branch 'feature/show-flapping-events-in-the-history-views-12766'
resolves #12766
2016-12-12 10:57:25 +01:00
Alexander A. Klimov 665557be27 Support Icinga 2.6 IDO w/ PostgreSQL 2016-12-09 11:57:56 +01:00
Alexander A. Klimov efed4a34a1 Event history: show also flapping events
refs #12766
2016-12-07 17:23:20 +01:00
Eric Lippmann d6d0434a5f Merge remote branch 'bugfix/show-all-usergroups-in-the-web-interface-11744'
fixes #11744
2016-12-05 11:18:18 +01:00
Alexander A. Klimov a0a203c875 Make timeline working again
refs #12889
2016-10-17 12:44:05 +02:00
Eric Lippmann c547f4c17f Fix error in the contact detail view introduced by changes to the notification queries 2016-09-15 14:07:19 +02:00
Eric Lippmann fd6ae75803 IDO: Improve notification view performance 2016-09-14 16:18:41 +02:00
Eric Lippmann 1ed2ebc191 IDO: Add config option to use the customvariables table for fetching custom vars
Icinga 1.x has the option to not dump the icinga_customvariablestatus table:

dump_customvar_status=0

With this setting applied, Web 2 will never show custom variables because Web 2 relies on the customvariablestatus table.
This commit introduces a config option to use the customvariables table instead:

/etc/icingaweb2/modules/monitoring/config.ini

[ido]
use_customvar_status_table = 0
2016-09-12 15:52:07 +02:00
Eric Lippmann 65d7c18c31 Merge branch 'bugfix/contact-service-filter-12019'
fixes #12019
2016-09-12 12:30:34 +02:00
Eric Lippmann c55c5a9e64 IDO: Provide downtime name column
The Icinga 2 API requires the downtimes's name when removing the downtime.

refs #11398
2016-08-31 14:05:01 +02:00
Eric Lippmann 0e307c6482 IDO: Provide comment name column
The Icinga 2 API requires the comment's name when removing the comment.

refs #11398
2016-08-31 12:57:50 +02:00
Michael Friedrich f127611969 Fix contact service filters for 'Downtime'
refs #12019
2016-06-22 13:32:26 +02:00
Alexander A. Klimov 3fed5e920f list/contactgroups: show empty usergroups, too
refs #11744
2016-05-31 17:55:52 +02:00
Alexander A. Klimov af2cee0942 Make host and service severities independend of whether the state is soft or hard
refs #11729
2016-05-20 14:41:02 +02:00