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
Gunnar Beutner
1ad83886ac
Replace a few more NULLs with nullptr
2017-12-14 15:37:20 +01:00
Gunnar Beutner
42744fde5b
Remove extraneous whitespace
2017-12-14 08:50:09 +01:00
Gunnar Beutner
75def4b074
Merge pull request #5753 from Icinga/fix/ringbuffer-does-not-get-updated-if-nothing-is-written-5750
...
Fix that RingBuffer does not get updated and add metrics about communication between endpoints
2017-12-12 11:32:18 +01:00
Michael Friedrich
da056b052b
Merge pull request #5827 from Icinga/feature/replace-statsfunction-with-function
...
Replace StatsFunction with Function
2017-11-30 21:28:32 +01:00
Michael Friedrich
a238613fdc
Merge pull request #5825 from Icinga/feature/boost-assign
...
Replace boost::assign::list_of with initializer lists
2017-11-30 21:20:46 +01:00
Gunnar Beutner
a344f11e6c
Replace StatsFunction with Function
2017-11-30 19:02:25 +01:00
Gunnar Beutner
83f17b5bfa
Replace boost::assign::list_of with initializer lists
2017-11-30 18:09:38 +01:00
Gunnar Beutner
325e4a2fb9
Use nullptr instead of <Type>::Ptr()
2017-11-30 17:47:09 +01:00
Gunnar Beutner
3c60fbf75d
Use std::vector::emplace_back instead of std::vector::push_back
2017-11-30 17:47:09 +01:00
Gunnar Beutner
59fca5d5ac
Use std::vector instead of std::set where appropriate
2017-11-30 17:47:09 +01:00
Gunnar Beutner
2e87c280ed
Use initializer lists instead of std::vector::push_back
2017-11-30 17:47:09 +01:00
Gunnar Beutner
63fd6e3905
Get rid of INITIALIZE_ONCE for the ExternalCommandProcessor
2017-11-30 17:47:09 +01:00
Gunnar Beutner
9ce950b0f1
Replace boost::ref/boost::cref with std::ref/std::cref
2017-11-30 17:47:09 +01:00
Gunnar Beutner
df8266631d
Replace boost::tuple with std::tuple
2017-11-30 17:41:02 +01:00
Gunnar Beutner
160ab21e59
Replace CheckResult::StaticInitialize with a lambda function
2017-11-30 17:41:02 +01:00
Gunnar Beutner
6739023678
Dynamically create and destroy the timer thread
2017-11-30 17:41:02 +01:00
Gunnar Beutner
d5961bb76c
Re-implement WrapFunction() using C++11 features
2017-11-29 11:53:45 +01:00
Gunnar Beutner
858873b940
Replace boost::bind/boost::function with std::bind/std::function
2017-11-27 15:15:11 +01:00
Jean Flach
27aaa10ee9
Merge pull request #5718 from Icinga/fix/verify-error-codes-and-returned-log-messages-in-api-actions-5550
...
API: Fix http status codes
2017-11-27 14:41:29 +01:00
Noah Hilverling
e31b236cba
API: Fix http status codes
...
fixes #5550
2017-11-27 14:06:38 +01:00
Michael Friedrich
35f0df3fe5
Disable Flapping detection on Windows
2017-11-17 12:59:07 +01:00
Noah Hilverling
2acaccd028
Fix that RingBuffer does not get updated if nothing is written
...
refs #5750
2017-11-13 16:17:59 +01:00
Michael Friedrich
41d54029c8
Fix log messages for flapping
2017-11-08 12:12:27 +01:00
Jean Flach
872d4895f0
Fix flapping endianness and events
...
fixes #5720
2017-11-07 11:13:17 +01:00
Jean Flach
a21ffd6fe4
Fix flapping
...
Re-implement flapping following the 'old way' of just observing the last
20 stage changes.
refs #4982
2017-10-24 15:54:05 +02:00
Michael Friedrich
68cae91378
Remove bottom-up cluster messages
...
refs #4799
2017-09-22 14:04:53 +02:00
Gunnar Beutner
043106242d
Remove API stubs for now
...
refs #5450
2017-09-12 12:52:49 +02:00
Gunnar Beutner
c02742925e
Refactor PkiUtility class
...
refs #5450
2017-09-12 12:52:49 +02:00
Federico Cuello
a6b4bd48e2
Fix parameter order for Acknowledge{,Svc,Host}Problem in API actions/external commands
...
It was preventing email notifications with default settings, as `persistent` defaults to false and therefore `notify` was not set.
Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-09-05 08:50:22 +02:00
Michael Friedrich
261bd93c0b
Implement get_services(host {name,object}) and add host object support for get_service()
...
This includes some debug console examples too which involve advanced
map() and filter examples for better readability.
refs #4912
2017-08-28 19:54:26 +02:00
Michael
ac0fdd7144
Change more loglines for checkables so checkable is quoted
...
refs #5528
2017-08-24 13:35:55 +02:00