Commit Graph

1808 Commits

Author SHA1 Message Date
Johannes Meyer 777d146ba1 Perfdata: Avoid passing null to `number_format()` 2022-05-27 14:41:42 +02:00
Johannes Meyer 0f64e24f99 MonitoredObject: Register filters with `whereEx()` 2022-05-12 16:33:30 +02:00
raviks789 8898ed85ab Change FilterMatch to FilterEqual class for single object filter on object name.
Correspondingly the DbConnection::renderFilter() (as DbQuery::renderFilter() is deprecated and will be removed, hence no modifications here)
is also modified to render accordingly.
This correctly selects the host, service or contact in case the object name contains wild card characters like "\*".
2022-05-12 16:28:35 +02:00
Johannes Meyer 3edb5c3c94 IdoQuery: Introduce method `whereEx()` 2022-05-12 16:28:35 +02:00
Johannes Meyer c5cf7abf0d IdoQuery: Avoid passing `null` to preg_replace()
refs #4640
2022-04-19 15:01:52 +02:00
Johannes Meyer 3dc384fb58 Avoid passing `null` to non-nullable arguments 2022-03-24 12:29:06 +01:00
Johannes Meyer c038e84fc2 Ensure Return Type Compatibility with Internal Classes 2022-03-24 12:29:06 +01:00
Johannes Meyer 0d032989e6 Fix style issues in recent security fixes 2022-03-08 15:20:16 +01:00
Johannes Meyer e815ff0309
Merge pull request from GHSA-qcmg-vr56-x9wf
Fix/ghsa qcmg vr56 x9wf
2022-03-08 12:03:41 +01:00
Johannes Meyer 6085b02b16 monitoring: Introduce new class `CustomVarTable` 2022-03-02 10:38:08 +01:00
Johannes Meyer b0a7464795 Introduce new hook `Monitoring/CustomVarRenderer` 2022-03-02 10:38:08 +01:00
Johannes Meyer 8779f9f175 IdoQuery: Join customvars with only live references 2022-02-28 13:08:05 +01:00
Johannes Meyer 1092421782 Ido\Query\: Add objecttype_id checks where missing 2022-02-28 13:07:17 +01:00
Johannes Meyer 00353a1f25
Merge pull request #4660 from Icinga/fix/unhandled-service-counter-not-always-visible-3921
Drop the unhandled services counter in host lists
2022-02-28 13:05:29 +01:00
Johannes Meyer e7bc0a136b Perfdata: Render unknown UOMs as-is 2022-02-28 11:53:59 +01:00
Johannes Meyer 796742f03d monitoring/list/hosts: Don't show unhandled service counts
It has too much problems. It wasn't even visible since the
initial release, at least not if there were many results.
It being visible was more a case of chance than guarantee.
We now also identified a major issue with restrictions and
the way we can assemble queries here. In short, there are
too much technical difficulties that we deemed it not
worthwhile to keep.
2022-02-25 17:09:13 +01:00
Johannes Meyer 2e9a94144f HostserviceproblemsummaryQuery: Don't clear order of the host status query 2022-02-25 17:08:39 +01:00
Johannes Meyer a4d34e265f IdoQuery: Don't try to add a `HAVING` without group by rules 2022-02-11 12:11:40 +01:00
Johannes Meyer 6b4f4d388a monitoring: Really show custom variable names as-is 2022-02-04 15:56:44 +01:00
Johannes Meyer 83557afd35 IdoQuery: Qualify and resolve subquery filters ASAP
fixes #4508
2021-08-24 09:32:36 +02:00
Eric Lippmann 1e1b4b74ad If appropriate, set the API parameter all_services for schedule-downtime
Since Icinga 2.11.0 the schedule-downtime API supports the
all_services parameter. So far we've always sent a separate
request for scheduling service downtimes. As of Icinga 2.13.0,
these service downtimes are automatically removed when the host
downtimes are removed. Of course, this doesn't work if we don't
use the all_services parameter but send a separate request.
With this commit we set this parameter if the transport is API
and Icinga is equal to or greater than 2.11.0.

