Jordi van Scheijen
bc1dc9c7a7
Fix issue 5022
2018-09-27 07:52:37 +02:00
Michael Friedrich
af1f2e0c55
Only check for Problem types in user filers for Recovery/Acknowledgement notifications
...
refs #6047
2018-09-12 17:09:15 +02:00
Noah Hilverling
834e37d3e2
Still notify on acknowledgement and recovery if user does not get problem notifications at all
...
refs #6047
2018-09-12 14:54:45 +02:00
Noah Hilverling
bfe7d46a68
Only send acknowledgement notification if user received a problem notification
...
refs #6047
2018-09-12 14:54:45 +02:00
Michael Friedrich
19993df380
Fix static initializer priority for namespaces in LTO builds
...
fixes #6575
2018-09-04 16:36:22 +02:00
Gunnar Beutner
17c7131177
Move new downtime constants into the Icinga namespace
2018-08-25 19:35:01 +02:00
Noah Hilverling
01fea22c77
Add child_options to ScheduledDowntime
...
refs #3935
2018-08-24 14:29:39 +02:00
Gunnar Beutner
e678fa1aa5
Refactor Application::*Const()
2018-08-13 15:27:05 +02:00
Gunnar Beutner
10d6f70a85
Move constants and functions into different namespaces
2018-08-13 13:44:31 +02:00
Gunnar Beutner
1a8692d972
Implement support for namespaces
2018-08-13 13:44:31 +02:00
Gunnar Beutner
d9c0b6f806
Refactor REGISTER_SCRIPTFUNCTION_* macros
2018-08-13 13:44:31 +02:00
Michael Friedrich
2ee6dfaf93
Re-add environment to IcingaApplication feature stats
2018-08-10 13:01:53 +02:00
Michael Friedrich
97513965e6
Introduce IcingaApplication#environment
...
Precedence as follows:
- DEnvironment=...
- const Environment = ...
- object IcingaApplication "app" { environment = "..." }
The wrapped script constant handling is required
since we cannot directly link from libremote (SNI handling)
to libicinga where the object resides. Instead we'll
use the Application class helpers for hiding the ScriptGlobal
calls.
2018-08-10 12:49:48 +02:00
Markus Frosch
eb02d9041d
Refactor environment for API connections
...
* Const renamed to `ApiEnvironment`
* Handling moved to ApiListener
* Now a property of ApiListener
2018-08-09 13:19:33 +02:00
Markus Frosch
9fbc40615a
Improve path handling in cmake and daemon
2018-08-07 14:10:26 +02:00
Peter Eckel
b5a7af126d
Fixed indentation
2018-07-29 15:39:02 +02:00
Peter Eckel
f788795415
Reduce the log level for missing env macros to debug
...
refs #6460
2018-07-29 15:17:50 +02:00
Michael Friedrich
3fc3d86fbb
Merge pull request #6386 from Icinga/fix/timeperiods-do-not-clear-after-restart
...
Fix that TimePeriod segments are not cleared on restart
2018-07-26 10:02:46 +02:00
Bas Couwenberg
0891380789
Fix spelling errors.
...
* occured -> occurred
* dosen't -> doesn't
2018-07-21 10:38:09 +02:00
Michael Friedrich
ab9a32d67d
Fix missing next check update causing the scheduler to execute checks too often
...
Regression from #6217 , only in git master.
fixes #6421
2018-07-02 16:17:53 +02:00
Michael Friedrich
601c54e44e
Add more debug logging for check scheduling
2018-07-02 16:17:33 +02:00
Noah Hilverling
ea08c85424
Fix that TimePeriod segments are not cleared on restart
...
refs #6282
2018-06-19 10:30:34 +02:00
Noah Hilverling
233d00d648
Merge pull request #6311 from Reamer/timeperiod_bugfix
...
refs #6282
2018-06-19 10:29:27 +02:00
Jean Flach
0fc5db82dd
Fix ScheduledDowntimes replicating on restart
...
fixes #4272
2018-06-08 10:54:06 +02:00
Noah Hilverling
d8b400dc17
Fix that checks with command_endpoint don't return any check results
...
fixes #6337
2018-05-29 13:51:34 +02:00
Philipp Dallig
8e124e2abe
Do not add the old timeperiod segment, if we cut it in the middle
2018-05-16 12:04:38 +02:00
Michael Friedrich
7f579db9af
Merge pull request #6305 from gunnarbeutner/feature/environment-variable
...
Introduce the 'Environment' variable
2018-05-15 14:04:50 +02:00
Gunnar Beutner
9c1e00eb94
Introduce the 'Environment' variable
2018-05-15 12:02:15 +02:00
Michael Friedrich
2d87b667ab
Execute event commands only on actively checked host/service objects in an HA zone
...
fixes #3431
2018-05-11 12:58:33 +02:00
Michael Friedrich
88d99094bf
Ensure that added group members are unique
...
refs #4732
2018-05-09 17:26:07 +02:00
Michael Friedrich
c7b6488e90
Merge pull request #6217 from Icinga/fix/reschedule-checks
...
Fix check behavior on restart
2018-04-17 20:59:03 +02:00
Michael Friedrich
a8b5d8e64a
Merge pull request #6205 from Icinga/feature/api-verbose-errors
...
API: Unify verbose error messages
2018-04-17 16:40:11 +02:00
fbachmann
3f75ccbe75
fix bug in Downtime::IsInEffect() method that would always return false if the triggering window for a flexible downtime had passed
2018-04-10 20:16:09 +02:00
Jean Flach
1a9c1591c0
Fix check behavior on restart
...
This patch changes the way checkresults are handled during a restart.
1. Check results coming in during a shutdown are ignored.
2. Upon start, checks which should have ran (next_check in the past),
are re-scheduled within the first minute.
This new behavior means there will be no more "Unknown - Terminated"
checkresults during a restart and checks with high check_interval will
be run earlier if they were already scheduled to run. The downside is
that after Icinga2 was down for a while, there will be a lot of checks
within the first minute. Our max concurrent check should take care of
this though.
2018-04-10 15:52:50 +02:00
Michael Friedrich
2c5e142172
Add ApplicationVersion built-in constant
...
refs #5784
2018-04-06 13:41:22 +02:00
Michael Friedrich
c4a6ab0211
Add diagnostic_information as verbose error to config object handlers
2018-04-06 12:26:49 +02:00
Michael Friedrich
313b2a759e
Merge pull request #6016 from Icinga/fix/state-filters-for-custom-notifications
...
Check notification state filters for problems only, not for Custom, etc.
2018-03-19 15:52:37 +01:00
Jean Flach
a71ab1e126
Rename macro RequireNotNull to REQUIRE_NOT_NULL
2018-02-21 13:47:46 +01:00
Noah Hilverling
948333225d
Fix nullptr deref in cluster events
2018-02-21 13:47:46 +01:00
Noah Hilverling
6bebdf8a87
Add marco RequireNotNull
...
This is used to fix a number of possible nullptr dereferences
2018-02-21 13:47:46 +01:00
Jean Flach
d578b742ac
Merge pull request #6026 from Icinga/feature/windows-flapping
...
Fix flapping support for Windows
2018-02-09 15:12:36 +01:00
Michael Friedrich
12471bf259
Allow to pass raw performance data in 'process-check-result' API action
...
This is how data is coming from Icinga Web 2 and still a valid input
type.
fixes #4786
2018-02-06 15:25:55 +01:00
Noah Hilverling
06e381ceea
Add metrics about RemoteCheckQueue to Icinga check, API and logs
...
refs #4841
2018-01-29 16:07:35 +01:00
Noah Hilverling
e28277175b
Implement concurrent checks limit for remote checks
...
fixes #4841
2018-01-29 14:50:14 +01:00
Jean Flach
cc73eed2af
Merge pull request #5992 from Icinga/feature/remove-includes
...
Remove unused includes
2018-01-25 09:13:02 +01:00
Gunnar Beutner
0cc9af6bee
Remove duplicate semicolons
2018-01-24 12:07:52 +01:00
Gunnar Beutner
369af68ac2
Fix flapping support for Windows
2018-01-23 12:52:33 +01:00
Gunnar Beutner
94e6be1a65
Remove unused includes
2018-01-22 09:52:29 +01:00
Michael Friedrich
cc3651ed56
Check notification state filters for problems only, not for Custom, etc.
...
refs #5952
2018-01-19 12:35:07 +01:00
Jean Flach
1da6b2c883
Fix whitespaces in CMakeLists files
...
Uses 2 space indentation as standard
2018-01-19 09:19:40 +01:00
Gunnar Beutner
9d436605f0
Fix compatibility with CMake < 3.1
2018-01-18 15:12:46 +01:00
Gunnar Beutner
2a9dceb367
Use CMake object libraries for our libs
2018-01-17 04:28:21 +01:00
Gunnar Beutner
c2fb9fe226
Use initializer lists for arrays and dictionaries
2018-01-16 12:27:44 +01:00
Michael Friedrich
211a07f49a
Add 'ttl' support for check result freshness via REST API
...
The `process-check-result` action can now optionally set the
`ttl` parameter. This overrules the configured freshness
check (check_interval).
The main idea behind this is to allow the external sender
to specify when the next check result is coming in.
For example, a backup script which should be run every
24h can specify the exact expected next check result.
The addition to the CheckResult class is necessary to
forward the check result throughout the cluster and
calculate the `next_check` value on each node. This
allows us to send in a check result on a satellite,
and the master determines the freshness and possible
notifications/state changes for Icinga Web 2.
2018-01-15 13:54:11 +01:00
Michael Friedrich
9de233630a
Move CompatUtility::GetCheckableInNotificationPeriod() logic into Livestatus feature
2018-01-15 13:39:34 +01:00
Michael Friedrich
7a012c062a
Move CompatUtility::GetHostStateString() logic into DB IDO and CompatLogger features
2018-01-15 13:39:34 +01:00
Michael Friedrich
915d0417c9
Move CompatUtility::GetHostCurrentState() logic into DB IDO and StatusData features
2018-01-15 13:39:34 +01:00
Michael Friedrich
48516560bc
Move the IDO specific compat notification filter logic into the feature
2018-01-15 13:39:34 +01:00
Michael Friedrich
d373b03907
Drop CompatUtility::GetCheckable*Interval() and hardcode their minute representation in compat features
2018-01-15 13:39:34 +01:00
Michael Friedrich
fb76287d39
Clean header includes in CompatUtility class
2018-01-15 13:39:34 +01:00
Michael Friedrich
1473957bc2
Add inventory as comments where the left-over functions are actually used.
2018-01-15 13:39:34 +01:00
Michael Friedrich
e3a899a9ac
Drop CompatUtility::GetCheckableCheckPeriod()
2018-01-15 13:39:34 +01:00
Michael Friedrich
ce8bfdfa5a
Move CompatUtility::GetCheckableInCheckPeriod() into Livestatus feature
2018-01-15 13:39:34 +01:00
Michael Friedrich
15e3524e42
Move notification options wrapper into StatusDataWriter
...
That's the only location which requires the old mapping.
2018-01-15 13:39:34 +01:00
Michael Friedrich
87b99c17b5
Drop CompatUtility::GetCheckResultPerfdata()
2018-01-15 13:39:34 +01:00
Michael Friedrich
906c1accaa
Move more compatibility mappings into DB IDO
2018-01-15 13:39:34 +01:00
Michael Friedrich
2478c4d053
Move ConvertTimestamp functionality into DB IDO
...
This is the only place where the timestamp is split into
sec and usec.
2018-01-15 13:39:34 +01:00
Michael Friedrich
f2fe165ccb
Drop useless CompatUtility::GetCustomAttributeConfig() wrapper
2018-01-15 13:39:34 +01:00
Michael Friedrich
b5f5d167dc
Drop dead CompatUtility::GetCustomAttributeConfig
2018-01-15 13:39:34 +01:00
Michael Friedrich
cbea0c13f5
Drop Freshness wrappers from CompatUtility class
2018-01-15 13:39:34 +01:00
Michael Friedrich
db6ed405e4
Remove more redundant wrappers from CompatUtility class
2018-01-15 13:39:34 +01:00
Michael Friedrich
5466197d29
Drop CompatUtility::*Command helpers
2018-01-15 13:39:34 +01:00
Michael Friedrich
b4af0971af
Drop dead code in Livestatus feature
2018-01-15 13:39:34 +01:00
Michael Friedrich
2d1f772a6e
Replace CompatUtility's enabled wrappers with native implementation getters
...
Many conversions were not necessary, or could be dealt inside the actual
feature. libcompat and liblivestatus can take care about such specifics
on their own, lib_db_ido doesn't need boolean conversion in fields, that
is done inside the db driver.
2018-01-15 13:39:34 +01:00
Michael Friedrich
334f633b0a
Drop CompatUtility::GetCheckableHasBeenChecked() and use Checkable::HasBeenChecked()
2018-01-15 13:39:34 +01:00
Michael Friedrich
3847e37df1
Drop CompatUtility::GetCheckableAcknowledgementType()
...
This already returns an integer.
2018-01-15 13:39:34 +01:00
Michael Friedrich
7bf2e07032
Move CompatUtility::GetCheckableProblemHasBeenAcknowledged() into feature specific dumps
2018-01-15 13:39:34 +01:00
Michael Friedrich
92c565d744
Move CompatUtility::GetCheckableCheckType() into IDO/Livestatus features
...
It is just boolean mapping to numbers, each modules does that in a sort of different way.
DB IDO automatically transforms boolean to numbers.
Livestatus would return JSON which keeps true booleans, but requires a number (just a guess,
there is no spec for this message format).
2018-01-15 13:39:34 +01:00
Michael Friedrich
70af1a3545
Move CompatUtility::GetHostAlias into DB IDO host object method
...
This is the only place where this mapping is used.
2018-01-15 13:39:34 +01:00
Michael Friedrich
36a10cb65d
Merge pull request #5970 from Icinga/feature/stack-allocate-configitembuilder
...
Allocate ConfigItemBuilder objects on the stack
2018-01-11 13:50:23 +01:00
Gunnar Beutner
a36e847c6c
Allocate ConfigItemBuilder objects on the stack
2018-01-11 10:52:26 +01:00
Gunnar Beutner
21254fb610
Avoid accessing attributes for validators where not necessary
2018-01-11 08:20:16 +01:00
Gunnar Beutner
91c256261a
Apply clang-tidy fix 'modernize-use-default-member-init'
2018-01-04 12:24:58 +01:00
Gunnar Beutner
becfa85094
Apply clang-tidy fix 'modernize-use-emplace'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
e3ad0be769
Apply clang-tidy fix 'modernize-use-auto'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
621eed3f13
Apply clang-tidy fix 'modernize-pass-by-value'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
9ca682496c
Apply clang-tidy fix 'modernize-use-override'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
ac155d1dda
Apply clang-tidy fix 'modernize-redundant-void-arg'
2018-01-04 12:24:57 +01:00
Gunnar Beutner
41f0fbfd30
Add the final keyword to methods
2018-01-04 05:45:40 +00:00
Gunnar Beutner
efe99a3e5e
Add the final keyword to classes
2018-01-04 05:20:20 +00:00
Michael Friedrich
cd33b8b508
Merge pull request #5936 from Icinga/feature/source-lists
...
Clean up source lists in the CMakeLists.txt files
2018-01-03 11:59:35 +01:00
Gunnar Beutner
75e2473616
Clean up source lists in the CMakeLists.txt files
2018-01-03 11:47:46 +01:00
Michael Friedrich
0e6f4b1966
Merge pull request #5939 from Icinga/fix/build-fix-wheezy
...
Build fix for Debian wheezy
2018-01-03 11:28:57 +01:00
Gunnar Beutner
abe3f8a959
Build fix for Debian wheezy
2018-01-03 10:32:33 +01:00
Gunnar Beutner
90496b5456
Build libraries as static libraries
2018-01-02 23:29:48 +01:00
Michael Insel
158ae2188e
Change copyright header for 2018
2018-01-02 12:08:55 +01:00
Michael Friedrich
8bdd16bb42
Do not replace colons in plugin output
...
This affects all interfaces which are using the CompatUtility class
format helpers for short and long output.
fixes #4785
2017-12-21 09:49:34 +01:00
Jean Flach
2636e6a77a
Whitespace fix
...
What does this change?
* Remove use of spaces for formatting
These could be found by using `grep -r -l -P '^\t+ +[^*]'
* Removal of training whitespaces
* A few lines longer than 120 chars
2017-12-20 14:53:52 +01:00
Gunnar Beutner
b63caaa756
Workaround for GCC bug 51494
2017-12-20 08:02:17 +01:00
Gunnar Beutner
02dc3a9507
Workaround for GCC bug 61321
2017-12-20 08:02:17 +01:00