9017 Commits

Author SHA1 Message Date
Michael Friedrich
b440be9fc8
Merge pull request #5973 from Icinga/feature/api-checkresult-ttl
Add 'ttl' support for check result freshness via REST API
2018-01-15 14:25:15 +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
1d0fd5be11
Merge pull request #5903 from Icinga/fix/cleanup-compatutility
Cleanup CompatUtility class and features
2018-01-15 13:51:07 +01:00
Michael Friedrich
50106057bf Remove obsolete locks in Livestatus; apply style guide to DB IDO 2018-01-15 13:39:34 +01:00
Michael Friedrich
403ab5c357 Eliminate time(NULL) in StatusDataWriter 2018-01-15 13:39:34 +01:00
Michael Friedrich
ef7c80959d More cleanup for compat filters in DB IDO 2018-01-15 13:39:34 +01:00
Michael Friedrich
4da3a50711 Clean up DB IDO events code 2018-01-15 13:39:34 +01:00
Michael Friedrich
636cf62d3a DB IDO: Clean up code and group CompatUtility calls 2018-01-15 13:39:34 +01:00
Michael Friedrich
d672df3f2c DB IDO: Don't send empty columns in queries 2018-01-15 13:39:34 +01:00
Michael Friedrich
e5462ea3d1 DB IDO: Remove check_command_args column
The populated value is not entirely correct, and pulls in lots
of compat code.
2018-01-15 13:39:34 +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
5222f7d058 GelfWriter should write the host notification output
No idea why there was a hardcoded unreachable message inside.
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
Gunnar Beutner
ab1a2bffcd
Merge pull request #5940 from Icinga/fix/chocolatey
Remove deprecated Chocolatey functions
2018-01-15 11:36:54 +01:00
Gunnar Beutner
fc7757ee25
Merge pull request #5888 from Icinga/feature/mariadbclient
FindMySQL: Support mariadbclient implementation
2018-01-15 10:04:22 +01:00
Gunnar Beutner
c7f060d42c
Merge pull request #5972 from cstegm/patch-2
Update 08-advanced-topics.md
2018-01-12 21:37:41 +01:00
Michael Friedrich
dffe86a292
Merge pull request #5974 from Icinga/fix/icingachecktask-buildfix
Fix non-unity builds with the icinga check
2018-01-12 11:39:50 +01:00
Michael Friedrich
6c68ef0955 Fix non-unity builds with the icinga check
refs #5958
2018-01-12 11:04:54 +01:00
cstegm
b72bdfe5af
Update 08-advanced-topics.md
fixed typo
2018-01-11 16:48:40 +01:00
Michael Friedrich
92a279c234
Merge pull request #5971 from Icinga/feature/remove-demo
Remove libdemo and libhello
2018-01-11 13:52:01 +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
Michael Friedrich
01aee7954e
Merge pull request #5969 from Icinga/feature/wq-stats-mutex
Remove the WorkQueue::m_StatsMutex instance variable
2018-01-11 13:38:40 +01:00
Michael Friedrich
de5f2b01c4
Merge pull request #5968 from Icinga/feature/ringbuffer-mutex
Update the RingBuffer class to use a regular mutex instead of ObjectLock
2018-01-11 13:37:35 +01:00
Michael Friedrich
47bc4e6b5c
Merge pull request #5967 from Icinga/feature/lazy-accessors
Avoid accessing attributes for validators where not necessary
2018-01-11 13:36:29 +01:00
Gunnar Beutner
0354f34e5a Remove libdemo and libhello 2018-01-11 13:29:11 +01:00
Gunnar Beutner
a36e847c6c Allocate ConfigItemBuilder objects on the stack 2018-01-11 10:52:26 +01:00
Gunnar Beutner
e8876f3b22 Remove the WorkQueue::m_StatsMutex instance variable 2018-01-11 10:48:19 +01:00