Commit Graph

278 Commits

Author SHA1 Message Date
Gunnar Beutner 4595e4ce5f Fixed retention timer interval 2013-03-07 15:19:26 +01:00
Gunnar Beutner fa3f01667f Implemented stacktrace support for Windows. 2013-03-07 15:00:26 +01:00
Gunnar Beutner 5a166f83d7 Move pidfile and command pipe to /var/run/icinga2 rather than /var/run
Fixes #3670
2013-03-07 12:23:43 +01:00
Gunnar Beutner 02be9010e7 Implemented LAST*STATE* macros. 2013-03-07 12:04:20 +01:00
Gunnar Beutner 68bd651195 Improve check latency. 2013-03-07 09:48:00 +01:00
Gunnar Beutner d2a27eb521 Fixed some more compiler warnings. 2013-03-07 09:47:51 +01:00
Gunnar Beutner 659fcf8fa3 Fix cppcheck warnings. 2013-03-06 15:41:13 +01:00
Gunnar Beutner 6f7b553acd Bugfixes for the *:Invalidate*Cache() calls. 2013-03-06 13:01:51 +01:00
Gunnar Beutner 70fa21dfbc Various bugfixes. 2013-03-06 11:04:20 +01:00
Gunnar Beutner be95f3171d Even more code refactoring. 2013-03-04 15:52:42 +01:00
Gunnar Beutner 48485c5f26 More lock refactoring. Yay. 2013-03-02 09:07:47 +01:00
Gunnar Beutner 572a477da3 Refactored object locking code. 2013-03-01 12:07:52 +01:00
Gunnar Beutner 3a99842f90 Implement the PerfdataWriter class. 2013-02-28 11:45:47 +01:00
Gunnar Beutner 5228d7f10b Implemented compat support for users and user groups. 2013-02-28 10:50:20 +01:00
Gunnar Beutner b674d46557 Implemented the LONGDATETIME, SHORTDATETIME, DATE and TIME macros. 2013-02-28 10:27:33 +01:00
Gunnar Beutner 5300bf8473 Added missing object locks in the MacroProcessor class. 2013-02-28 10:27:20 +01:00
Gunnar Beutner ee4c8a5755 Fixed incorrect lock in Notification::BeginExecuteNotificationHelper(). 2013-02-28 10:26:53 +01:00
Gunnar Beutner cb907f4f3b Fix crash in Service::IsReachable(). 2013-02-28 10:26:33 +01:00
Gunnar Beutner e9d32eeada Implemented user groups. 2013-02-27 21:49:03 +01:00
Gunnar Beutner 6bf086dc91 Implemented notification_interval attribute for hosts. 2013-02-27 18:15:01 +01:00
Gunnar Beutner 39b0806778 Fixed reachability calculation for host checks. 2013-02-27 17:20:22 +01:00
Gunnar Beutner a960237139 Fixed recovery notifications (again). 2013-02-27 16:57:06 +01:00
Gunnar Beutner e98fd3e3eb Bug fixes for the new cache code. 2013-02-27 16:04:49 +01:00
Gunnar Beutner d666960fa0 Refactor the cache code... again. 2013-02-27 15:23:25 +01:00
Gunnar Beutner e9648f35bc Make the services/notifications caches thread safe.
Send notifications based on the notification_interval setting.
2013-02-27 12:44:51 +01:00
Gunnar Beutner 3a74316aab Fixed notifications for hard recoveries. 2013-02-27 06:52:13 +01:00
Gunnar Beutner 163f0a9f5c Implemented support for disabling notifications. 2013-02-26 12:37:25 +01:00
Gunnar Beutner f47e1991f2 External commands: Implemented some commands for host checks. 2013-02-26 11:18:03 +01:00
Gunnar Beutner 2189c1639c Fix deadlock in Service::BeginExecuteCheck(). 2013-02-26 10:58:59 +01:00
Gunnar Beutner 35c79a76c1 Make attribute lookups O(1). 2013-02-26 10:13:54 +01:00
Gunnar Beutner 0a0bb967a4 Make sure we don't block on write() while holding locks. 2013-02-24 12:47:24 +01:00
Gunnar Beutner 77affd3ad6 Implemented the User class. 2013-02-24 08:26:10 +01:00
Gunnar Beutner 2ef255b9f6 Fine-grained locks (WIP, Part 9). 2013-02-24 01:10:34 +01:00
Gunnar Beutner 404b1807e6 Removed PCH support (as it's clearly not working properly). 2013-02-22 08:12:43 +01:00
Gunnar Beutner 4306c6c07a Fine-grained locks (WIP, Part 8). 2013-02-21 16:12:50 +01:00
Gunnar Beutner 5e91f6c54d Fine-grained locks (WIP, Part 7). 2013-02-20 19:52:25 +01:00
Gunnar Beutner 997ca3a77a Fine-grained locks (WIP, Part 6). 2013-02-19 23:02:08 +01:00
Gunnar Beutner 1daeb8c010 Fine-grained locks (WIP, Part 5). 2013-02-19 12:17:31 +01:00
Gunnar Beutner ecc95b3dc0 Fine-grained locks (WIP, Part 4). 2013-02-19 07:26:52 +01:00
Gunnar Beutner 3dace35cf1 Fine-grained locks (WIP, Part 3). 2013-02-18 23:44:24 +01:00
Gunnar Beutner a4c7052a6e Fine-grained locks (WIP, Part 2). 2013-02-18 14:40:24 +01:00
Gunnar Beutner c63c28dd9c Fine-grained locks (WIP, Part 1). 2013-02-17 19:14:34 +01:00
Gunnar Beutner 8ca8486d5b Config: Implement here-document strings. 2013-02-16 22:49:13 +01:00
Gunnar Beutner 22913c96bf Redesign how templates are specified for slave services/notifications
Fixes #3706
2013-02-16 09:28:05 +01:00
Gunnar Beutner 4998563a74 Implemented calling ScriptFunctions from Python. 2013-02-15 16:34:33 +01:00
Gunnar Beutner d13017ef60 Removed some more native:: prefixes (oops). 2013-02-15 12:49:14 +01:00
Gunnar Beutner efd108982a Removed the native:: prefix for built-in functions. 2013-02-15 12:41:32 +01:00
Gunnar Beutner 74b122d430 Implemented the 'Script' type. 2013-02-14 14:58:26 +01:00
Gunnar Beutner 40202c455d Rename CommentCache/DowntimeCache to CommentsCache/DowntimesCache
Fixes #3677
2013-02-13 22:44:25 +01:00
Gunnar Beutner 1d807d91bc Implemented dictionary support for commands. 2013-02-13 20:08:09 +01:00
Gunnar Beutner 2118e4b490 Renamed 'alias' property to 'display_name'. 2013-02-13 19:32:44 +01:00
Gunnar Beutner c3dce7893c Removed array support, implemented support for anonymous dictionary items. 2013-02-13 18:43:56 +01:00
Gunnar Beutner c878065a1f Don't load the replication component on standalone instances.
Fixes #3687
2013-02-11 23:37:39 +01:00
Gunnar Beutner c6e8013238 Don't send notifications for services that are unreachable, in a downtime or acknowledged. 2013-02-11 16:39:55 +01:00
Gunnar Beutner 18ed997696 Implemented some more dynamic macros. 2013-02-11 16:29:23 +01:00
Gunnar Beutner 07acb1c553 Bugfix for slave notification objects. 2013-02-11 16:25:32 +01:00
Gunnar Beutner 8ab803aac0 Reschedule service when check interval is changed.
Fixes #3681
2013-02-11 16:11:11 +01:00
Gunnar Beutner 2501ff805a Remove Host::OnInitCompleted and clean up the classes' constructors.
Fixes #3678
2013-02-11 14:01:52 +01:00
Gunnar Beutner 0d1cad864c Fixed soft service recoveries. 2013-02-10 15:07:32 +01:00
Gunnar Beutner 0e7a3c67ec Bugfixes for the Process class. 2013-02-10 12:45:39 +01:00
Gunnar Beutner 7484b4682a Bugfix: Ignore missing macro dicts. 2013-02-10 01:56:26 +01:00
Gunnar Beutner ee37e0cace Implemented environment-based macros. 2013-02-09 23:02:33 +01:00
Gunnar Beutner 962d0e5fb2 Build fix. 2013-02-09 19:24:43 +01:00
Gunnar Beutner abff177ab5 Update VS project filters. 2013-02-09 18:52:21 +01:00
Gunnar Beutner 23e7b7aefc Fixed incorrect type name. 2013-02-09 18:50:22 +01:00
Gunnar Beutner cf92cd83b3 Implement some dynamic macros.
Move check-specific code to service-check.cpp
2013-02-09 18:39:43 +01:00
Gunnar Beutner 84482bb39d Removed alias property, added display_name. 2013-02-09 17:50:47 +01:00
Gunnar Beutner d124e37c91 Implemented status.dat support for notifications. 2013-02-09 17:33:50 +01:00
Gunnar Beutner a649a91cdc Bugfix for triggered downtimes. 2013-02-09 15:22:46 +01:00
Gunnar Beutner c44ad7b06b Implemented notification request messages, notifications dictionary for hosts/services and state-based notifications. 2013-02-09 15:20:10 +01:00
Gunnar Beutner 3e7376576e Implemented rudimentary notifications. 2013-02-09 11:42:22 +01:00
Gunnar Beutner 06999e40e9 Fixed incorrect Service::GetByName call. 2013-02-09 02:16:02 +01:00
Gunnar Beutner 0faffeb873 Bugfix: Incorrect array index in ACKNOWLEDGE_HOST_PROBLEM command. 2013-02-09 02:01:48 +01:00
Gunnar Beutner 3a3d031835 Updated filters for the VS project. 2013-02-09 01:19:08 +01:00
Gunnar Beutner 29b056c848 Remove separate host ack/downtime/comments functionality.
Fixes #3663
2013-02-09 01:16:43 +01:00
Gunnar Beutner 6c23481a55 Bugfix: Local events for changed attributes aren't processed at transaction commit time.
Fixes #3605
2013-02-08 23:40:28 +01:00
Gunnar Beutner f725c6ee7a Copy service and host dependencies into service items. 2013-02-08 21:38:34 +01:00
Gunnar Beutner e443b77a56 Implement dictionary-based host/service name pairs. 2013-02-08 21:30:14 +01:00
Gunnar Beutner 580f2e1fcc Use Host constructor/destructor/OnAttributeChange instead of OnCommitted/OnRemoved for Host->services
Fixes #3612
2013-02-08 21:05:08 +01:00
Gunnar Beutner c637647051 External commands: Removed duplicate argument validation. 2013-02-08 21:03:23 +01:00
Gunnar Beutner 3458b7d9d1 Implement service shortnames.
Refs #3660
2013-02-08 15:38:22 +01:00
Gunnar Beutner 39008eff4e Fixed infinite loop bug in Service::BeginExecuteCheck. 2013-02-08 11:22:42 +01:00
Gunnar Beutner 32d6308a3c Build fix. 2013-02-08 10:31:59 +01:00
Gunnar Beutner 10cc9bb1a3 Bugfix: Don't use check interval offsets for services with a check_interval smaller than 1 second. 2013-02-08 10:29:17 +01:00
Gunnar Beutner 601c7d25d1 Implement sub-second check intervals.
Fixes #3656
2013-02-08 10:17:41 +01:00
Gunnar Beutner 1b4a9a3a21 Redesign dependencies.
Fixes #3646
2013-02-07 20:29:35 +01:00
Gunnar Beutner f64bdc8788 Removed obsolete timeperiod code. 2013-02-06 12:59:56 +01:00
Gunnar Beutner b887f14d96 Use BOOST_THROW_EXCEPTION instead of boost::throw_exception()
Fixes #3636
2013-02-06 12:51:12 +01:00
Gunnar Beutner e047e06fc8 Finish implementing %validator.
Fixes #3634
2013-02-06 12:09:50 +01:00
Gunnar Beutner 580b5e358e Fixed incorrect variable name. 2013-02-06 11:09:52 +01:00
Gunnar Beutner d463bed478 Config: Implement detection of missing required attributes
Fixes #3627
2013-02-06 00:32:05 +01:00
Gunnar Beutner 79efdd89d6 Fixed default path for the icinga2.state file. 2013-02-05 15:39:20 +01:00
Gunnar Beutner 00fb17880c Fixed default paths for icinga2.state and icinga2.pid files. 2013-02-04 09:48:37 +01:00
Gunnar Beutner 745e86de97 Service::CheckCompletedHandler: Convert exceptions to fake check results. 2013-02-03 16:32:31 +01:00
Gunnar Beutner 5774792a23 Implemented --version and made --help output prettier. 2013-02-03 01:21:11 +01:00
Gunnar Beutner dbf762e771 Use boost::program_options to parse arguments.
Fixes #3536
Fixes #3184
2013-02-02 23:22:27 +01:00
Gunnar Beutner f2e17bdd09 Fixed compiler warnings (-Wextra). 2013-02-02 22:13:54 +01:00
Gunnar Beutner f9ea72ddb1 Bugfix: Don't copy the enable_checks attribute to child services. 2013-02-02 20:05:18 +01:00
Gunnar Beutner b74c2c8a68 Removed the old-style validation code. 2013-02-02 20:03:30 +01:00
Gunnar Beutner 5492d6fac3 Bugfix: Unhandled exception in Service::CheckTimerHandler.
Fixes #3607
2013-02-01 19:27:36 +01:00
Gunnar Beutner 7835563e03 Fixed some compiler warnings. 2013-02-01 15:44:03 +01:00
Gunnar Beutner f5a3dc4d84 Config: Warn about unknown attributes. 2013-02-01 14:11:22 +01:00
Gunnar Beutner 070607a1d1 Implement Service::OnCheckResultReceived, rename ServiceStateChangeMessage to CheckResultMessage
Fixes #3597
2013-01-31 16:51:50 +01:00
Gunnar Beutner 15b260d75e Don't use exceptions in CommentProcessor::Get*.
Fixes 3595
2013-01-31 16:23:02 +01:00
Gunnar Beutner 9862ab5324 Implement triggered downtime for services.
Fixes #3583
2013-01-31 13:57:14 +01:00
Gunnar Beutner 7b03c77b66 Bugfix: some legacy_id changes didn't cause the cache to get updated. 2013-01-30 15:24:02 +01:00
Gunnar Beutner 49cc9f5898 Remove expired comments and downtimes. 2013-01-30 14:28:13 +01:00
Gunnar Beutner 4b5d91caad Implement external commands SCHEDULE_HOSTGROUP_SVC_DOWNTIME and SCHEDULE_SERVICEGROUP_HOST_DOWNTIME
Fixes #3582
2013-01-30 13:23:00 +01:00
Gunnar Beutner 3fb8c05a50 Make sure comment/downtime legacy IDs are always unique (even in a cluster context). 2013-01-30 13:02:20 +01:00
Gunnar Beutner 6e119dafee Use UUIDs to uniquely identify comments and downtimes. 2013-01-30 09:59:22 +01:00
Gunnar Beutner d71de9f6cf Updated VS project files. 2013-01-29 16:37:44 +01:00
Gunnar Beutner c7550971fe Implemented comments.
Fixes #3558
2013-01-29 16:29:09 +01:00
Gunnar Beutner 08bb9470b3 Updated VS project files. 2013-01-29 15:47:38 +01:00
Gunnar Beutner e5ee9b9ea9 Renamed ExternalCommand to ExternalCommandProcessor.
Fixes #3579
2013-01-29 15:47:38 +01:00
Gunnar Beutner d753a0c9cd Bugfix: DowntimeProcessor::AddDowntime() should return new downtime ID. 2013-01-29 15:47:38 +01:00
Gunnar Beutner 4643444913 Added missing files. 2013-01-29 15:47:38 +01:00
Gunnar Beutner 8e8e607b2e Implement downtimes.
Fixes #2833
2013-01-29 14:19:54 +01:00
Gunnar Beutner 76f37c1d71 Implement Convert class, move existing type conversion functionality there
Fixes #3580
2013-01-29 12:05:46 +01:00
Gunnar Beutner c563736588 Schedule pending services using the retry interval. 2013-01-28 13:40:05 +01:00
Gunnar Beutner 366b1d1435 Decreased minimum check interval to 5 seconds. 2013-01-28 09:48:20 +01:00
Gunnar Beutner 2e78899347 Implement statistics for passive service checks. 2013-01-28 09:01:47 +01:00
Gunnar Beutner 1bbd9d629e Use check interval (rather than retry interval) when rescheduling passive checks. 2013-01-28 08:31:29 +01:00
Gunnar Beutner a77aa596a8 Reschedule services after receiving passive check results. 2013-01-27 12:13:45 +01:00
Gunnar Beutner dbe1e7cdd5 Fixes host acknowledgement commands. 2013-01-27 12:02:22 +01:00
Gunnar Beutner e10d4f6b8b Bugfix: null derefence in Service::ApplyCheckResult. 2013-01-27 11:49:23 +01:00
Gunnar Beutner ce49e3856b Added missing host attributes. 2013-01-27 11:45:51 +01:00
Gunnar Beutner ae17878596 Implemented host acknowledgements. 2013-01-27 11:35:47 +01:00
Gunnar Beutner 8d8d1d8cd8 Reschedule service dependencies on soft state changes.
Fixes #3574
2013-01-25 16:21:21 +01:00
Gunnar Beutner b79f966b53 Performance improvements for *Group::GetMembers(). 2013-01-25 12:46:49 +01:00
Gunnar Beutner 0449c66afc Build fix for *NIX. 2013-01-24 23:43:34 +01:00
Gunnar Beutner 54ffa0a144 Implement the PROCESS_FILE external command. 2013-01-24 23:42:02 +01:00
Gunnar Beutner 335a0b3067 Implement support for enabling/disabling passive checks. 2013-01-24 23:11:54 +01:00
Gunnar Beutner 3d0a3bb874 Build ExternalCommand class on Windows (even though it's currently unused). 2013-01-24 20:53:42 +01:00
Gunnar Beutner 0d15141c7d Build fix for FreeBSD. 2013-01-24 20:49:55 +01:00
Gunnar Beutner bbbdb41581 Finish implementing ExternalCommand::EnableHostgroupSvcChecks and ExternalCommand::DisableHostgroupSvcChecks
Fixes #3566
2013-01-24 15:12:32 +01:00
Gunnar Beutner b3e7dc32e9 Implement Host::GetServices().
Fixes #3565
2013-01-24 15:10:40 +01:00
Gunnar Beutner a0e7f751cd Added missing *::InvalidateMembersCache() calls. 2013-01-24 15:01:06 +01:00
Gunnar Beutner ab66fbfc88 Implemented the external commands "ENABLE_SERVICEGROUP_SVC_CHECKS", "DISABLE_SERVICEGROUP_SVC_CHECKS" and parts of "ENABLE_HOSTGROUP_SVC_CHECKS", "DISABLE_HOSTGROUP_SVC_CHECKS". 2013-01-24 13:39:42 +01:00
Gunnar Beutner ad5256588d Implemented ServiceGroup::GetMembers() and HostGroup::GetMembers(). 2013-01-24 13:21:35 +01:00
Gunnar Beutner 116e420167 Don't allow acknowledgements for services that are OK. 2013-01-23 16:18:58 +01:00
Gunnar Beutner 495caa664a Fixed ExternalCommand::ScheduleHostSvcChecks(). 2013-01-23 16:07:55 +01:00
Gunnar Beutner e334f126c8 Checker: don't report missed checks after restarting Icinga
Fixes #3253
2013-01-23 15:28:32 +01:00
Gunnar Beutner 1be64b9290 Bugfixes for acknowledgements. 2013-01-23 13:46:35 +01:00
Gunnar Beutner 249b19a69a Implement acknowledgements.
Fixes #3557
2013-01-23 13:21:07 +01:00
Gunnar Beutner bccb7ef615 Implemented the external commands "ENABLE_HOST_SVC_CHECKS" and "DISABLE_HOST_SVC_CHECKS". 2013-01-23 10:51:54 +01:00
Gunnar Beutner e6e0d69e43 Implement the external commands "SCHEDULE_FORCED_HOST_SVC_CHECKS" and "SCHEDULE_HOST_SVC_CHECKS". 2013-01-23 10:47:50 +01:00
Gunnar Beutner a63a1002a8 Implemented external command "SHUTDOWN_PROGRAM". 2013-01-22 16:24:41 +01:00
Gunnar Beutner 71ec1d2b95 Implement enable_checks property for services.
Fixes #3550
2013-01-22 16:01:08 +01:00
Gunnar Beutner f694954512 ExternalCommand: use exceptions instead of return values.
Fixes #3549
2013-01-22 15:13:51 +01:00
Gunnar Beutner 9ed49bd6e1 Implemented the external commands SCHEDULE_SVC_CHECK and SCHEDULE_FORCED_SVC_CHECK. 2013-01-22 12:56:29 +01:00