Commit Graph

976 Commits

Author SHA1 Message Date
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
Gunnar Beutner 97fc5bb10b Implement additional attributes for the Host class
refs #7564
2015-02-09 08:50:17 +01:00
Gunnar Beutner e456cfd99c Relax the validator for Notification::users/Notification::user_groups a bit
fixes #8067
2015-02-08 11:03:10 +01:00
Michael Friedrich b23d58dccc Add host/service runtime macro downtime_depth
fixes #8195
2015-02-08 00:15:38 +01:00
Michael Friedrich 34b5a4d9b4 Trigger added downtimes immediately if checkable is Not-OK
fixes #8389
2015-02-08 00:08:12 +01:00
Michael Friedrich db9c55835f Require at least one user for notification objects (user or as member of user_groups)
fixes #8067
2015-02-07 23:04:01 +01:00
Michael Friedrich 9302a6d03c StatusDataWriter: Fix wrong host notification filters
fixes #8387
refs #8192
2015-02-07 22:46:34 +01:00
Michael Friedrich ea2ac81003 Remove name and return value for stats functions
fixes #6171
2015-02-07 22:36:17 +01:00
Michael Friedrich 9ce061a8c4 Fix User::ValidateFilters isn't being used
fixes #8111
2015-02-07 21:57:49 +01:00
Michael Friedrich a1f04992f3 Fix notify flag is ignored in ACKNOWLEDGE_*_PROBLEM commands
fixes #8298
2015-02-07 21:39:19 +01:00
Gunnar Beutner 0605b76e7a Report failed agent checks to the master
fixes #8257
2015-02-05 15:36:17 +01:00
Gunnar Beutner 2d5112c878 Send check result even when accept_commands is not set
fixes #8333
2015-02-05 15:17:56 +01:00
Michael Friedrich 06a262f7db Schedule a host downtime for command SCHEDULE_HOST_SVC_DOWNTIME
fixes #8299
2015-02-04 21:19:47 +01:00
Gunnar Beutner e3dcc8a610 Implement a unit test for nullary lambdas
fixes #7805
2015-02-03 14:02:32 +01:00
Gunnar Beutner c01fb97337 Don't escape macros for the macro() function
refs #7564
2015-01-29 16:52:04 +01:00
Gunnar Beutner 2f44581f14 Validate timeperiod segments
fixes #8309
2015-01-29 14:14:56 +01:00
Gunnar Beutner a3e0c9d898 Add missing mutex for AddNotification/RemoveNotification
fixes #8311
2015-01-29 13:21:22 +01:00
Gunnar Beutner fb323ee215 Evaluate apply filters in the for loop
fixes #7610
2015-01-29 12:38:25 +01:00
Gunnar Beutner dd4a7ab240 Update validators for command arguments
refs #7564
2015-01-29 10:30:02 +01:00
Gunnar Beutner 7b4f1e217a Implement support for functions in set_if
refs #7564
2015-01-29 10:09:53 +01:00
Gunnar Beutner ea3c3e0c3e Fix incorrectly resolved macros
refs #7564
2015-01-28 15:48:08 +01:00
Gunnar Beutner 235c7348f4 Implement accessor functions for hosts, services, etc.
refs #7564
2015-01-28 14:18:27 +01:00
Gunnar Beutner 4ad4c314ae Implement the 'macro' function for dynamic custom vars
refs #7564
2015-01-28 14:14:48 +01:00
Gunnar Beutner fb44744680 Implement support for using functions in custom attributes
refs #7564
2015-01-27 13:40:05 +01:00
Gunnar Beutner 13917e07b0 Implement validator support for function objects
fixes #8291
2015-01-27 10:55:14 +01:00
Gunnar Beutner a11cdbdc39 Replace spaces with tabs 2015-01-27 10:50:15 +01:00
Stephan Platz 2d393eab28 Add macro "check_source" for hosts and services to use them in notification mails
fixes #8277

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-01-25 16:04:36 +01:00
Michael Friedrich 78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner 363f23b1d8 Rename ScriptFunction to Function
fixes #8258
2015-01-21 08:48:38 +01:00
Gunnar Beutner 9a6a84d9d9 Implicitly convert filter values to bool for object rules
fixes #8184
2015-01-12 08:38:14 +01:00
Michael Friedrich 6ae9685cee Fix sending notifications for volatile checks on OK->OK changes
volatile checks make state changes behave like HARD state changes.
Though OK -> OK transitions must not be notified.

