13836 Commits

Author SHA1 Message Date
Alexander Aleksandrovič Klimov
1bdfc6fb89
Merge pull request #9749 from Icinga/Al2Klimov-patch-7
ITL: check_disk: ignore more fuse* filesystems
2024-05-22 10:33:55 +02:00
Yonas Habteab
3d64240ee3
Merge pull request #10066 from Icinga/Checkable-RemoveAllDowntimes
Remove unused Checkable#RemoveAllDowntimes()
2024-05-21 17:13:16 +02:00
Alexander Aleksandrovič Klimov
252b075d0f
Merge pull request #10064 from Icinga/rpm--import
Don't rpm --import https://packages.icinga.com/icinga.key
2024-05-21 14:35:41 +02:00
Alexander A. Klimov
e2bdb8a2f1 Remove unused Checkable#RemoveAllDowntimes() 2024-05-21 14:28:39 +02:00
Alexander A. Klimov
d68b328c9e Don't rpm --import https://packages.icinga.com/icinga.key
just like on packages.icinga.com and for the same security reasons we don't
use apt-key add anymore for: https://blog.cloudflare.com/dont-use-apt-key

Our repos already reference https://packages.icinga.com/icinga.key
and both RPM distro families properly handle that.
2024-05-16 13:13:13 +02:00
Alexander A. Klimov
f9adf18111 IcingaDB#SerializeState(): limit execution_time and latency to 2^32-1
not to write higher values into Redis than the Icinga DB schema can hold.
This fixes yet another potential Go daemon crash.
2024-05-15 12:55:41 +02:00
Robert Scheck
90d08faa9c Strip '\r' in notification messages to avoid 'Content-Type: application/octet-stream'
Without this patch, an accidential `\r` in e.g. `$NOTIFICATIONCOMMENT`
leads to a `Content-Type: application/octet-stream` header in e-mails.
The accidential `\r` might slip in usually using Icinga/Nagios apps...
2024-05-15 11:14:49 +02:00
Pavel Motyrev
397d36f52a
Update 06-distributed-monitoring.md
fix typo
2024-05-13 18:11:15 +07:00
Yonas Habteab
da2b592b77
Merge pull request #9960 from Icinga/doc-02-installation-root-session
Document root user usage in installation
2024-05-08 12:48:38 +02:00
Alvar Penning
a219436708
check_systemd: Fix executable name by dropping .py
The executable name for check_systemd's dropped the `.py` suffix for
version 2.0.3[0], released in April 2019[1]. However, the old name is
still being referenced, both in documentation as well as in the ITL's
CheckCommand's command, making it unusable.

Closes #9547.

[0]: https://github.com/Josef-Friedrich/check_systemd/compare/v2.0.2...v2.0.3#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7
[1]: https://github.com/Josef-Friedrich/check_systemd/releases/tag/v2.0.3
2024-05-08 10:53:11 +02:00
Alvar Penning
f03c48c31e
Document root user usage in installation
The installation documentation currently implies that all commands are
being prompted by the root user or an user with root-like privileges.
This is now explicitly stated and, additionally, another if-guard was
added to not include the "Add Icinga Package Repository" section for
Windows, as it does not fit there.

