Michael Friedrich
8ae206cd5d
Improve validation for times.{begin,end} in notification objects
...
fixes #6939
2019-05-07 15:20:06 +02:00
Elias Ohm
44ac6cf1ec
add some object locking to the Dump method (which could theoreticylly suffer from same reace condition as serializer)
2019-05-01 11:49:07 +02:00
Michael Friedrich
37de1a919b
Merge pull request #7088 from Icinga/feature/asio-event-queue
...
Implement new event queue for ASIO consumers
2019-04-25 16:54:43 +02:00
Alexander A. Klimov
90d9cd9257
Feed new event queue with events
2019-04-25 15:56:38 +02:00
Michael Friedrich
a630d0185f
Merge pull request #6722 from Icinga/feature/notification-result
...
Add notification result store/sync
2019-04-25 15:56:14 +02:00
Alexander A. Klimov
5a17722c1f
Replace _unlink() + rename() with boost::filesystem::rename()
...
refs #7101
2019-04-25 09:53:02 +02:00
Michael Friedrich
02db12ae02
Merge pull request #7050 from Icinga/feature/previous-state-change
...
Implement previous_state_change
2019-04-17 13:17:41 +02:00
Michael Friedrich
3665430005
Merge pull request #7112 from Icinga/bugfix/service-handled
...
Include host state in Service#handled and Service#severity
2019-04-17 13:16:23 +02:00
Michael Friedrich
64568f5966
Merge pull request #7121 from Icinga/bugfix/concurrent-checks
...
Fix that MaxConcurrentChecks constant is overridden from 'checker' feature
2019-04-17 13:14:32 +02:00
Michael Friedrich
b906714254
Fix that MaxConcurrentChecks constant is overridden from 'checker' feature
...
Note: This drops the deprecated concurrent_checks setting from the checker feature
entirely and refactors the underlaying code handling.
Also affects ReloadTimeout which is new for 2.11.
fixes #7111
2019-04-16 15:04:57 +02:00
Alexander A. Klimov
d7b63143cf
Drop Checkable#reachable in favor of #last_reachable
2019-04-12 13:03:11 +02:00
Alexander A. Klimov
66949dd018
Service: reduce severity while host is down
2019-04-11 11:36:23 +02:00
Alexander A. Klimov
ae18536b0f
Service: be handled while host is down
2019-04-11 11:25:45 +02:00
Alexander A. Klimov
896d447e11
Add Checkable#problem and #handled
2019-04-09 11:34:59 +02:00
Alexander A. Klimov
d33cfdf3c0
Declare Checkable#IsStateOK() const
2019-04-09 11:26:34 +02:00
Alexander A. Klimov
acf28fb5b0
Expose Checkable#reachable
2019-04-09 11:09:02 +02:00
Michael Friedrich
48b3d25ce2
Fix license headers
2019-03-28 11:47:47 +01:00
Michael Friedrich
566e59bbfa
Make NotificationResult available for events: Cluster and Features
2019-03-28 11:42:28 +01:00
Michael Friedrich
1706b297a5
Implement last_notification_result handling for Notification objects
2019-03-28 10:43:35 +01:00
Michael Friedrich
ac483f2a8a
Add OnNewNotificationResult signal and ProcessNotificationResult handler
2019-03-28 10:42:04 +01:00
Michael Friedrich
9621fd2e4b
Add NotificationResult class
2019-03-28 10:42:04 +01:00
Michael Friedrich
93030709f5
Implement previous_state_change
2019-03-27 11:43:14 +01:00
Michael Friedrich
804c00ece5
Merge pull request #6999 from Icinga/bugfix/compiler-warnings
...
Suppress or fix compiler warnings
2019-03-18 08:44:30 +01:00
Alexander A. Klimov
bf92e32496
Suppress or fix compiler warnings
2019-03-08 14:07:29 +01:00
Michael Friedrich
e2df11520e
Merge pull request #6970 from Icinga/bugfix/perfdata-gaps
...
Improve reload handling for features (metric & queue flush, activation priority)
2019-02-26 15:38:15 +01:00
Michael Friedrich
458f997a18
Replace Copyright header with a short version, part II
2019-02-25 15:09:36 +01:00
Michael Friedrich
d14a88235d
Replace Copyright header with a short version, part I
...
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Michael Friedrich
30d98b49eb
Merge pull request #6896 from Icinga/bugfix/notification-delay-5561
...
Notification#BeginExecuteNotification(): SetNextNotification() correctly
2019-02-22 09:27:59 +01:00
Michael Friedrich
7936a147ba
Activate downtimes before any checkable object
2019-02-20 13:56:15 +01:00
Michael Friedrich
a4f97c1246
Stop the IcingaApplication at the latest point, before any loggers
2019-02-20 13:55:34 +01:00
Michael Friedrich
d1fb1a8eda
Refactor conditions and add debug log messages for future crs and skipped crs
2019-02-08 13:32:13 +01:00
Jean Flach
c97f3c80f5
Fix checkresults from the future breaking checks
2019-02-08 12:08:40 +01:00
Michael Friedrich
7ce30a86b8
Enhance notification logging
...
- More details from the local context (notification, user, checkable, command names)
- Notice logs for when this notification object is paused in HA enabled zones
- Notice logs for interval=0 reminder notifications
- Object name for skipping recovery notifications when problem hasn't been notified before
2019-02-07 15:42:09 +01:00
Michael Friedrich
04de273405
Merge pull request #6914 from Icinga/bugfix/clusterevents-missing-persistent-ack
...
ClusterEvents::AcknowledgementSet event should forward 'persistent' attribute
2019-02-04 13:52:44 +01:00
Michael Friedrich
5a8729fddd
Merge pull request #6853 from Icinga/bugfix/incorrect-command_endpoint-6666
...
Checkable: require zone to be set if command_endpoint is set
2019-02-04 13:51:31 +01:00
Michael Friedrich
eb155495f7
Merge pull request #6916 from Icinga/bugfix/retry-interval-zero
...
Don't allow retry_interval <= 0
2019-01-30 15:28:26 +01:00
Alexander A. Klimov
ce847324bc
Downtime::AddDowntime(): place Downtimes in the same zone as the origin ScheduledDowntimes
2019-01-28 18:29:57 +01:00
Michael Friedrich
8cbd482072
Don't allow retry_interval <= 0
2019-01-28 17:33:05 +01:00
Michael Friedrich
9f2ccfbaa0
ClusterEvents::AcknowledgementSet event should forward 'persistent' attribute
2019-01-28 17:29:46 +01:00
Michael Friedrich
b1442645ce
Merge pull request #6897 from Icinga/bugfix/getlocalzone-null
...
Validate Zone::GetLocalZone() before using
2019-01-25 08:31:57 +01:00
Michael Friedrich
6b7f651478
Merge pull request #6899 from Icinga/bugfix/localtime-zero-windows
...
Log: Ensure not to pass negative values to localtime()
2019-01-24 10:58:43 +01:00
Michael Friedrich
2fc33996b6
Log: Ensure not to pass negative values to localtime()
...
refs #6887
2019-01-16 17:27:38 +01:00
Alexander A. Klimov
b09e7b287e
Validate Zone::GetLocalZone() before using
2019-01-15 19:23:20 +01:00
Alexander A. Klimov
3b2054761a
Notification#BeginExecuteNotification(): SetNextNotification() correctly
...
refs #5561
2019-01-11 18:25:12 +01:00
Alexander A. Klimov
9ae738d17f
Allow Checkable#retry_interval to be 0
...
refs #6871
2019-01-09 11:27:33 +01:00
Alexander A. Klimov
12f3149eef
Checkable: require zone to be set if command_endpoint is set
...
refs #6666
2018-12-20 13:59:28 +01:00
Michael Friedrich
c4d57afa3d
Merge pull request #6821 from Icinga/bugfix/downtimes-disappear-satellite-6542
...
Don't delete downtimes in satellite zones
2018-12-18 16:13:36 +01:00
Michael Friedrich
b40400e79f
Merge pull request #6826 from Icinga/bugfix/downtimes-recreate-satellite-6542
...
Downtime#HasValidConfigOwner(): wait for ScheduledDowntimes
2018-12-18 16:12:34 +01:00
Alexander A. Klimov
c98d6a5254
Downtime#HasValidConfigOwner(): respect Downtime#authoritative_zone
...
refs #6542
2018-12-17 15:54:31 +01:00
Alexander A. Klimov
5431eae116
Add and populate Downtime#authoritative_zone
...
refs #6542
2018-12-17 15:54:23 +01:00
Michael Friedrich
ba8d79f3c5
API Event Streams: Add 'command' for Notification events
...
fixes #6824
2018-12-07 09:37:03 +01:00
Alexander A. Klimov
39e0d787e8
Downtime#HasValidConfigOwner(): wait for ScheduledDowntimes
...
refs #6542
2018-12-06 15:44:57 +01:00
Alexander A. Klimov
bbcf469af1
Implement ScheduledDowntime::AllConfigIsLoaded()
...
refs #6542
2018-12-06 15:44:51 +01:00
Michael Friedrich
0cc559b775
Merge pull request #6820 from Icinga/bugfix/scheduled-downtime-ha-duplicates
...
Only create downtimes from non-paused ScheduledDowntime objects in HA enabled cluster zones
2018-12-05 11:33:29 +01:00
Michael Friedrich
26f411638f
Merge pull request #6757 from Icinga/bugfix/no-more-notifications-recovery-filtered
...
Fix that no_more_notifications gets reset when Recovery notifications are filtered away
2018-12-05 11:05:44 +01:00
Michael Friedrich
fd9b2dece1
Only create downtimes from non-paused ScheduledDowntime objects in HA enabled cluster zones
2018-12-04 15:20:37 +01:00
Michael Friedrich
d082e8c1b1
Fix that no_more_notifications gets reset when Recovery notifications are filtered away
...
Hello from the OSMC hackathon :)
2018-11-08 12:13:32 +01:00
David Lublink
a02b7ac155
* BugFix : Wrong operator on stride variable causing incorrect behaviour ( #6749 )
2018-11-01 18:51:42 -04:00
Michael Friedrich
e480eb785e
Improve error handling for invalid child_options for API downtime actions
...
fixes #6712
2018-10-24 11:00:24 +02:00
Michael Friedrich
c5e7459fb8
Merge pull request #6667 from Icinga/feature/dependency-recursion-limit
...
Increase dependency recursion limit to 256
2018-10-24 10:30:46 +02:00
Michael Friedrich
09fbdb846b
Increase dependency recursion limit to 256
...
fixes #5762
2018-10-24 08:56:29 +02:00
Jean Flach
6777255f60
Fix typo
2018-10-22 14:43:59 +02:00
Michael Friedrich
acd0ad681b
Merge pull request #6704 from efuss/fix/scheduleddowntime1
...
Put newly configured already running ScheduledDowntime immediately in effect
2018-10-19 12:29:51 +02:00
Edgar Fuß
9c1e9f4264
Put running downtimes in effect
...
If Icinga2 was restarted with a newly configured downtime that should
be in effect at the time of restart, the should-be-running segment of
it was not put into effect.
Add new LegacyTimePeriod::FindRunningSegment() and
ScheduledDowntime::FindRunningSegment() functions, call the latter in
ScheduledDowntime::CreateNextDowntime() before trying the old
ScheduledDowntime::FindNextSegment().
2018-10-18 18:42:21 +02:00
Edgar Fuß
f1597ca5bd
Remove spurious string in debug message
...
Remove a spurious " at " in the "Evaluating segment" debug message in ScheduledDowntime::FindNextSegment().
2018-10-18 18:35:14 +02:00
Edgar Fuß
fa3e5c8c31
Remove dead code
...
Remove some dead code in ScheduledDowntime::CreateNextDowntime().
2018-10-18 18:09:20 +02:00
Michael Friedrich
eabea68c56
icinga.com: Update config files (ITL, etc.)
2018-10-18 09:37:59 +02:00
Michael Friedrich
dea5ec614e
icinga.com: Update CMakeLists.txt
2018-10-18 09:35:18 +02:00
Michael Friedrich
44c3b83769
icinga.com: Update '*.ti'
2018-10-18 09:30:00 +02:00
Michael Friedrich
dab53448bc
icinga.com: Update *.{h,c}pp
2018-10-18 09:27:04 +02:00
Michael Friedrich
051b3ba9b7
Merge pull request #6503 from peteeckel/fix/reduce-loglevel-plugin-env-6460
...
Reduce the log level for missing env macros to debug
2018-10-08 14:09:18 +02:00
Michael Friedrich
617925374b
Fix that check_timeout was used for Event/Notification commands too
...
We may add specific timeouts for event/notification commands
later, for now the original timeout inside the EventCommand/NotificationCommand
is used.
fixes #6304
2018-09-28 14:32:57 +02:00
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
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
Thomas Widhalm
de9a097a97
Change loglines for checkables so checkable is quoted
2017-08-23 19:11:46 +02:00
Michael Friedrich
e88b97079c
API: Add execution_{start,end} attribute to 'process-check-result' action
...
fixes #5002
2017-08-21 17:20:56 +02:00
Gunnar Beutner
7ca485f63c
Improve validation for attributes which must not be 'null'
2017-05-30 14:47:28 +02:00
mcktr
9e1016dd4f
Fix missing apostrophe in notification log
...
refs #5294
2017-05-26 17:58:04 +02:00
Michael Friedrich
79dcb789c2
Move PerfdataValue() class into base library
...
This is required for libremote and ApiListener stats in #5133
2017-05-15 16:32:29 +02:00
Michael Friedrich
f282126bb4
Don't allow acknowledgement expire timestamps in the past
...
fixes #5250
2017-05-15 10:23:21 +02:00
Michael Friedrich
0f1aa23575
Add target object in cluster error messages to debug log
...
fixes #4288
2017-05-11 16:10:40 +02:00
Michael Friedrich
8d56f8e951
Fix that host downtimes might be triggered even if their state is Up
...
If the checkresult's state is 1, this is internally mapped to Up.
The added downtime will check for triggers and might cause a wrong
downtime start event.
refs #5202
2017-05-11 15:05:50 +02:00
Gunnar Beutner
d05b7c4178
Allow expressions for the type in object/template declarations
2017-05-11 14:21:30 +02:00
Rune Darrud
273ca6a2cc
Fix persistent comments for Acknowledgements
...
fixes #4818
Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-05-10 17:10:22 +02:00
Gunnar Beutner
4134f7fe42
Make sure modified attributes are applied before calling the objects' Start method
...
refs #4696
2017-05-03 12:02:19 +02:00
Michael Friedrich
dc7980586b
Implement severity attribute for host/service objects
...
refs #5117
2017-04-13 16:09:31 +02:00
Gunnar Beutner
c32badaff5
Add missing base class call for ScheduledDowntime::ValidateRanges()
...
fixes #5146
2017-04-06 11:25:40 +02:00
Gunnar Beutner
50310fb5bc
Add missing arguments
...
refs #5087
2017-03-28 13:24:21 +02:00
Gunnar Beutner
5d45c74be3
Improve function metadata by adding arguments
...
fixes #5087
2017-03-27 14:43:19 +02:00
Gunnar Beutner
95093bae3e
Move log message
...
refs #5094
2017-03-27 11:01:14 +02:00
Gunnar Beutner
a73c1580ca
Don't try to remove comments that were statically configured
...
fixes #5094
2017-03-27 10:46:35 +02:00
Michael Friedrich
60f334df52
Fix notify/sticky parameter handling in 'acknowledge-problem' API action
...
refs #13939
2017-02-23 12:30:28 +01:00
Gunnar Beutner
06c2a4088d
Ensure that only child processes for checks are reniced
...
fixes #4989
2017-02-21 11:31:07 +01:00
Michael Friedrich
d4277b4d70
Require that max_check_attempts is greater than 0
...
fixes #4832
2017-02-07 13:27:27 +01:00
Michael Friedrich
b51a2c1c25
MacroProcessor: Add the argument name for set_if error messages
...
fixes #13345
2017-01-11 12:26:09 +01:00
Michael Friedrich
b7caf0820d
Ensure that *.icinga.com is used everywhere
...
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Gunnar Beutner
56e9a23a65
Don't try to delete Downtime objects that were statically configured
...
fixes #13275
2016-11-22 15:13:43 +01:00
Michael Friedrich
a13e6b3e87
Fix that custom notifications do not reset force_next_notification
...
This attribute is stored in the state file forever as well.
Will cause forced notifications ignoring state/type filters.
fixes #12670
2016-11-17 11:53:35 +01:00
Gunnar Beutner
23e30ccb67
Revert "Implement the 'evaluate-macros' API action"
...
This reverts commit 851135d3a1
.
fixes #13091
2016-11-17 10:39:27 +01:00
Michael Friedrich
35ce166bd2
Fix that recovery notifications are sent if notified for !Problem type before
...
fixes #13205
2016-11-17 10:35:16 +01:00
Michael Friedrich
1bfb91f065
Ensure that DowntimeStart notifications are not immediately sent
...
fixes #12549
2016-11-11 19:36:19 +01:00
Michael Friedrich
e7a6124924
Fix crash in CheckResult cluster handlers
...
fixes #13151
2016-11-11 16:29:51 +01:00
Michael Friedrich
7e0c48643b
Fix Flapping{Start,End} notifications in SOFT states or downtimes
...
fixes #12560
fixes #12892
2016-11-10 14:16:02 +01:00
Gunnar Beutner
06e4b4e9da
Fix crash in Checkable::OnAllConfigLoaded
...
fixes #13103
2016-11-10 13:42:50 +01:00
Gunnar Beutner
851135d3a1
Implement the 'evaluate-macros' API action
...
fixes #13091
2016-11-09 09:13:42 +01:00
Michael Friedrich
09658f6d0e
Add child_options for API action 'schedule-downtime'
...
fixes #10896
fixes #10897
2016-11-02 09:54:48 +01:00
Michael Friedrich
ea1f8727da
Implement GetAllChildren() for dependency resolution
...
refs #10896
refs #10897
2016-11-02 08:55:11 +01:00
Michael Friedrich
86f162af85
Add SCHEDULE_AND_PROPAGATE{,_TRIGGERED}_HOST_DOWNTIME external commands
...
refs #10896
refs #10897
2016-11-02 08:54:32 +01:00
Gunnar Beutner
5fdc874377
Don't generate 'UNKNOWN' results when the endpoint's log is still being resynced
...
fixes #12844
2016-10-24 08:38:58 +02:00
Michael Friedrich
3571965fef
Fix SOFT/HARD state counting logic for check attempts <= 2
...
fixes #12592
2016-09-27 11:30:57 +02:00
Gunnar Beutner
8fd454fbb1
Fix crash in ClusterEvents::SendNotificationsAPIHandler
...
fixes #12718
2016-09-13 22:14:11 +02:00
Gunnar Beutner
efbdce803f
Fix incorrect attribute name on the validator for the Notification class
...
fixes #12633
2016-09-04 17:50:44 +02:00
Michael Friedrich
ae75575874
Remove unused last_in_downtime field
...
fixes #12602
2016-08-31 15:21:26 +02:00
Gunnar Beutner
903db81fe0
Make sure that libmethods is automatically loaded even when not using the ITL
...
fixes #12578
2016-08-28 17:03:08 +02:00
Gunnar Beutner
78cd56e277
Implement support for default templates
...
fixes #12575
2016-08-28 10:27:43 +02:00
Gunnar Beutner
e8b0797ec4
Use 'auto' keyword for iterator declarations (part 2)
...
refs #12561
2016-08-27 19:56:12 +02:00
Gunnar Beutner
8f2477db46
Fix incorrect variable type in the FilterArrayToInt function
...
refs #12509
2016-08-27 12:23:09 +02:00
Gunnar Beutner
6e384f81a0
Remove unused #includes
...
refs #12481
2016-08-27 10:59:52 +02:00
Gunnar Beutner
b5b09216c6
Use lambda functions for INITIALIZE_ONCE
...
fixes #12562
2016-08-27 09:48:36 +02:00
Gunnar Beutner
5058c5d75b
Use 'auto' for iterator declarations
...
fixes #12561
2016-08-27 08:37:19 +02:00
Gunnar Beutner
30762e5330
Set versions for all internal libraries
...
fixes #12552
2016-08-25 17:56:18 +02:00