Increased log information for notifications too.

fixes #8063
2015-01-08 16:20:44 +01:00
Gunnar Beutner f02c87b14c Fix missing command arguments
fixes #8144
2015-01-08 11:38:09 +01:00
Gunnar Beutner 407f88e185 Fix incorrect week day calculation in LegacyTimePeriod::ParseTimeSpec
fixes #6943
2014-12-20 22:04:24 +01:00
Gunnar Beutner 97168378e8 Rename _DEBUG to I2_DEBUG
fixes #7767
2014-12-19 12:19:28 +01:00
Gunnar Beutner 06052c0539 Fix validation for service names in Notification, Dependency and ScheduledDowntime objects
fixes #8122
2014-12-19 11:44:31 +01:00
Gunnar Beutner 9f18211ada Remove obsolete code
refs #7709
2014-12-18 15:57:30 +01:00
Gunnar Beutner 873e294158 Refactor the WorkQueue class to make error reporting easier
refs #7709
2014-12-18 15:11:57 +01:00
Michael Friedrich a0359799bd Compat: Fix event_handler_enabled dump based on enable_event_handler attribute
fixes #8105
2014-12-18 11:22:15 +01:00
Gunnar Beutner 55b7f00382 Remove unnecessary includes 2014-12-15 10:16:06 +01:00
Gunnar Beutner 343d46bcbe Make sure IcingaApplication::GetVars returns a default value
refs #8074
2014-12-15 06:02:59 +01:00
Gunnar Beutner 1cb0231c05 Refactor how variable scopes work
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner dd4c04aa9b Implement the 'global' keyword to differentiate between variable scopes
refs #8074
2014-12-13 17:48:58 +01:00
Gunnar Beutner 05485ea2d6 Disallow calling strings as functions
fixes #8040
2014-12-12 20:45:11 +01:00
Michael Friedrich d11286e9a5 DB IDO: Update child object reachability if parentchanges to !{OK,UP}
fixes #7683
2014-12-12 16:12:05 +01:00
Gunnar Beutner cfd775c948 Move the VMFrame class to libbase
refs #8065
2014-12-12 15:33:56 +01:00
Gunnar Beutner 0f496c0b55 Fix set_if for non-numeric boolean values
fixes #8049
2014-12-10 16:49:00 +01:00
Gunnar Beutner 2720333d6e Fix missing location information for included files
fixes #7927
2014-12-10 15:06:09 +01:00
Gunnar Beutner be4166b99e Fix incorrect brace placement 2014-12-08 11:43:33 +01:00
Gunnar Beutner ec99efbc28 Implement validator for the check_interval attribute
fixes #7591
2014-12-05 13:00:41 +01:00
Michael Friedrich cc8fe684fe Execute checks locally if command_endpoint == local endpoint
fixes #7863
2014-12-05 11:35:00 +01:00
Gunnar Beutner a5c206cbe2 Fix problem with macro arguments which are not separated by whitespace
fixes #7314
2014-12-01 15:53:23 +01:00
Gunnar Beutner 9dfa3d22d4 Implement support for arrays in command arguments
fixes #6709
2014-11-27 13:24:07 +01:00
Gunnar Beutner fddead5303 Fix some compiler warnings
fixes #7826
2014-11-24 18:25:08 +01:00
Gunnar Beutner f5766f9118 Refactor the stack frame handling for scripts
fixes #7748
2014-11-22 19:24:03 +01:00
Gunnar Beutner 307db672c1 Fix initialization bug for the Notification class
refs #7780
2014-11-22 16:43:39 +01:00
Gunnar Beutner 334e61037a Split DynamicObject::OnConfigLoaded into two separate events
refs #7780
2014-11-21 18:31:37 +01:00
Gunnar Beutner 0078e00c13 Refactor apply/object rules
fixes #7700
2014-11-20 21:29:50 +01:00
Gunnar Beutner 2d53e000c8 Refactor the config validator so that it doesn't require serialized objects
refs #7701
2014-11-20 13:28:21 +01:00
Michael Friedrich f73d69691b Make sure that notified users are stored in state file
refs #7579
2014-11-14 18:11:58 +01:00
Gunnar Beutner 7321e45abc Implement support for executing remote commands
fixes #7559
2014-11-13 14:54:55 +01:00
Gunnar Beutner b3aa2eb0c8 Fix validator for dependency filters
fixes #7650
2014-11-12 09:40:45 +01:00
Gunnar Beutner ec109b04dd Refactor the AST
refs #7622
2014-11-10 12:06:25 +01:00
Michael Friedrich 885e7704a2 Only notify users on recovery who have been notified on not-OK before
Also ensure that type NotificationRecovery always
passes the state filter (missing `OK` is totally fine).