In addition, if child_options and all_services were previously set,
a request was sent per host and service. This is now also only a
single request if an API command transport is requested or only
API command transports are configured.
2021-08-09 16:55:05 +02:00
Johannes Meyer b94617c575 ServicestatusQuery: Define correct grouping rules for contacts and -groups
fixes #4464
2021-07-21 17:41:55 +02:00
Johannes Meyer d123b390b1 MonitoredObject: Keep structure of nested cvs during protection
fixes #4439
2021-07-21 08:01:08 +02:00
Johannes Meyer 9c1e4fa491 monitoring: Ensure cvs are also protected in exported results 2021-07-12 09:42:03 +02:00
Johannes Meyer 1dc6f35916 MonitoredObject: Make customvar protection available to the outside 2021-07-12 09:42:03 +02:00
Johannes Meyer 963fdbd3e2 ServicegroupQuery: Join hostgroups with a LEFT JOIN
refs #4404
2021-07-05 14:59:24 +02:00
Johannes Meyer 13125e8059 HostgroupQuery: Join services and servicegroups with a LEFT JOIN
refs #4404
2021-07-05 14:58:49 +02:00
Johannes Meyer 37c982a044 MonitoringWizard: Remove redundant requirements and steps 2021-06-30 18:54:47 +02:00
Johannes Meyer 84949f214e monitoring: Provide health hook 2021-05-14 15:45:35 +02:00
Damiano Chini 89fdccb858 Pass event instead of object to the getHtmlForEvent method of EventDetailsExtensionHook 2021-05-11 12:36:07 +02:00
Johannes Meyer 1a5cedfee1 setup: Skip browser validation when validating a form manually
fixes #4291
2021-04-13 16:57:03 +02:00
Johannes Meyer a4d495e17c PerfData: Don't render missing values as `0.00` 2021-04-13 14:50:18 +02:00
Alexander A. Klimov 6d5024c671 *downtimestarthistoryQuery#joinBaseTables(): don't call func_get_arg() with an invalid index
... as PHP 8 doesn't tolerate that.

