Commit Graph

1114 Commits

Author SHA1 Message Date
Michael Friedrich 3bd6848763 Refactor patch for host recovery notifications
refs #10225
2016-03-15 09:47:59 +01:00
Gunnar Beutner a8ee6b2009 Fix crash in ScheduledDowntime::TimerProc
fixes #11352
2016-03-14 08:37:13 +01:00
Michael Friedrich 3e050bd0cd Fix: Volatile transitions from HARD NOT-OK->NOT-OK do not trigger notifications
fixes #11320
2016-03-11 13:19:03 +01:00
Michael Friedrich 7fb8bcd933 Use retry_interval on first OK -> NOT-OK state change
Only valid for active check results. The API actions were
missing that marker similar to the external command processor.

The initial OK -> NOT-OK transition should use the retry_interval
but nothing else.

fixes #11336
2016-03-11 12:00:30 +01:00
Michael Friedrich 5b6a6f86b1 Fix host recovery notifications for warning states
fixes  #10225
2016-03-11 09:29:07 +01:00
Julian Brost 7439633965 Fix max number of args for DEL_DOWNTIME_BY_HOST_NAME
The RegisterCommand call for DEL_DOWNTIME_BY_HOST_NAME was missing the
max args parameter. This prevented the optional service name, start time
and comment arguments to be passed.

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>

fixes #11240
2016-03-05 18:43:02 +01:00
Michael Friedrich ef532f20eb Revert "Fix check scheduling w/ retry_interval"
This reverts commit a51e647cc7.

This patch causes trouble with check results received
1) passively 2) throughout the cluster. A proper patch
for setting the retry_interval on NOT-OK state changes
is required.

refs #11248
refs #11257
refs #11273

(the old issue)
refs #7287
2016-03-05 18:16:49 +01:00
Michael Friedrich b8e3d61820 Revert "Properly set the next check time for active and passive checks"
This reverts commit 2a11b27972.

This patch does not properly work and breaks the check_interval setting
for passive checks. Requires a proper patch.

refs #11248
refs #11257
refs #11273

(the old issue)
refs #7287
2016-03-05 18:15:03 +01:00
Vytenis Darulis 6729679f38 Try to queue all PROCESS_FILE commands instead of exploding the stack
fixes #10426

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-02-24 23:25:22 +01:00
Michael Friedrich 894aaaecb1 Ensure that config files are readable by the daemon
refs #11212
refs #11211
2016-02-24 14:24:08 +01:00
Michael Friedrich 47c5425137 Fix permissions for temporary files
fixes #11212
fixes #11211
2016-02-24 11:00:44 +01:00
Sebastian Chrostek 83845e609e Fix problem notifications while flapping is active
fixes #9969
fixes #9642
2016-02-23 16:27:22 +01:00
Michael Friedrich 4cb5b97e52 Fix unique creation of temp files
fixes #10948
2016-02-23 12:30:59 +01:00
Adam James e04b70856b Fix parsing of YYYY-MM-DD in LegacyTimePeriod::ParseTimeSpec
fixes #11132

Signed-off-by: Jean Flach <jean-marcel.flach@netways.de>
2016-02-10 16:24:36 +01:00
Jean Flach 8dbd84daed Remove unused variable 2016-02-08 16:40:34 +01:00
Jean Flach 964cfcebd3 Make schedule-downtime default fixed
fixes #10923
2016-02-08 16:04:41 +01:00
Gunnar Beutner e224e74994 Make sure the "syncing" attribute is set to false
refs #11083
2016-02-08 13:15:24 +01:00
Gunnar Beutner 6d5014b610 Increase grace period for agent-based checks
refs #11020
2016-02-08 09:46:01 +01:00
Michael Friedrich 7a3848af1e Remove debug output
refs #11014
2016-01-29 14:03:58 +01:00
Michael Friedrich b960850ce3 DB IDO: Only update 'next_check' column when manually scheduling a check
Otherwise the changes from #7287 already take care of setting
the proper next check time from inside ProcessCheckResult().

There is no need to use the generic OnNextCheckChanged signal
but instead we're using a new one, locally just for DB IDO.