Also fix that notification delays set the correct
next notification time to the begin time window.

fixes #7579
fixes #7623
fixes #6547
2014-11-09 19:47:24 +01:00
Gunnar Beutner 478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner e1c95d4fa0 Improve config compiler's memory usage 2014-11-08 13:21:51 +01:00
Gunnar Beutner ade12dc27a Remove unused attributes 2014-11-07 21:43:00 +01:00
Gunnar Beutner 266b1754c7 Speed up type lookups
refs #7561
2014-11-07 12:39:32 +01:00
Gunnar Beutner 60114d4b5d Fix crash in CompatUtility::GetCheckableCommandArgs
refs #7599
2014-11-07 09:26:44 +01:00
Gunnar Beutner f69f7d61f2 Fix variable scope for object rules 2014-11-06 19:26:44 +01:00
Gunnar Beutner 18d317faf9 Fix crash in ApiEvents::CheckResultAPIHandler
fixes #7577
2014-11-05 09:58:43 +01:00
Michael Friedrich eeb6facdac Livestatus: Add 'cv_is_json' and encode CV arrays/dicts as json
refs #7560
2014-11-04 17:39:28 +01:00
Gunnar Beutner de080e4928 Fix incorrect field name
refs #7566
2014-11-04 15:24:57 +01:00
Gunnar Beutner a6f20c7a22 Implement support for arbitrarily complex indexers
fixes #7566
2014-11-04 15:20:33 +01:00
Gunnar Beutner a1c905bf62 Implement dictionary support for apply+for
fixes #7561
2014-11-04 11:02:10 +01:00
Gunnar Beutner 170c5a59e4 Implement typeof() function 2014-11-03 00:45:14 +01:00
Gunnar Beutner 46b149dd7d Implement support for formatting arrays in macro strings
fixes #7262
2014-11-02 07:35:43 +01:00
Gunnar Beutner 4677014b6d Implement support for arrays in custom variables
fixes #6544
2014-11-02 07:27:50 +01:00
Gunnar Beutner 57747ccdb1 Hosts/services should not have themselves as parents
fixes #7483
2014-10-29 10:47:26 +01:00
Gunnar Beutner 75b599c801 Set host/service variable in apply rules
fixes #7479
2014-10-29 10:09:40 +01:00
Gunnar Beutner 4cb3d5b1f0 Fix "assign where" for nested groups
fixes #7475
2014-10-28 18:58:22 +01:00
Gunnar Beutner 8fdb2835e5 Fix code style 2014-10-28 18:04:51 +01:00
Gunnar Beutner 29ad90a469 Fix performance data for API events
fixes #7473
2014-10-28 15:24:35 +01:00
Gunnar Beutner 2d6c3e8d5b Remove localhost virtual name thingie from apievents.cpp
refs #7467
2014-10-28 14:44:55 +01:00
Gunnar Beutner 0cff9314f9 Remove virtual name feature for agent hosts
fixes #7467
2014-10-28 14:05:17 +01:00
Gunnar Beutner 7559273359 Replace cJSON with YAJL
fixes #7452
2014-10-26 20:00:35 +01:00
Gunnar Beutner 315c84eb4a Fix problems with the serializer when using 'type' as an attribute
fixes #7372
2014-10-25 09:14:56 +02:00
Michael Friedrich e293092bdc CLI: Add basic agent command functionality (add, remove)
Prepare for set, setup, wizard, *list.
Change repository files to .repo, rename .peer to .settings

