Commit Graph

1637 Commits

Author SHA1 Message Date
Alexander A. Klimov 392231dc81 Perfdata: return ThresholdRange from getWarningThreshold() and getCriticalThreshold()
refs #8194
2018-05-03 15:11:52 +02:00
Alexander A. Klimov bc5d3b64c4 ThresholdRange::fromString(): compare non-strictly
refs #8194
2018-05-03 15:11:52 +02:00
Alexander A. Klimov 81601e6303 ThresholdRange::fromString(): drop default
refs #8194
2018-05-03 15:11:52 +02:00
Alexander A. Klimov b706792c9b Preserve threshold ranges in ThresholdRange, not in Perfdata
refs #8194
2018-05-03 15:11:52 +02:00
Alexander A. Klimov 881267d829 ThresholdRange::fromString(): default to -∞:∞
refs #8194
2018-05-03 15:11:52 +02:00
Alexander A. Klimov 54002cb3e5 Perfdata: print warn and crit human-readable if the start is -∞
refs #8194
2018-05-03 15:11:52 +02:00
Alexander A. Klimov 2270e250d3 Perfdata: use ThresholdRange
refs #8194
2018-05-03 15:10:31 +02:00
Alexander A. Klimov cdb1db89e2 ThresholdRange: trim(floatval()) -> floatval(trim())
refs #8194
2018-05-03 15:00:48 +02:00
Alexander A. Klimov 7865db9053 Perfdata: simplify code design
refs #8194
2018-05-03 15:00:48 +02:00
Alexander A. Klimov e006902254 ThresholdRange::setInverted(): default to true
refs #8194
2018-05-03 15:00:48 +02:00
Alexander A. Klimov 7273959007 ThresholdRange: reword doc
refs #8194
2018-05-03 15:00:48 +02:00
Alexander A. Klimov 746eb07862 ThresholdRange: use substr() instead of strpos() where more performant
refs #8194
2018-05-03 15:00:48 +02:00
Alexander A. Klimov ddde4b447c ThresholdRange: trim() raw ranges
refs #8194
2018-05-03 15:00:48 +02:00
Alexander A. Klimov 5df6eeaeaf Implement ThresholdRange
refs #8194
2018-05-03 15:00:48 +02:00
Johannes Meyer 4ec783b75e IdoQuery: Use a dynamic collation when joining custom variables
refs #2508
2018-04-27 15:33:42 +02:00
Alexander A. Klimov 2da7ef0eb2 Secure DetailviewExtensionHook::getHtmlForObject()
refs #3393
2018-04-27 12:55:17 +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
Michael Friedrich 6f9e046220 Send the correct 'force' attribute for 'check now' to the Icinga 2 API transport
refs icinga/icinga2#6140
2018-03-02 14:54:29 +01:00
Alexander A. Klimov c717ebeb94 Make Plugin class loadable 2018-01-24 10:21:37 +01:00
Johannes Meyer 42b685d336 Introduce class Icinga\Module\Monitoring\Web\Helper\PluginOutputPurifier 2018-01-19 16:16:35 +01: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 ca803e8f05 Fix monitoring health badge if programstatus has never been set 2017-11-22 11:12:24 +01:00
Johannes Meyer e4fd8d5124 Setup: Only allow to validate the API transport configuration
refs #3101
2017-11-21 13:48:29 +01:00
Markus Frosch 22c6bf75e7 Setup: Fix that the API transport validation does not work
refs #3101
2017-11-21 13:48:17 +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
Klaus Jrgensen fa9b2981d7 Fix PHP fatal error on monitoring/health/info when asking for JSON
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-11-10 11:16:33 +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 f4ce2a5d82 Fix code style issues 2017-11-08 11:29:33 +01:00
Eric Lippmann 73a6750489 Make phpcs and PhpStorm happy w/ intentional switch, case fall-throughs
Unfortunately, PhpStorm does not regonise PSR2 fall-through comments.
On the other hand, phpcs does not support the @noinspection phpdoc comment (/**).
The fix is a mix of PSR2 comments and @noinspection tags in code comments.
2017-11-08 10:25:28 +01:00
Markus Frosch c3ef50978a style: Fix minor styleguide issues for PHPCS 2017-11-08 10:06:45 +01:00
Johannes Meyer 37aeff7791 Respect limits and sort orders for format requests
fixes #2967
2017-10-23 15:49:12 +02:00
Mikesch-mp c17c1b876c Export JSON with .json extension
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-10-18 13:47:08 +02:00
lippserd 91948a5a37 Merge pull request #2983 from Mikesch-mp/csv-export
Export CSV files with .csv extension
2017-10-18 13:21:59 +02:00
Mikesch-mp d76a18dd91 Export CSV files with .csv extension
refs #2808

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2017-10-18 13:21:19 +02: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
lippserd 624fab8194 Merge pull request #2960 from Icinga/bugfix/host-severity-order-2926
Adjust host severity
2017-09-25 17:11:36 +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
Alexander A. Klimov 467fc79095 Style monitored objects' detailview extensions as expected
refs #2949
2017-09-20 14:49:14 +02:00
Alexander A. Klimov c2ee3bef06 DetailviewExtensionHook: provide the concrete implementation's module
refs #2949
2017-09-20 14:49:08 +02:00
Michael Friedrich 2c312adf94 API Commands: Only send acknowledgement expire time if not null
Icinga 2 v2.7.0 is more strict with the `expiry` attribute if sent
(cannot be null, or in the past).

While acknowledgments with expire time worked well (and do so with this patch),
the command renderer did not check whether the value is actually not null
before setting it into the data form. The boolean value from the checkbox is
not available in the command renderer unfortunately.

@lippserd: Verified working with and without expire time inside the Vagrant boxes.

fixes #2911
2017-08-08 12:53:39 +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 7c88ee70d2 Remove sort rules from Programstatus
Sort is not necessary here.
2017-07-27 15:03:12 +02:00
Eric Lippmann 1621755103 Don't call UNIX_TIMESTAMP when sorting by host_severity 2017-07-27 15:03:12 +02:00
Eric Lippmann 9b7a155db2 Don't call UNIX_TIMESTAMP when sorting by service_severity 2017-07-27 15:03:12 +02:00
Eric Lippmann 8a6240fe02 Reduce service_severity order by columns
Ordering by host and service display_name too here reduces performance and is not necessary.
2017-07-27 15:03:12 +02:00
Eric Lippmann c5f2fc5aa5 Reduce service_display_names order by columns
Ordering by host_display_name too here reduces performance as it forces MySQL to use a temp table.
2017-07-27 15:03:12 +02:00
Eric Lippmann ee429f54d0 Reduce host_severity order by columns
Ordering by host_display_name too here reduces performance and is not necessary.
2017-07-27 15:03:12 +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 e42d86a4e1 Remove unncessary column definitions in the Hostgroupsummary and Servicegroupsummary data views 2017-07-27 15:03:12 +02:00
Eric Lippmann 0a3da99e7f Reduce filter columns of the Hostgroup and Servicegroup data views
Its not necessary to expose those columns because these data views do not directly accept user input.
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 a9f3f99049 Don't hide errors in the BackendAvailabilityNavigationItemRenderer
If an exception occurs when fetching the dataview, we will now log the exception and display a badge in state unknown.
2017-07-27 11:35:40 +02:00
Eric Lippmann 439d78a982 Don't hide errors in the MonitoringBadgeNavigationItemRenderer
If an exception occurs when fetching the dataview, we will now log the exception and display a badge in state unknown.
2017-07-27 11:31:10 +02:00
Eric Lippmann 28790d254b Remove caching form the MonitoringBadgeNavigationItemRenderer
Caching will be no longer necessary because we will replace the queries used to fetch the problem badges.
2017-07-27 11:29:57 +02:00
Eric Lippmann c0d359fbbd Fix base class of MonitoringBadgeNavigationItemRenderer
The MonitoringBadgeNavigationItemRenderer extended the SummaryNavigationItemRenderer before which does not make sense because they have nothing in common.
2017-07-27 09:33:44 +02:00
Eric Lippmann a4a0f9f5e6 Allow to filter notifications by notification_reason
refs #2698
2017-05-04 14:38:00 +02:00
Eric Lippmann 7a2d8eda8d Fix exception when the response from the Icinga 2 API has an empty result set
fixes #2805
2017-04-04 09:17:52 +02:00
Eric Lippmann efac7f44c9 Merge pull request #2748 from Icinga/bugfix/validate-icinga2-api-user-2674
Bugfix/validate icinga2 api user 2674
2017-03-28 10:25:12 +02:00
Eric Lippmann 0fc45ea953 Merge pull request #2755 from Icinga/feature/keep-quick-actions-in-action-form-2675
Preserve quick actions in a command form view
2017-03-28 10:15:37 +02:00
Eric Lippmann f749c19f37 Merge pull request #2771 from Icinga/feature/monitoring-detailviewextension-hook-2104
Feature/monitoring detailviewextension hook 2104
2017-03-28 09:46:28 +02:00
Alexander A. Klimov fb2abf40f8 Make the view available to DetailviewExtensionHooks
refs #2104
2017-02-21 12:23:21 +01:00
Alexander A. Klimov fe72973e6e Preserve quick actions in a command form view
refs #2675
2017-02-14 13:07:31 +01:00
Alexander A. Klimov 6d593620d6 Test RestRequest
refs #2674
2017-02-13 14:56:35 +01:00
Alexander A. Klimov 96e7411e25 TransportConfigForm: validate whether the Icinga 2 API can be connected to
refs #2674
2017-02-13 14:56:35 +01:00
Eric Lippmann d2341369a9 Merge pull request #2730 from Icinga/bugfix/invalid-icinga-2-api-response-2728
Handle invalid Icinga 2 API response types
2017-02-13 14:44:51 +01:00
Alexander A. Klimov 96ef0dccf8 Make JSON error handling logic reusable
refs #2728
2017-02-09 19:50:04 +01:00
Alexander A. Klimov 6fbec7134c Handle invalid Icinga 2 API response types
refs #2728
2017-02-09 13:38:43 +01: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 35ba15a7a6 monitoring: Don't offer the Icinga 2 API as transport if cURL is missing
fixes #2661
2017-02-01 15:37:52 +01:00
Johannes Meyer 181e2ef05c Swag: Fix swag (aka a whole bunch of code style issues..) 2017-01-27 14:48:59 +01:00
Alexander A. Klimov 0a9aa20dfa Implement DetailviewExtensionHook
refs #2104
2017-01-24 16:44:00 +01:00
Eric Lippmann 1da67cfbc0 Merge pull request #2689 from Icinga/fix-icinga-com-2687
Update to icinga.com
2017-01-18 13:25:39 +01:00
Michael Friedrich 08a82daea3 Update to icinga.com
refs #2687
2017-01-18 12:04:43 +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 cde55b5764 Support failover API command transport configuration
fixes #13957
2017-01-12 10:39:36 +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 bb920c37d4 Merge branch 'master' into feature/add-ssl-support-to-mysql-database-resources-11115
refs #11115
2016-12-09 14:12:49 +01:00
Alexander A. Klimov 665557be27 Support Icinga 2.6 IDO w/ PostgreSQL 2016-12-09 11:57:56 +01:00
Alexander A. Klimov dce6b4eb08 Merge branch 'master' into feature/add-ssl-support-to-mysql-database-resources-11115 2016-12-08 16:50:41 +01:00
Eric Lippmann 1b6e7177a3 Allow to export the host and service detail views to JSON
resolves #12820
2016-12-08 10:40:22 +01:00
Eric Lippmann 4f6c54e62c Support scheduling a downtime for all services of a host w/ the Icinga 2 API as command transport
fixes #12810
2016-12-08 10:40:22 +01:00
Eric Lippmann f53eb48e38 Show hint if notifications are disabled globally
resolves #11792
2016-12-08 10:40:22 +01:00
Eric Lippmann 4f77cce7a9 Cache count in MonitoringBadgeNavigationItemRenderer 2016-12-08 10:40:22 +01:00