fixes #11019
2016-01-22 18:42:15 +01:00
Michael Friedrich 2a11b27972 Properly set the next check time for active and passive checks
fixes #7287
refs #11019
2016-01-22 18:40:14 +01:00
Michael Friedrich 730db0cba1 Fix: Modified attributes do not work for the IcingaApplication object w/ external commands
fixes #10974
2016-01-21 19:07:54 +01:00
Gunnar Beutner 6ca054e618 Ensure that checks are not scheduled for command_endpoint fake hosts
refs #10963
2016-01-21 16:37:52 +01:00
Gunnar Beutner 72c3b6d75b Make sure we're not running command_endpoint-based checks more than once
refs #10963
2016-01-21 10:37:47 +01:00
Michael Friedrich a51e647cc7 Fix check scheduling w/ retry_interval
fixes #7287
2016-01-20 16:29:01 +01:00
Michael Friedrich d9fac2b613 Raise a config error for "Checkable" objects in global zones
fixes #10807
2016-01-14 15:34:38 +01:00
Gunnar Beutner 599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Michael Friedrich 737c574cdf Fix missing num_hosts_pending in /v1/status/CIB
fixes #10736
2015-11-26 20:03:46 +01:00
Michael Friedrich 9289971829 Remove IcingaStatusWriter feature
fixes #10140
2015-11-26 19:30:40 +01:00
Michael Friedrich 6518f78af0 Fix attribute validation for PUT queries
fixes #10601
2015-11-12 10:13:46 +01:00
Gunnar Beutner e3c75faabc Implement support for recursive object locks
fixes #10596
2015-11-11 10:21:30 +01:00
Michael Friedrich f5da37b7df Remove obsolete checks from API actions
refs #10561
2015-11-10 16:13:14 +01:00
Gunnar Beutner 2cc33b7fb3 Don't validate arguments/parameters that aren't strings
refs #10539
2015-11-10 07:59:10 +01:00
Michael Friedrich 1d2606cbfe Add filter targets for remove-{comment,downtime} actions
Drop remove-all-{comments,downtimes}. This is provided
by using host and service filters.

fixes #10561
2015-11-08 14:22:10 +01:00
Michael Friedrich 64c936d387 API Actions: Remove -by-id from actions and require names for comments and downtimes
The documentation is updated as well. Furthermore actions provide
detailed error information in case of an exception.
Includes DB IDO schema updates.

fixes #10512
2015-11-06 17:06:12 +01:00
Gunnar Beutner 09b2b054f5 Don't validate custom attributes that aren't strings
fixes #10539
2015-11-04 19:04:33 +01:00
Michael Friedrich 7589c61b38 Add missing override
refs #10508
refs #10509
2015-11-02 17:36:13 +01:00
Michael Friedrich 43976d3989 Add host.last_state_{up,down} and last_check attribute, hide *_raw attributes
fixes #10508
fixes #10509
2015-11-02 14:10:44 +01:00
Michael Friedrich 439dad5d6a API actions: Check if removal of comments and downtimes was succesful
refs #9080
2015-11-01 16:33:43 +01:00
Gunnar Beutner 15addb4e7c Use the correct zone name for parent_zone when running 'icinga2 node update-config'
fixes #10479
2015-10-29 08:14:55 +01:00
Gunnar Beutner 0013d26425 Build fix for Windows
refs #9777
2015-10-29 08:14:55 +01:00
Gunnar Beutner 050c520b2a Convert Comment/Downtime to config objects
fixes #9777
2015-10-28 17:56:29 +01:00
Jean Flach 2fc042e231 Update API actions and documentation
refs #9080 #9105
2015-10-27 14:15:07 +01:00
Gunnar Beutner dd77863910 Implement Array::ToString and Dictionary::ToString
fixes #10329
2015-10-26 11:05:24 +01:00
Jean Flach be320b2f77 Update API actions
fixes #10180
refs #9080
2015-10-22 11:33:26 +02:00
Gunnar Beutner 4aa0165701 Add getter for endpoint 'connected' attribute
fixes #10394
2015-10-22 10:52:38 +02:00
Gunnar Beutner 3473731034 Remove api.cpp and api.hpp
fixes #10407
2015-10-22 10:26:56 +02:00
Gunnar Beutner fd5d6de52e Improve performance for Livestatus queries
refs #10428
2015-10-22 08:28:40 +02:00
Michael Friedrich 62c3607531 Fix compiler warnings
refs #9078
2015-10-21 15:50:32 +02:00
Michael Friedrich 286538c17e Implement api event streams
Documentation is not yet complete.