refs #7248
refs #7255
2014-10-21 13:23:46 +02:00
Gunnar Beutner 9368ff0e03 Update some more log messages 2014-10-20 10:09:57 +02:00
Gunnar Beutner 2d5e9514a5 Refactor logging code 2014-10-19 17:52:17 +02:00
Gunnar Beutner 739cb43289 Rename qstring.{cpp,hpp} to string.{cpp,hpp} 2014-10-19 14:52:07 +02:00
Gunnar Beutner b18f57a745 Remove logger_fwd.hpp 2014-10-19 14:50:39 +02:00
Gunnar Beutner 92896311f3 Implement support for C/C++ comments in the TI compiler
fixes #5018
2014-10-17 19:44:31 +02:00
Gunnar Beutner feeb550654 Rename AExpression to Expression 2014-10-16 17:44:06 +02:00
Gunnar Beutner d7fc37b12e Ignore (most) messages from unauthenticated clients
refs #7244
2014-10-16 13:04:04 +02:00
Gunnar Beutner 14ac7dd974 Replace spaces with tabs 2014-10-13 09:47:05 +02:00
Michael Friedrich 56327f8e35 Dependencies: Fix disable_notifications = true as default setting
fixes #7257
2014-10-11 19:33:03 +02:00
Gunnar Beutner 5962330b27 Improve error messages for apply rules
refs #6070
2014-10-10 11:39:03 +02:00
Gunnar Beutner 321809bea8 Fix null pointer deref in PluginUtility::FormatPerfdata
refs #7268
2014-09-17 16:07:12 +02:00
Gunnar Beutner 879684efcd Fix problems with PNP4Nagios
fixes #7268
2014-09-17 15:38:39 +02:00
Gunnar Beutner d84a3306d5 Make CompatUtility::GetCheckablePercentStateChange return a floating-point number 2014-09-08 09:58:53 +02:00
Gunnar Beutner bf2e3cb091 Don't parse perfdata if enable_perfdata is false
fixes #7032
2014-09-07 12:27:06 +02:00
Jean-Marcel Flach df3da5f1f3 Change log message for checking/sending notifications
fixes #6719
2014-09-03 13:23:19 +02:00
Gunnar Beutner 5e53b771fa Fix invalid exit code
fixes #7058
2014-09-02 13:28:06 +02:00
Gunnar Beutner 6f2ea6bc08 Fix build problems with Oracle Solaris Studio
refs #6896
2014-09-02 13:09:17 +02:00
Gunnar Beutner eb091a87b0 Implement support for unity builds
fixes #7034
fixes #7035
2014-08-30 20:02:12 +02:00
Gunnar Beutner eaea65a366 Make props argument for NameComposer::MakeName constant 2014-08-29 16:46:46 +02:00
Michael Friedrich 094e964660 Log warning message if 'set_if' argument cannot be evaluated properly
fixes #6968
2014-08-27 18:29:08 +02:00
Michael Friedrich 626a68e052 Add cluster api events for modified attributes support
refs #5219
2014-08-26 17:11:19 +02:00
Michael Friedrich aedef8af97 Modify OnVarsChanged event to pass values
refs #5219
2014-08-26 17:11:19 +02:00
Michael Friedrich 31c9406684 Add OnCheckPeriodChanged event
refs #5219
2014-08-26 17:11:19 +02:00
Michael Friedrich 0db1b5095d Add OnMaxCheckAttemptsChanged event
refs #5219
2014-08-26 17:11:19 +02:00
Michael Friedrich 552d0a7d18 Add On{Event,Check}CommandChanged event
refs #5219
2014-08-26 17:11:19 +02:00
Michael Friedrich 3899601744 Add On{Check,Retry}IntervalChanged event
refs #5219
2014-08-26 17:11:19 +02:00
Michael Friedrich d53fced691 Add OnEnableEventHandlerChanged event
refs #5219
2014-08-26 17:11:19 +02:00
Gunnar Beutner 913e35da9e Make sure that child zones accept commands from their parent zone
refs #6964
2014-08-22 13:51:27 +02:00
Michael Friedrich fc401516a8 Fix check results for localhost in HA cluster
fixes #6964
2014-08-22 13:01:06 +02:00
Gunnar Beutner 65bec9e904 Clean up some parts of the code 2014-08-17 17:57:41 +02:00
Gerd von Egidy a4b7984719 Add warning messages when performance data could not be parsed or not be sent to Graphite
refs #6550
2014-08-05 11:23:36 +02:00
Michael Friedrich 7b8dc1d97e Fix non-existing endpoint on ApiListener error
refs #6724
2014-08-04 17:23:41 +02:00
Michael Friedrich 8f2af1ae9a Fix permission problem with cluster messages
fixes #6810
2014-07-31 12:11:43 +02:00
Gunnar Beutner 2d6ed4c9be Make sure that event handlers are run for hard recoveries
fixes #6686
2014-07-22 14:16:22 +02:00
Gunnar Beutner 263f198992 Require command to be an array when the arguments attribute is used
fixes #6698
2014-07-16 13:01:55 +02:00
Gunnar Beutner ec92309349 Don't run event commands when hosts/services are OK
fixes #6686
2014-07-16 11:48:36 +02:00
Jason Young fcdd5d3ea5 Update behavior of "order" attribute for command arguments
fixes #6718

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-07-16 08:43:33 +02:00
Gunnar Beutner 7e83247508 Make "enable_notifications" a config attribute
fixes #6671
2014-07-10 10:59:22 +02:00
Gunnar Beutner f9075a0d0e Change default value for enable_notifications
fixes #6681
2014-07-09 15:23:43 +02:00
Gunnar Beutner a5936d8eab Don't send notifications for users who have enable_notifications = false
fixes #6671
2014-07-09 08:56:16 +02:00
Gunnar Beutner 8d3632caf8 Cache parent and child object for dependencies
fixes #6565
2014-06-24 11:46:53 +02:00
Michael Friedrich 1d048462a2 Use hostname if fqdn is empty for NodeName.
Refs #6393
2014-06-04 11:29:29 +02:00
Michael Friedrich 3ecec31af3 Change log message identifier for libicinga.
Refs #6346
2014-05-28 14:42:00 +02:00
Gunnar Beutner ecb4f9738e Use Utility::GetFQDN for the NodeName variable.
Refs #6312
2014-05-27 12:53:41 +02:00
Michael Friedrich d3171dc8b9 Fix removal of expired ScheduledDowntimes.
Fixes #6321
2014-05-27 09:44:32 +02:00
Michael Friedrich e070db65c8 Fix check statistics are mixing host/service checks.
Fixes #6313
2014-05-26 20:56:59 +02:00
Gunnar Beutner 632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Michael Friedrich 1436575095 Fix incorrect host state change logs.
Fixes #6290
2014-05-25 12:45:29 +02:00
Gunnar Beutner 820b1a340c Improve log messages.
Refs #6070
2014-05-23 19:07:44 +02:00
Gunnar Beutner 215f500b0e Fix compiler warnings.
Refs #5823
2014-05-23 11:05:25 +02:00
Michael Friedrich 1df7518b35 Move more log messages to 'notice' severity.
Refs #6070
2014-05-22 23:47:03 +02:00
Gunnar Beutner 1bc1356fe6 Windows build fix. 2014-05-22 21:32:08 +02:00