13161 Commits

Author SHA1 Message Date
Feu Mourek
28eb04868a Add documentation about Icinga 2 use cases
Added examples about different kind of use cases that will help users get a better picture of Icinga.
2023-02-14 12:37:21 +01:00
Yonas Habteab
ef1d80457a Doc: Enhance notification end time docs 2023-02-14 12:37:08 +01:00
stevie-sy
9c8a400ae9 Update 09-object-types.md (#7953)
* Update 09-object-types.md

Because in this document it is not clear which units are allowed for DB Cleanup, I asked in the Community for it: https://community.icinga.com/t/db-ido-cleanup-possible-units/3854/2. We came to the conclusion that it would help if there is a notice which units are possible/allowed for this. For better finding I wrote  also a link to the language reference.

* Update 09-object-types.md

changed to the proposed "language reference"

* Update 09-object-types.md

Done. Sorry overlooked

* Update 09-object-types.md

accidentally inserted return undone . Hope now fits 😃

* Update 09-object-types.md

Requested Changes don

* Update 09-object-types.md

changed link to duration-literals
2023-02-14 12:36:54 +01:00
RincewindsHat
7b66397dc8 Update sar-perf origin 2023-02-14 12:36:22 +01:00
Alexander A. Klimov
57e0e623a1 Document Notification#times being not aware of downtimes
i.e. that times.* count from HARD state change, not downtime end.
2023-02-14 12:36:05 +01:00
Alexander Aleksandrovič Klimov
0a359cfe1f Fix wrong operator precedence in documentation
<1> => (1 || 0) && 0
0.000000
<2> => 1 || (0 && 0)
1.000000
<3> => 1 || 0 && 0
1.000000
<4> =>
2023-02-14 12:35:15 +01:00
Feu Mourek
2d3b32f592 Change apt-get to apt 2023-02-14 12:34:56 +01:00
Alexander A. Klimov
693e735e1e Recommend to try libjemalloc to speed up reload 2023-02-14 12:34:37 +01:00
RincewindsHat
33b1fc4054 Correct typos in documentation and examples 2023-02-14 12:34:10 +01:00
Julian Brost
9c2adb20f2 Docs: remove duration from schedule-downtime example
The API call does not explicitly specify `fixed` so the default of `true` is used. For a fixed downtime, `duration` is ignored so there is no reason for specifying it and it's just confusing ("why do I have to give start/end *and* a duration which should be the difference between start and end anyways?").
2023-02-14 12:33:53 +01:00
Alexander A. Klimov
ba5301e354 GHA: build Icinga 2 from source
as the package build images aren't public anymore.
2023-02-14 12:14:44 +01:00
Johannes Meyer
b06fe7af4e Run only a single job per workflow matrix at a time
This limits each run of these workflows to a single
active matrix job. This means, for each PR, merge or
release only five jobs run concurrently.
2023-02-14 12:14:44 +01:00
Alexander Aleksandrovič Klimov
074fc292d8 GHA: revert back to ubuntu-latest
as that is 22.04 or later.
2023-02-14 12:14:44 +01:00
Alexander A. Klimov
b02af91420 GHA: let GitHub cancel redundant jobs
This will also cancel not yet finished master builds, but that's not too bad.
2023-02-14 12:14:44 +01:00
Alexander A. Klimov
b7700f189a GHA: drop EOL OSes 2023-02-14 12:14:44 +01:00
Julian Brost
0506089aae GitHub Actions: no longer test builds on Fedora 35
The repositories have been removed so builds are failing anyways.
2023-02-14 12:14:44 +01:00
Alexander A. Klimov
2ba73ff73a GHA: handle changed interface of Icinga/docker-icinga2 2023-02-14 12:14:44 +01:00
Julian Brost
6ef67432ef
Merge pull request #9568 from Icinga/feature/release-2.13.6
Release 2.13.6
v2.13.6
2022-11-07 16:08:33 +01:00
Julian Brost
39117378cd
Merge pull request #9567 from Icinga/bugfix/openssl-1.1.1s-2.13
Windows: update bundled OpenSSL to version 1.1.1s
2022-11-07 13:40:03 +01:00
Julian Brost
d8b2c2db09 Release 2.13.6 2022-11-07 11:40:49 +01:00
Julian Brost
3bb3720465
Merge pull request #9565 from Icinga/targeted-apply-rules-2.13
Separately handle apply rules targetting only specific parent objects
2022-11-04 19:07:43 +01:00
Julian Brost
2916c96bd9 Windows: update bundled OpenSSL to version 1.1.1s 2022-11-04 13:37:29 +01:00
Yonas Habteab
a15bbfe913 Use service short name for evaluating targeted service rules 2022-11-04 12:47:41 +01:00
Yonas Habteab
e29de04687 Avoid evaluating the same filter twice for the same target 2022-11-04 12:47:41 +01:00
Alexander A. Klimov
cc67510063 ApplyRule::RuleMap: reduce complexity, save unnecessary lookups 2022-11-04 12:47:41 +01:00
Alexander A. Klimov
0bf093af14 Targeted apply rules: don't unnecessarily eval filter 2022-11-04 12:47:41 +01:00
Alexander A. Klimov
09d810dbd9 VariableExpression#GetVariable(): return by const ref not to unnecessarily malloc() 2022-11-04 12:47:41 +01:00
Alexander A. Klimov
840bfb6be1 Unify storages of regular/targeted apply rules: std::vector<ApplyRule::Ptr> 2022-11-04 12:47:41 +01:00
Alexander A. Klimov
1935137a8d Separately handle apply rules targetting only specific parent objects
not to unnecessarily run e.g. the filter assign where host.name=="example.com"
for all hosts being not example.com.
2022-11-04 12:47:41 +01:00
Alexander A. Klimov
3d2a6bbfb1 Allow hashmaps of String 2022-11-04 12:47:41 +01:00
Alexander A. Klimov
80ee597b72 Allow intrusive pointers to ApplyRule 2022-11-04 12:47:41 +01:00
Julian Brost
54a448a736
Merge pull request #9559 from Icinga/apply-rules-lookup-213
Lookup apply rules faster by Type*, not String and by map instead of ==/!=
2022-11-04 12:20:28 +01:00
Alexander A. Klimov
cf3e02243e Remove unused ApplyRule#m_TargetType 2022-11-02 11:06:12 +01:00
Alexander A. Klimov
fcedb01d0d Lookup apply rules faster by Type*, not String and by map instead of ==/!=
1. The lookup of apply rules per source type now implies
   no String(const char*) (no malloc()) and just pointer (uint64) comparisions
2. Apply rules are now also grouped by target type via a nested map, that obsoletes
   checking the target type while iterating over all rules per source type
2022-11-02 11:06:12 +01:00
Alexander A. Klimov
7f50955674 ApplyRule::GetTargetTypes(): return by const ref not to malloc() 2022-11-02 11:00:47 +01:00
Julian Brost
cdd531445a
Merge pull request #9558 from Icinga/context-evaluating-apply-rules-for-host-213
Construct string once, not unnecessarily N times
2022-11-02 10:48:57 +01:00
Julian Brost
2e02bb52f8
Merge pull request #9561 from Icinga/match-api-permissions-against-join-relations
Match api permissions against joined relations
2022-11-02 10:46:54 +01:00
Julian Brost
2f22be398b
Merge pull request #9560 from Icinga/handle-on-error-213
ConfigItem: Fix infinite recursion caused by `ignore_on_error`
2022-11-02 10:37:56 +01:00
Julian Brost
59b3ed5154
Merge pull request #9562 from Icinga/boost180
Bump Boost v1.79 -> v1.80
2022-11-02 10:36:59 +01:00
Julian Brost
46dce8a025
Merge pull request #9550 from Icinga/2.13-idb-perf
Backport Icinga DB performance improvements
2022-10-31 13:33:44 +01:00
Alexander A. Klimov
b731bcf511 Bump Boost v1.79 -> v1.80 2022-10-31 13:04:16 +01:00
Yonas Habteab
adc42e101d Evaluate permission filters also on all joined relations 2022-10-31 13:01:12 +01:00
Yonas Habteab
02524f5993 ObjectQueryHandler: Check user permissions on joined relations 2022-10-31 13:01:12 +01:00
Yonas Habteab
21b55cb1ac FilterUtility: Outsource permission matching from CheckPermission() to a separate method 2022-10-31 13:01:12 +01:00
Yonas Habteab
bbca13d788 ConfigItem: Don't add items to the new items vector before committing
This also improves the performance a bit, as we longer have to iterate over the items
and copy them into the new items vector.
2022-10-31 12:55:42 +01:00
Yonas Habteab
2adc0bd042 ConfigItem: Fix infinite recursion caused by ignore_on_error when committing an item
When committing an item with `ignore_on_error` flag set fails, the `Commit()` method only returns `nullptr`
and the current item is not being dropped from `m_Items`. `CommittNewItems()` also doesn't check the return
value of `Commit()` but just continues and tries to commit all items from `m_Items` in recursive call. Since
this corrupt item is never removed from `m_Items`, it ends up in an endless recursion till it finally crashes.
2022-10-31 12:55:42 +01:00
Alexander A. Klimov
17c652d8dd Construct string once, not unnecessarily N times 2022-10-31 12:40:59 +01:00
Yonas Habteab
a4de67d558 RedisConnection: Don't log queries that are going to be discarded 2022-10-26 11:55:10 +02:00
Alexander A. Klimov
de60eb445b Logger: don't render log messages which will be disposed anyway
by caching the total minimum log severity of all loggers in a
"global variable" and whether a message's severity is large enough for any of
the loggers in a per-message no-op flag.
2022-10-26 11:55:10 +02:00
Alexander A. Klimov
865c5b8365 Utility::ValidateUTF8(): move a string instead of copying a vector
less malloc() = more speed

Especially as JsonEncode() validates every single input string.
2022-10-26 11:55:10 +02:00