refs #9078
2015-10-21 15:34:26 +02:00
Gunnar Beutner d01f09f3ef Hide internal attributes in the API
fixes #10393
2015-10-20 08:25:10 +02:00
Michael Friedrich 6cc4f85c66 Disallow modify attribute for certain object attributes
fixes #9095
2015-10-16 12:44:08 +02:00
Gunnar Beutner e92b7beeb4 Fix parsing performance data labels which contain '='
fixes #10254
2015-10-13 09:38:31 +02:00
Gunnar Beutner 8136cda367 Implement the ignore_on_error keyword
fixes #9960
2015-10-05 12:44:11 +02:00
Michael Friedrich 00712f1902 Use a temporary file for modified-attributes.conf updates
fixes #10238
2015-09-29 18:40:04 +02:00
Michael Friedrich 487ef513cf Remove dead code from old mod attrs in the cluster
refs #9851
2015-09-29 14:24:39 +02:00
Michael Friedrich 1813c0932c Remove dead code from old modified attributes
refs #9851
2015-09-29 14:24:39 +02:00
Gunnar Beutner 0c10d64094 Fix incorrect error messages for apply-for
fixes #10205
2015-09-24 08:30:03 +02:00
Jean-Marcel Flach 4ef9761fee Implement status api handler
Global statistics, features, etc.

fixes #10116
2015-09-23 16:59:07 +02:00
Michael Friedrich 84536da221 Implement global modified attributes for the IcingaApplication class
fixes #9859
2015-09-23 15:02:53 +02:00
Gunnar Beutner 1a6b41787a Implement joins for status queries
fixes #10060
2015-09-22 09:45:23 +02:00
Gunnar Beutner 6fa58a520c Implement config object sync
Adds object version.

refs #9927
2015-09-17 14:20:43 +02:00
Michael Friedrich fcf2f0ef5d Deprecate IcingaStatusWriter feature
fixes #8741
2015-09-14 10:36:06 +02:00
Michael Friedrich 3403765900 Use the command_endpoint name as check_source value if defined
fixes #9218
2015-09-05 15:18:10 +02:00
Michael Friedrich 50cd694142 Fix wrong calculation for host compat state UNREACHABLE
fixes #10058
2015-09-04 13:24:41 +02:00
Michael Friedrich da83bae660 Rename config/modules to config/packages
fixes #9953
2015-09-01 20:09:04 +02:00
Jean Flach f1a1dfb26e Update use of String::Trim()
fixes #9704
2015-08-27 18:06:20 +02:00
Gunnar Beutner 63a1ff77c3 Implement the resolve_arguments function
fixes #10006
2015-08-27 09:02:21 +02:00
Gunnar Beutner 6ef9d3c4db Missing macros in nested macro() calls should not cause the outer macro resolution to fail
fixes #10003
2015-08-27 09:02:21 +02:00
Jean Flach 01ced1549a Implement all actions except modified attributes
refs #9080 #9979
2015-08-26 13:53:17 +02:00
Gunnar Beutner f45f6ccd82 Implement support for tracking dependencies between config objects
refs #9096
2015-08-25 13:54:05 +02:00
Michael Friedrich 981ed591e9 API: Return comment/downtime ids, refactor code
refs #9080
2015-08-21 12:49:51 +02:00
Jean Flach c5fe46a300 Experimental actions without types
refs #9080
2015-08-21 12:48:32 +02:00
Jean Flach afd6af39d5 Implement external commands as api actions
refs #9080
2015-08-21 12:48:32 +02:00
Gunnar Beutner d118b71a2a Fix compiler warnings
fixes #9929
2015-08-18 07:46:04 +02:00
Gunnar Beutner 7fc7cde6a1 Build fix for Windows 2015-08-17 19:36:27 +02:00
Michael Friedrich 0f5287c2b1 Add module attribute for ConfigObject and set its origin
fixes #9852
2015-08-17 16:08:57 +02:00
Gunnar Beutner 071d2f18fb Rename DynamicObject/DynamicType to ConfigObject/ConfigType
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner ce2735f10b Fix validation errors when creating objects with the API
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner e2290d5012 Implement support for unregistering objects
refs #9101
2015-08-15 20:07:11 +02:00
Gunnar Beutner 3d78870339 Implement support for modified attributes in the API
refs #9081
2015-08-15 20:07:11 +02:00
Gunnar Beutner a092c13ace Implement support for persisting modified attributes
fixes #9093
2015-08-15 20:07:10 +02:00
Michael Friedrich d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Jean Flach 60f86d01fe Implement /v1/actions/process-check-result
Requires error handling.