refs #4287
2021-04-09 12:37:03 +02:00
Johannes Meyer fe51f8c968 IdoQuery: Accept any character in custom var names
fixes #4342
2021-04-06 10:47:03 +02:00
Johannes Meyer 0fc06d7795 Transform `*` equal/unequal comparisons to NULL checks
This comes from https://github.com/Icinga/ipl-sql/pull/31
2021-03-12 09:50:59 +01:00
Alexander A. Klimov 6af1e5d43b Monitoring: add expire option for comments
refs #3447
2020-11-30 17:24:57 +01:00
Rick Henry 92ef10c22b Add notification badges for disabled active checks
We mistakenly disabled active checks in our Icinga environment and did
not notice for some time. This commit hooks into the badge mechanic used
when notifications are turned off, and also provides badges when active
host checks and active service checks are disabled.
2020-11-22 21:18:08 +00:00
Johannes Meyer d918d6c86f
Merge pull request #4235 from Icinga/fix/sparkline-js-performance
Drop sparkline.js and render inline-pies as SVG
2020-11-18 09:37:31 +01:00
Johannes Meyer c1bb17709a Navigation\Action: Don't try to resolve non existing urls
fixes #4211
2020-11-16 13:21:16 +01:00
Johannes Meyer b01bd74d5c ServicestatusQuery: Join contactgroups with the correct type id 2020-11-16 13:18:28 +01:00
Johannes Meyer 459e61ba55 ServicegroupQuery: Join contactgroups with the correct type id 2020-11-16 13:18:28 +01:00
Johannes Meyer fbacd3db36 list/services: Avoid duplicates when filtering contact(group)s
fixes #4238
2020-11-16 13:17:32 +01:00
Johannes Meyer 8c73f0462e InlinePie: Utilize SVG to render charts instantly
Inline pie charts usually don't contain that much
data and the SVG should be rather small in size.
So it doesn't hurt rendering them instantly.
2020-09-28 16:40:39 +02:00
Johannes Meyer 0db4dc0311 IdoQuery: Force array cast when lowering subquery filter expressions
fixes #4196
2020-07-06 08:34:40 +02:00
Massimiliano Torromeo 9a29d8f3d4 Set default db charset for MySQL ido resources to latin1
latin1 seems to be the only supported charset for MySQL but the current upstream default charset is utf8mb4 and to be safe it should be set explicitly
2020-06-17 13:27:31 +02:00
Johannes Meyer 4505e29ce3 IdoQuery: Lowercase subquery ci filters on postgres
fixes #4178
2020-06-16 09:59:19 +02:00
Johannes Meyer a240e306ed Preserve/Remove param `showCompact` instead of `view` 2020-06-04 08:50:41 +02:00
Johannes Meyer f6edad9336 Transmit the user who clears an acknowledgement 2020-05-14 13:58:19 +02:00
Johannes Meyer 08bc671fb7 Transmit the user who cancels a downtime 2020-05-14 13:58:03 +02:00
Johannes Meyer 287edb7932 Transmit the user who deletes a comment 2020-05-14 13:57:22 +02:00
Johannes Meyer a2009913c9 WithCommentCommand: Utilize `CommandAuthor` 2020-05-14 13:51:21 +02:00
Johannes Meyer b4e7d80807 Introduce trait `CommandAuthor` 2020-05-14 13:50:48 +02:00
Johannes Meyer 5d603cd026 Macro: Also resolve `service.name` to `service_description`
resolves #4000
2020-05-13 15:32:44 +02:00
Thomas Gelf bdea1bfd47 Query\*notificationQuery: add missing host_alias
Fixes an Exception when searching for a specific alias (as offered in
the filter form)
2020-05-04 12:26:49 +02:00
Valentina Da Rold 48fb288206 Add EventDetailsExtensionHook and include it into EventController 2020-01-13 09:33:24 +01:00
Johannes Meyer d79feca63f
Merge pull request #3969 from WuerthPhoenix/custom-tab-hook
Add custom tab hook
2019-12-12 15:55:25 +01:00
Johannes Meyer da5704fa83
Revert "Introduce option to hide specific customvars in web" 2019-12-10 07:56:11 +01:00
Johannes Meyer bb7f1cd24b monitoring: Apply permission `no-monitoring/contacts` where applicable 2019-12-05 08:50:51 +01:00
Nicolai Buchwitz e7f965e70c fix sytax error (missing space after comma) 2019-12-04 13:06:26 +01:00
Nicolai Buchwitz 55104cba14 Introduce hide customvar option in monitoring view 2019-12-04 13:06:26 +01:00
Johannes Meyer 7b488d7f93 swag: Fix violations of PSR-12
PSR-2 has been deprecated and phpcs v3.5.3
now checks for the successor PSR-12
2019-12-04 11:28:08 +01:00
Feu Mourek 57f966734a Perfdata: add function to get perfdata unit 2019-11-04 11:36:57 +01:00
Johannes Meyer ded92c786a Add missing columns to empty group queries 2019-10-18 07:32:58 +02:00
Johannes Meyer 8e51518e96 ServicegroupQuery: Really join hosts if instructed to do so
fixes #3983
2019-10-17 16:14:28 +02:00
Johannes Meyer 908c408d3d ServicegroupsummaryQuery: Fetch empty groups with a union query
refs #3928
2019-10-11 10:27:43 +02:00
Johannes Meyer faca6d53c8 HostgroupsummaryQuery: Add empty groups to the union
refs #3928
2019-10-11 10:27:43 +02:00
Johannes Meyer fae60f06bf Revert "Show empty groups with a filter chain too"
This reverts commit fadf12e98a.
2019-10-08 13:39:52 +02:00
Johannes Meyer 0e729bb85b Revert "ServicegroupQuery: Use left joins instead of inner joins"
This reverts commit 23066d2cc4.
2019-10-08 13:39:52 +02:00
Johannes Meyer 94b0689b95 Revert "HostgroupQuery: Use left joins instead of inner joins"
This reverts commit 4ef085bdcd.
2019-10-08 13:39:52 +02:00
Johannes Meyer c21867699a ServicestatusQuery: Adjust `next_update` calculation to respect `next_check` 2019-10-08 13:21:43 +02:00
Johannes Meyer b9ea432d35 HoststatusQuery: Adjust `next_update` calculation to respect `next_check` 2019-10-08 13:21:43 +02:00
Gianluca Piccolo 1e2bd37ae8 Add custom tab hook 2019-10-02 13:42:42 +02:00
Johannes Meyer f4c43ecafb
Merge pull request #3966 from Icinga/fix/invalid-filter-suggestions-in-group-overviews-3940
Fix invalid filter suggestions in group overviews
2019-09-26 14:35:11 +02:00
Johannes Meyer b4f1847ec0
Merge pull request #3948 from Icinga/fix/missing-notifications-in-timeline-3947
Fix timeline
2019-09-26 14:33:47 +02:00
Johannes Meyer d6a630432e Servicegroupsummary: Only provide valid filter columns
refs #3940
2019-09-26 13:48:49 +02:00
Johannes Meyer 2b77baa19f Hostgroupsummary: Only provide valid filter columns
refs #3940
2019-09-26 13:47:56 +02:00
Johannes Meyer ab99d25cb5 PluginOutput: Relax html restrictions 2019-09-12 10:50:17 +02:00
Johannes Meyer bfa5f9610b monitoring: Fix timeline
* Fixes extrapolation style
* Fixes missing notifications