Closes #9959.
2024-05-08 10:51:33 +02:00
Alexander Aleksandrovič Klimov
08eaf71994
Merge pull request #9941 from Icinga/Al2Klimov-patch-11
release.md: Merge docker-icinga2 dependency updates
2024-05-07 18:04:57 +02:00
Yonas Habteab
92e3c8d6b6
Merge pull request #10050 from Icinga/drop-last-in-downtime-from-docs
docs: Drop `last_in_downtime` attrs
2024-05-06 12:57:15 +02:00
Alexander Aleksandrovič Klimov
8c2eb3c1ed
Merge pull request #10049 from Icinga/AddDowntime-trigger_name
Downtime::AddDowntime(): NULL-check pointer before deref not to crash
2024-05-06 10:26:26 +02:00
Yonas Habteab
a12e49cbe4 docs: Drop last_in_downtime attrs 2024-04-26 11:37:56 +02:00
Alexander Aleksandrovič Klimov
d8f8d64f1a
Merge pull request #10027 from macdems/master
Fix missing values in PerfData normalization
2024-04-25 19:38:21 +02:00
Maciej Dems
2bb5cc62e2 Fix missing values in PerfData normalization 2024-04-25 17:41:12 +02:00
Maciej Dems
91789b2888 Correct tests checks for icinga_perfdata 2024-04-25 17:41:12 +02:00
Alexander A. Klimov
5f80ac17aa l_LegacyDowntimesCache: delete removed objects not to leak memory 2024-04-25 12:13:52 +02:00
Alexander A. Klimov
c0f87dd4c9 /v1/actions/schedule-downtime: reject request on invalid trigger_name
For this purpose lookup the specified Downtime. Also pass Downtime objects,
not just names, to Downtime::AddDowntime() not to lookup it twice.
2024-04-25 12:13:52 +02:00
Alexander A. Klimov
f0b5239a15 [Refactor] Downtime::GetDowntimeIDFromLegacyID(): return the Downtime itself
not just its name.
2024-04-25 12:13:52 +02:00
Alexander A. Klimov
28b0f7a48c [Refactor] l_LegacyDowntimesCache: store Downtime objects, not just their names
to avoid names of vanished objects.
2024-04-24 12:33:56 +02:00
Alexander Aleksandrovič Klimov
62512bbe2d
Merge pull request #10021 from Icinga/output-exit-code-52294
Mention plugin exit codes outside [0..3] in the plugin output and warning log
2024-04-23 19:46:05 +02:00
Alexander A. Klimov
bb13e98ca5 PluginCheckTask::ProcessFinishedHandler(): warn about exit codes outside 0..3
in the plugin output as well, in addition to the warning log.
2024-04-23 17:45:31 +02:00
Alexander A. Klimov
e33befabfb Make ProcessResult#ExitStatus and CheckResult#exit_status 64-bit ints
so that they can hold Windows exit codes like 3221225477 (>2147483647).
2024-04-23 17:45:31 +02:00
Alexander Aleksandrovič Klimov
cb945feb19
Merge pull request #10041 from Icinga/Al2Klimov-patch-15
GHA: add upcoming Fedora 40
2024-04-19 16:45:01 +02:00
Alexander Aleksandrovič Klimov
b85fab03bd
Merge pull request #10040 from Icinga/Al2Klimov-patch-14
GHA: add upcoming Ubuntu 24.04
2024-04-19 16:44:45 +02:00
Alexander Aleksandrovič Klimov
4026b5b254
GHA: Docker: don't run on support/* branches
PRs to them are already covered and we don't need support* image tags.
2024-04-19 11:50:13 +02:00
Alexander Aleksandrovič Klimov
7aaaa0b9b4
Merge pull request #7928 from Icinga/bugfix/opentsdb-custom-tag-empty-string-7724
OpenTsdbWriter#CheckResultHandler(): skip custom tags with empty values
2024-04-18 13:32:14 +02:00
Alexander A. Klimov
5c17465a19 OpenTsdbWriter#CheckResultHandler(): skip custom tags with empty values
refs #7724
2024-04-18 11:36:21 +02:00
Yonas Habteab
876a327772
Merge pull request #10043 from Icinga/Al2Klimov-patch-13
GHA: drop Debian 10
2024-04-16 18:02:13 +02:00
Alexander Aleksandrovič Klimov
4fbc276759
GHA: drop Debian 10
which will be EOL in 2.5 months.
2024-04-16 16:09:06 +02:00
Alexander Aleksandrovič Klimov
1010f0bde6
GHA: add upcoming Fedora 40 2024-04-16 10:38:27 +02:00
Alexander Aleksandrovič Klimov
d2543e9715
GHA: add upcoming Ubuntu 24.04 2024-04-16 10:38:17 +02:00
Alexander Aleksandrovič Klimov
a4c2b7820c
Merge pull request #10037 from Icinga/Al2Klimov-patch-13
CMakeLists.txt: set(CPACK_WIX_INSTALL_SCOPE NONE)
2024-04-16 10:37:47 +02:00
Alexander Aleksandrovič Klimov
ba0c712a8d
CMakeLists.txt: set(CPACK_WIX_INSTALL_SCOPE NONE)
to stick to CMake pre-v3.29 behavior. CMake v3.29 introduces CPACK_WIX_INSTALL_SCOPE. Its default conflicts with the ALLUSERS property in our icinga-installer/icinga2.wixpatch.cmake.
2024-04-04 17:53:42 +02:00
Alexander A. Klimov
d86e2556b4 ITL: check_disk: ignore more fuse* filesystems
not to run into permission denials.
Also, ignore fuse.* for the case check_disk already supports it:
https://github.com/monitoring-plugins/monitoring-plugins/pull/1904
2024-04-03 13:02:25 +02:00
Julian Brost
9e31b8b559
Merge pull request #9953 from Josef-Friedrich/patch-1
Fix typo in 12-icinga2-api.md
2024-03-11 15:10:44 +01:00
Josef Friedrich
e9a937c604 Add Josef Friedrich <josef@friedrich.rocks> to AUTHORS 2024-03-11 13:10:58 +01:00
Josef Friedrich
a282df1b96 Fix typo in 12-icinga2-api.md 2024-03-11 13:10:58 +01:00
Julian Brost
31be43ff6c
Merge pull request #10018 from Icinga/revert-9980-config-sync-conflicts
Revert "Process `config::update/delete` cluster events gracefully"
2024-03-08 16:58:28 +01:00
Julian Brost
af97431bfb
Merge pull request #10006 from Icinga/http-error-handling
HttpServerConnection: use exceptions for error handling
2024-03-08 15:06:51 +01:00
Julian Brost
06bf843a95
Merge pull request #9967 from nicolasberens/bugfix/doc_typos
Fix typo in API Doc example
2024-03-08 14:25:53 +01:00
Alexander A. Klimov
df6c2c0da1 AUTHORS: add Nicolas Berens <nicolas.berens@planet.com> 2024-03-08 11:28:08 +01:00
Yonas Habteab
a924a49cd8
Revert "Process config::update/delete cluster events gracefully" 2024-03-07 17:17:17 +01:00
Julian Brost
097ba00a9c
Merge pull request #10008 from Icinga/Al2Klimov-patch-12
Don't unnecessarily shuffle items before config validation
2024-03-07 16:44:38 +01:00
Alexander Aleksandrovič Klimov
d551eaea27
Merge pull request #10009 from Icinga/Al2Klimov-patch-13
OpenTsdbWriter#CheckResultHandler(): clarify log messages
2024-02-22 12:31:09 +01:00
Alexander Aleksandrovič Klimov
629038344b
OpenTsdbWriter#CheckResultHandler(): clarify log messages
Clarify which "host or service" an "Unable to resolve macro" debug log message refers to.
2024-02-22 10:34:35 +01:00
Julian Brost
abea2f270c
Merge pull request #9997 from Icinga/ListenerCoroutineProc-remote_endpoint
ApiListener#ListenerCoroutineProc(): get remote endpoint ASAP for logging
2024-02-20 13:46:02 +01:00
Alexander Aleksandrovič Klimov
51cdd593da
Don't unnecessarily shuffle items before config validation
Before ae693cb7e1df1b885142854cf8a0f8a7600a3fb7 (#9577) we've repeatedly looped over all items in parallel like this:

while not types.done:
  for t in types:
    if not t.done and t.dependencies.done:
      with parallel(all_items, CONCURRENCY) as some_items:
        for i in some_items:
          if i.type is t:
            i.commit()

I.e. all items got distributed over CONCURRENCY threads, but not always equally. E.g. it was the hosts' turn, but only two threads got hosts and did all the work. The others didn't do actual work (due to the lack of hosts in their queue) which reduced the performance. c721c302cd9c96bee25a20b3862dad347345648a (#6581) fixed it by shuffling all_items first. ae693cb7e1df1b885142854cf8a0f8a7600a3fb7 (#9577) made the latter unnecessary by replacing the above algorithm with this:

while not types.done:
  for t in types:
    if not t.done and t.dependencies.done:
      with parallel(all_items[t], CONCURRENCY) as some_items:
        for i in some_items:
          if i.type is t:
            i.commit()

I.e. parallel() gets only items of type t, so all threads get e.g. hosts.
2024-02-19 14:26:06 +01:00