14110 Commits

Author SHA1 Message Date
Yonas Habteab
6ca0611f3d IcingaDB: Don't publish useless data to Redis
The Icinga DB daemon processes the data from the `IcingaApplication`
type only and Icinga DB Web also uses only those stats. However, before
this commit, Icinga DB published all kinds of useless stats to Redis
each second, like the number of (un)reachable hosts, services, and so
on, which is waste of CPU and some other resources. This commit reduces
the published data drastically to only those simple stats coming from
the `IcingaApplication` type.
2025-03-04 17:34:38 +01:00
Alexander Aleksandrovič Klimov
5c651e45a3
Merge pull request #10356 from Icinga/fix-mixed-compiler-args
Don't mix C and C++ compiler flags
2025-03-03 18:56:04 +01:00
Yonas Habteab
3fcc909cdc Don't mix C and C++ compiler flags 2025-03-03 16:52:58 +01:00
Julian Brost
f308bb154a
Merge pull request #8010 from netphantm/feature/itl-enable-extra-opts-7630
ITL: add --extra-opts to plugins supporting it
2025-02-10 10:03:04 +01:00
Julian Brost
1df7f3f7c7 ITL docs: add missing nscp_extra_opts 2025-02-06 17:09:18 +01:00
Julian Brost
988ba18be0 ITL docs: list curl_extra_opts as last variable
Other plugins list --extra-opts last as it's often some kind of feature of last
resort as it provides an option that can't be set in another way. For
consistency, this also moves it to the end for the curl check command.
2025-02-06 16:49:42 +01:00
Julian Brost
b4baf1cbdd
Merge pull request #10342 from Icinga/test-formatdatetime-32bit
tests: fix FormatDateTime with 32-bit time_t
2025-02-05 13:41:29 +01:00
Julian Brost
f1f10fdd9e tests: fix FormatDateTime with 32-bit time_t
With a 32-bit time_t, two checks in the FormatDateTime test case didn't work
properly so far:

1. Every time_t value can be represented by struct tm, hence the test makes no
   sense on such platforms and is now disabled there similar to how it's
   already done with other checks in the same function.
2. std::nextafter(2147483647, +double_limit::infinity())) results in something
   like 2147483647.000000238 which simply results in the limit when cast back
   to an integer type, so it didn't actually test the overflow. This is fixed
   by an additional std::ceil()/std::floor().