fixes #3947
2019-09-12 10:31:41 +02:00
Eric Lippmann fadf12e98a Show empty groups with a filter chain too 2019-08-14 11:50:14 +02:00
Eric Lippmann 214a34a5a8 Always use subquery filters for subquery targets in the group views 2019-08-13 17:18:50 +02:00
Eric Lippmann 7730058c2c Fix Event Grid PostgreSQL error
PostgreSQL fails with failed to find conversion function from
unknown to text. PostgreSQL won't detect the type of object_type.
Most likely because it's used in a CASE statement and provided by a
subquery:

select case when s.object_type = 'service' then 1 else 0 end from
(select ('service') as object_type) as s;

This commit just removes object_type from the CASE statements because we
don't need them anyway. Recently we've changed the event grid query to
only select hosts or services and not both.
2019-07-30 09:32:59 +02:00
Peter Eckel 718ecd05a7 Fix Icinga 2 version detection
With this commit the version prefix character is treated as optional
which always used to be 'r' or 'v'. But this is gone since Icinga 2
version 2.11.0 RC1.

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2019-07-30 09:32:17 +02:00
Eric Lippmann e61cb71c17 Use unique values for combined AND group membership filters 2019-07-30 09:17:25 +02:00
Eric Lippmann 0de923fc5f Support "old" combined group membership filter in subquery filter chains 2019-07-30 09:17:25 +02:00
Eric Lippmann 58e3ae46a7 Fix servicegroup subquery filter in the servicegroup view 2019-07-30 09:17:25 +02:00
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
Johannes Meyer ea3a541017
Merge pull request #3801 from Icinga/feature/improve-host-service-distinction-in-lists-3615
Improve host-service distinction in lists
2019-07-30 08:55:03 +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 4f507d9672 SelectBox: Also use the default form classes 2019-07-29 10:19:39 +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 3f2a2fa984 Action: Only create an `Url` object once macros are resolved
refs #3829
2019-06-25 09:08:04 +02:00