refs #9080
2015-07-31 17:18:49 +02:00
Michael Friedrich 0712a02d1b Add a warning if EventCommand is not found when using command_endpoint
fixes #9773
2015-07-31 16:04:03 +02:00
Michael Friedrich 766e2d73f4 Implement external command DEL_DOWNTIME_BY_HOST_NAME
Required by Classic UI 1.x, this will hopefully reduce
the noise on non-working commands with the old legacy stuff.

fixes #8979
2015-07-31 14:50:17 +02:00
Jean-Marcel Flach 9b6ebbc69b Implement basic actions framework
refs #9080
2015-07-30 17:50:17 +02:00
Gunnar Beutner a97782b3e5 Implement support for limiting output attributes
refs #9077
fixes #9614
2015-07-28 17:12:51 +02:00
Gunnar Beutner 8dedd47b89 Fix incorrect return value for the macro() function
fixes #9584
2015-07-13 08:25:19 +02:00
Michael Friedrich 184f316538 Fix wrong vars changed handler in api events
fixes #9547
2015-07-02 14:51:47 +02:00
Michael Friedrich 8596e2b3dc Add log message for discarded cluster events (e.g. from unauthenticated clients)
fixes #9489
2015-07-02 13:04:38 +02:00
Gunnar Beutner 9238c5af11 Fix incorrect validator for command arguments
fixes #9436
2015-06-18 08:13:40 +02:00
Michael Friedrich bd16651f79 Build fix
refs #9324
2015-06-15 17:24:55 +02:00
Markus Frosch 47c8b5e347 Fix multi line handling for compat check results
When a multi line result is submitted via the command pipe, any multi line
output is escaped to a actual string '\n', because any external command only
can be a single line.

Example:
  [1432735140] PROCESS_SERVICE_CHECK_RESULT;host;service;3;Test1\nTest2|test=1

We need to unescape this values, just like we use to escape multi line output
for IDO and status.dat.

fixes #9324

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-06-15 17:19:28 +02:00
Michael Friedrich baa8fb424f Fix missing custom attributes in backends if name is equal to object attribute
fixes #9222
2015-05-15 15:59:44 +02:00
Michael Friedrich e37cd25ed4 Fix failed assertion in DB IDO
fixes #9121
2015-04-27 11:00:41 +02:00
Michael Friedrich 7af41e93c0 Fix that downtimes are always "fixed" even if scheduled as "flexible"
fixes #9142
2015-04-25 15:06:29 +02:00
Michael Friedrich 83f4ebc0df Fix compiler warnings w/ config validators
fixes #9015
2015-04-20 14:16:19 +02:00
Michael Friedrich 53e6b1a6dd Fix custom attributes with recursive macro function calls
fixes #9073
2015-04-17 17:23:08 +02:00
Michael Friedrich d3a56b6404 Fix acknowledgement with expire time not added as comment expire_time
GetExpireTime() is always set to 0 which will make the comment reflect
wrong information compared to the text.