2025-02-05 11:21:15 +01:00
Julian Brost
21c9ad5323
Merge pull request #10332 from Icinga/do-not-close-connection-in-request-cert-handler
Don't abruptly close anonymous connections
2025-02-04 10:58:17 +01:00
Alexander Aleksandrovič Klimov
25d9fb51a2
Merge pull request #10225 from Icinga/Wsuggest-override
Always compile with -Wsuggest-override not to forget `override`
2025-02-04 10:35:02 +01:00
Alexander Aleksandrovič Klimov
065dfe4c40
Merge pull request #9928 from Icinga/no-data-received-on-new-api-connection
API: also log error behind "No data received on new API connection"
2025-02-03 15:39:26 +01:00
Angel Roman
dda0da6bf8
Merge pull request #10317 from legna-namor/patch-1
Remove RHEL 7 from installation instructions
2025-01-31 10:50:41 +00:00
Yonas Habteab
25bbac1677 Don't abruptly close anonymous connections
This was mistakenly introduced with PR #7686 due to too many open
connections (#7680). This was wrong in the sense that closing the
connection is simply out of place here and should have been handled
differently. After we revised the RPC connection disconnect procedure
with `v2.14.4`, it becomes clear why it is wrong, because the connection
is closed abruptly before the corresponding response (`result`) has
even been written. Now if you remove the disconnect here, shouldn't the
issue #7680 occur again, you ask? The answer is no, because we now also
have a maximum timeout of `10s` for anonymous connections, after which
they are automatically closed. Thanks to the introduction of this
timeout by @julianbrost in #8479, this `Disconnect()` call has become
superfluous.
2025-01-30 17:45:27 +01:00
Julian Brost
51c6a58657
Merge pull request #9943 from Icinga/renegotiation-openbsd
Disable TLS renegotiation and fix compile error on OpenBSD
2025-01-30 15:50:07 +01:00
Alexander A. Klimov
e1a4390b9c Fix compile error on OpenBSD which has no SSL_OP_NO_RENEGOTIATION 2025-01-29 17:42:10 +01:00
Julian Brost
fe85bf1295
Merge pull request #10318 from Icinga/update-migration-docs
Include Nagios in the migration docs
2025-01-24 13:55:06 +01:00
Yonas Habteab
8f12831a61
Merge pull request #10322 from Icinga/missing-x-for-mail-notification
docs: Document `mail-{host,service}-notification` `-X` option
2025-01-24 13:36:16 +01:00
Yonas Habteab
275753e49b docs: Document mail-{host,service}-notification -X option 2025-01-24 11:33:10 +01:00
Alexander A. Klimov
411c57aac5 API: also log error behind "No data received on new API connection" 2025-01-24 11:28:16 +01:00
Julian Brost
78883669d3
Merge pull request #8169 from Icinga/bugfix/object-query-all-attrs-8167
GET /v1/objects/*: handle "attrs":[] as expected
2025-01-24 09:14:17 +01:00
Blerim Sheqa
2639579374 Include Nagios in the migration docs 2025-01-23 09:27:17 +01:00
Alexander Aleksandrovič Klimov
d55c3644a2
Merge pull request #10312 from Icinga/win-configure-cmake-opts
tools/win32/configure*.ps1: allow custom $CMAKE_ARGS (JSON array)
2025-01-22 10:09:55 +01:00
Alexander A. Klimov
4175a47314 tools/win32/configure*.ps1: allow custom $CMAKE_ARGS (JSON array) 2025-01-21 18:17:05 +01:00
Alexander A. Klimov
e18c923abb GET /v1/objects/*: handle "attrs":[] as expected
... i.e. yield no attrs and not all.

refs #8167
2025-01-21 11:36:55 +01:00
Bruno Lingner
daf36ae362 add _extra_opts argument to plugins that support it 2025-01-20 14:13:28 +01:00
Alexander Aleksandrovič Klimov
866db3ba3c
Merge pull request #10137 from Icinga/win-progfiles-icinga2-var
On Windows, don't create C:\Program Files\Icinga2\var during MSI build
2025-01-16 12:02:33 +01:00
Julian Brost
4ffe88e263
Merge pull request #9732 from Icinga/silence-compiler-warnings-in-code-we-don-t-maintain
Silence compiler warnings in code we don't maintain
2025-01-15 16:33:24 +01:00
Alexander A. Klimov
1c5dfc58ea Always compile with -Wsuggest-override not to forget override
`override` indicates an override of a virtual method and refuses to compile in case of a signature mismatch across the inheritence hierarchy.

This is especially useful when signatures change not to forget anything. Hence, we shall always use `override` whereever applicable.
2025-01-14 15:35:51 +01:00
Alexander Aleksandrovič Klimov
cddb3ca868
Merge pull request #10279 from Icinga/Al2Klimov-patch-3
release.md: don't update doc/21-development.md
2025-01-14 12:53:21 +01:00
Alexander A. Klimov
6195a457a7 Silence compiler warnings in code we don't maintain 2025-01-14 11:48:33 +01:00
Julian Brost
1f047ebbf5
Merge pull request #10058 from Icinga/error-timestamp-out-of-range-53323
Ido*sqlConnection#FieldToEscapedString(): don't write out of range time
2025-01-14 09:43:37 +01:00
Alexander Aleksandrovič Klimov
cd7bf428b0
Merge pull request #10287 from Icinga/Al2Klimov-patch-7
21-development.md: support Windows Server
2025-01-13 18:43:11 +01:00
Julian Brost
55829c4f55
Merge pull request #10077 from RincewindsHat/reject_invalid_perfdata
Reject infinite performance data values
2025-01-13 12:00:12 +01:00
Julian Brost
fb50e4b1f1
Merge pull request #10188 from Icinga/icingadb-heartbeat-both-responsible
IcingaDB Check: Multiple Responsible Instances
2025-01-13 11:56:19 +01:00
Alexander A. Klimov
ab0f20d8d6 21-development.md: support Windows Server
That OS need NetFx3ServerFeatures to be enabled before NetFx3.
2025-01-13 11:29:38 +01:00
Julian Brost
ea789f85ec
Merge pull request #10282 from Icinga/fix-broken-links
Fix and cleanup broken and obsolete links
2025-01-10 14:34:53 +01:00
Lorenz Kästle
e7381193c8
Reject infinite performance data values
Some fault monitoring plugins may return "inf" or "-inf" as
values due to a failure to initialize or other errors.

This patch introduces a check on whether the parse value is infinite
(or negative infinite) and rejects the data point if that is the case.

The reasoning here is: There is no possible way a value of "inf" is ever
a true measuring or even useful. Furthermore, when passed to the
performance data writers, it may be rejected by the backend and lead
to further complications.
2025-01-09 11:46:34 +01:00
Julian Brost
b96dc39ea2
Merge pull request #10210 from Icinga/endpoint-client-dropped-early
JsonRpcConnection: Don't drop client from cache prematurely
2025-01-09 10:29:27 +01:00
Alexander Aleksandrovič Klimov
1065d3bb2d
Merge pull request #10284 from Icinga/Al2Klimov-patch-7
21-development.md: fix indentation
2025-01-08 18:33:13 +01:00
Yonas Habteab
1425641931 Don't endlessly wait on writer coroutine on disconnect 2025-01-08 16:30:36 +01:00
Yonas Habteab
41373ad0e5 Log before & after an RPC client is disconnected 2025-01-08 16:30:36 +01:00
Yonas Habteab
3af7cfe2ec JsonRpcConnection: Don't drop client from cache prematurely
PR #7445 incorrectly assumed that a peer that had already disconnected
and never reconnected was due to the endpoint client being dropped after
a successful socket shutdown. However, the issue at that time was that
there was not a single timeout guards that could cancel the `async_shutdown`
call, petentially blocking indefinetely. Although removing the client from
cache early might have allowed the endpoint to reconnect, it did not
resolve the underlying problem. Now that we have a proper cancellation
timeout, we can wait until the currently used socket is fully closed
before dropping the client from our cache. When our socket termination
works reliably, the `ApiListener` reconnect timer should attempt to
reconnect this endpoint after the next tick. Additionally, we now have
logs both for before and after socket termination, which may help
identify if it is hanging somewhere in between.
2025-01-08 16:30:36 +01:00
Julian Brost
fba56f0e61
Merge pull request #10254 from Icinga/Timeout-Cancel
Timeout: use less resources, clean them up better and make cancellation deterministic
2025-01-08 16:28:54 +01:00
Blerim Sheqa
339ee7b125 Fix and cleanup broken and obsolete links 2025-01-08 13:42:20 +01:00
Alexander Aleksandrovič Klimov
9bc9d14e7e
Merge pull request #10283 from Icinga/itl-check_ssh-remote-pr9923
Update ITL for check_ssh
2025-01-08 12:22:44 +01:00
Alexander Aleksandrovič Klimov
d4b0e08c80
Merge pull request #10281 from Icinga/gha-sles
GHA: also test SLES, not just openSUSE
2025-01-08 12:04:01 +01:00
Alexander Aleksandrovič Klimov
b088d981ff
21-development.md: fix indentation
The last two points need to be children of the second one, but currently GitHub weights them equally.
2025-01-08 11:50:11 +01:00
Peter Eckel
920ba0b2db
Added the --dane option to the command definition ssl_cert (#10196) 2025-01-08 10:47:37 +00:00
MarcusCaepio
a662cb1a6b
Update ITL for check_ssh
Adds parameters for check_ssh (-r and -P) based on
nagios-plugins 2.3.3 / monitoring-plugins 2.3
Fixes #9922
2025-01-08 10:31:25 +01:00
alvar
c5963712fa
Merge pull request #10261 from n-rodriguez/wip/unplugged_nics_state
ITL vmware-esx-soap-host-net{,-nic}: Add missing option "--unplugged_nics_state"
2025-01-08 09:03:33 +00:00