fixes #9041
2015-04-17 16:44:40 +02:00
Gunnar Beutner f69c0bd5a2 Remove the ScopeCurrent constant
fixes #9044
2015-04-15 08:36:17 +02:00
Michael Friedrich 4f767ab06a Change log level to 'notice' for 'Attempting to send notifications' messages
fixes #9021
2015-04-12 15:11:38 +02:00
Michael Friedrich 37f24592ed Trigger downtimes for NOT-OK states after OnDowntimeAdded()
The fix in #8389 must happen *after* adding the downtime which signals an
insert into the IDO DB.
Once the downtimes have been added to the database, the additional
trigger_time and is_in_effect can be updated accordingly, *if* the
current object is already in a NOT-OK state.

fixes #9016
2015-04-12 14:38:35 +02:00
Gunnar Beutner 10441e9cd7 Fix permissions for agent CheckResult messages
fixes #8821
2015-03-30 13:50:14 +02:00
Gunnar Beutner a5c5569324 Improve timeperiod validation error messages
fixes #8893
2015-03-29 08:13:11 +02:00
Gunnar Beutner a6822fd59a Fix validation errors for time ranges which span the DST transition
fixes #8892
2015-03-29 08:05:01 +02:00
Gunnar Beutner 72a7b08480 Move implementation code from thpp files into separate files
fixes #8890
2015-03-28 11:08:12 +01:00
Gunnar Beutner ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Gunnar Beutner 3adec4576c Fix arrays in command arguments
fixes #8869
2015-03-26 09:29:52 +01:00
Gunnar Beutner d3c0c1e42b Fix incorrect variable values for apply+for
fixes #8851
2015-03-23 15:53:21 +01:00
Gunnar Beutner 151b6bbf00 Fix style violations 2015-03-21 10:04:14 +01:00
Michael Friedrich e1cb543bb5 Fix missing config validator for command arguments 'set_if'
fixes #8724
2015-03-20 16:12:24 +01:00
Gunnar Beutner e8cee8d5e2 Allow using more than one %validator rule for the same type
fixes #8829
2015-03-20 15:49:55 +01:00
Gunnar Beutner e22386e63f Make load order for objects more reliable
fixes #8770
2015-03-19 15:58:38 +01:00
Michael Friedrich 88f16abb3c Use Utility::NaturalJoin for notification filter formatting
refs #8685
2015-03-19 14:08:06 +01:00
Gunnar Beutner 6c96d5bc98 Clean up the start-up process a bit
fixes #8791
2015-03-18 11:14:51 +01:00
Michael Friedrich 3c945914ff Show notification state/type filter names in notice/debug log
fixes #8685
2015-03-12 17:11:24 +01:00
Michael Friedrich 05c237c780 Don't increment check attempt counter on OK->NOT-OK transition
refs #7287

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-03-11 16:33:36 +01:00
Gunnar Beutner 228aafc945 Implement the parse_performance_data function
fixes #8693
2015-03-11 16:29:50 +01:00
Gunnar Beutner e50d3e6e5a Fix validator for dependencies
fixes #8596
2015-03-09 08:04:18 +01:00
Gunnar Beutner 22f3c5082d Add validator for time ranges in ScheduledDowntime objects
fixes #8600
2015-03-09 08:02:12 +01:00
Gunnar Beutner 52102d815d Fix second Deserialize() call in ApiEvents::ExecuteCommandAPIHandler
refs #8117
2015-03-06 01:45:43 +01:00
Gunnar Beutner 139540b570 Make sure we don't evaluate apply rules for fake hosts used in agent checks
fixes #8117
2015-03-05 21:19:04 +01:00
Gunnar Beutner 9181d7ae05 Add missing service name in check results
refs #8257
2015-03-05 20:50:27 +01:00
Gunnar Beutner 1d2b008dcb Fix validator for TimePeriod ranges
fixes #8568
2015-03-03 09:56:38 +01:00
Gunnar Beutner cf37decbef Fix start condition for downtimes
fixes #8560
2015-03-03 09:52:13 +01:00
Jason Young faf6ce1a5f Update PerfdataValue::Parse to ignore invalid warn, crit, min, and max values
... instead of generating exception so that metric values can
still be passed to the graphing backend.
Also update icinga-perfdata tests to reflect these changes.

refs #5043

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-03-02 13:52:41 +01:00
Gunnar Beutner 5968622108 Fix incorrect assignment in PluginUtility::ExecuteCommand
Coverity Bug ID: 1272344
2015-03-02 10:14:15 +01:00
Gunnar Beutner 9548692f00 Fix uninitialized field in the Checkable class
Coverity Bug ID: 1272323
2015-03-02 10:14:14 +01:00
Gunnar Beutner c86b17132c Make sure that the scheduled start time for downtimes isn't ignored
fixes #6959
2015-02-25 15:19:50 +01:00
Gunnar Beutner acd5d55f64 Fix null pointer dereference in ApiEvents::RepositoryTimerHandler
fixes #8535
2015-02-25 14:00:00 +01:00
Gunnar Beutner 4da3b1c5b3 Make sure that Notification objects are activated after Host/Service objects
fixes #8517
2015-02-25 12:43:38 +01:00
Gunnar Beutner 551cb6ae87 Don't convert loop variables to string when using apply-for
fixes #8519
2015-02-24 17:51:16 +01:00
Gunnar Beutner a104dcf773 Add validator for the 'ignore_soft_states' attribute
refs #7326
2015-02-23 14:29:17 +01:00
Gunnar Beutner b5dbc66b22 Implement the 'is_inside' attribute for the TimePeriod type
refs #8467
2015-02-23 14:08:06 +01:00
Gunnar Beutner 47479ac4de Implement the 'get_time_period' function
refs #8467
2015-02-23 13:56:53 +01:00
Michael Friedrich aac53c1dd1 Add 'ignore_soft_states' attribute to Dependency objects
fixes #7326
2015-02-23 10:13:20 +01:00
Gunnar Beutner a76f816623 Implement the 'continue' and 'break' keywords
fixes #8394
2015-02-19 12:57:52 +01:00
Gunnar Beutner f097e48889 Don't use separate threads for each ApiClient object
fixes #6109
2015-02-14 16:34:36 +01:00
Michael Friedrich 2ed78e82a8 Validate configured TimePeriod ranges
Requires re-throwing the hidden exceptions inside the existing
timeperiod code and validating the configured time range
strings then.

fixes #7576
2015-02-13 17:10:58 +01:00
Michael Friedrich 2cab6fbb9d Make the argments for the stats functions const-ref
fixes #8433
2015-02-13 11:29:15 +01:00
James Pharaoh 9fe52d0dc1 Make checks using 'command_endpoint' work inside HA zones
Previously there was no local processing of the executed
check result, which is mandatory inside a HA cluster.

Additionally this patch splits the command execution and
check result processing into more logical parts, executing
local checks, checks on the same command endpoint, and
remote checks.

More details in the referenced issue.

fixes #8249

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-02-12 17:53:50 +01:00
Michael Friedrich 2ae06b7a52 Implement {EN,DIS}ABLE_HOST_SVC_NOTIFICATIONS commands
fixes #7784
2015-02-11 16:45:52 +01:00
Michael Friedrich 24852e05c7 Move ValidateMacroString into the MacroProcessor class
refs #7311
2015-02-11 16:14:59 +01:00
Michael Friedrich 0d18b96c39 Resolve macros in dictionary values
refs #7311
2015-02-11 15:58:59 +01:00
Gunnar Beutner cb6f1043e1 Replace if( with if ( 2015-02-11 15:47:45 +01:00
Michael Friedrich 8ca57cba03 Add macro config validator for command args, env, custom attr, perfdata templates
fixes #7311
2015-02-11 15:32:10 +01:00
Gunnar Beutner 2de89fe8d4 Allow funcs in the 'env' dictionary
refs #7564
2015-02-10 10:59:08 +01:00
Gunnar Beutner 9de7da4d2a Update validators for CustomVarObject
fixes #7542
2015-02-10 08:53:15 +01:00
Gunnar Beutner 96aa503dbe Disable flapping detection by default
fixes #6868
2015-02-09 14:23:09 +01:00