Commit Graph

276 Commits

Author SHA1 Message Date
Gunnar Beutner 788104980c Implement cluster events for downtimes. 2013-08-28 16:08:22 +02:00
Gunnar Beutner f49bb3d150 Refactor JSON-RPC library and implement check-result messages. 2013-08-27 12:21:41 +02:00
Gunnar Beutner e9e55cd8c0 Remove the replication feature and clean up the code. 2013-08-26 14:56:38 +02:00
Michael Friedrich 074f7cd389 Compat: fix servicedependency (parent service description) 2013-08-05 17:01:40 +02:00
Gunnar Beutner 73beb278cf compat: Fix timestamps. 2013-07-25 09:45:40 +02:00
Gunnar Beutner 42cf9ea8d6 Move some of the compat functionality to the CompatUtility class. 2013-07-23 09:12:38 +02:00
Michael Friedrich f42f4fbdb2 compat: add last_time_* for status.dat 2013-07-18 18:28:43 +02:00
Michael Friedrich b4dd18481b compat: add current_notification_number 2013-07-18 17:23:48 +02:00
Michael Friedrich 917f7d363b compat: add next_notification to status.dat 2013-07-16 16:51:02 +02:00
Gunnar Beutner ed28ae1b3f compat: Make sure host is not null. 2013-07-16 10:18:03 +02:00
Michael Friedrich 36e9e9adbd custom attr: move into DynamicObject using GetCustom() 2013-07-12 15:13:05 +02:00
Gunnar Beutner 4961523e91 Add DECLARE_PTR_TYPEDEFS macro for Ptr/WeakPtr typedefs. 2013-07-09 08:43:52 +02:00
Gunnar Beutner 8e880a3f39 Fix include directory for ltdl.h. 2013-07-02 16:56:01 +02:00
Michael Friedrich 43793a1884 compatlog: fix boost algorithm include 2013-07-02 13:38:06 +02:00
Gunnar Beutner 1179d37fa0 compat: Refactor check_command/event_handler code. 2013-07-02 10:24:27 +02:00
Gunnar Beutner bf58700c10 compat: Make sure commands have unique names. 2013-07-02 09:35:03 +02:00
Gunnar Beutner 049fbcb3cb compat: Escape new-lines in commands. 2013-07-02 09:16:06 +02:00
Gunnar Beutner eb95e9a718 Make sure the CGIs don't croak on our objects.cache file. 2013-07-02 08:52:47 +02:00
Gunnar Beutner 03e019580a Implement dumping commands and timeperiods. 2013-07-02 08:44:03 +02:00
Michael Friedrich 207b91224b compat: dump commands to objects.cache
service->notifications may create duplicates.
2013-07-01 20:12:03 +02:00
Michael Friedrich 91e36eb90d compat: add more missing attributes 2013-07-01 19:04:08 +02:00
Michael Friedrich 9334c1e346 notifications: refactor NotificationSent message
like flapping and downtimes behave now.

refs #4361
2013-07-01 17:56:21 +02:00
Michael Friedrich ce9c390ed9 flapping: fix division by 0, add compat status, extcmds
and some debug output.

refs #4360
refs #2711
2013-07-01 17:25:30 +02:00
Michael Friedrich bd6e5d11ac compatlog: use flapping threshold/current
fixes #4360
2013-07-01 14:49:04 +02:00
Michael Friedrich 4de7908b94 compatlog: add flapping messages
refs #4360
2013-07-01 14:44:56 +02:00
Gunnar Beutner e2714525c9 Remove the built-in attributes notes_url and action_url. 2013-07-01 13:55:25 +02:00
Gunnar Beutner 4766e801a2 objects.cache: Add support for the "notes" attribute. 2013-07-01 13:51:00 +02:00
Gunnar Beutner 23c87f6eaf Implement support for custom variables.
Fixes #4344
2013-07-01 13:46:50 +02:00
Michael Friedrich b906b51d3b refactor downtime message handling (wip) 2013-07-01 11:28:49 +02:00
Michael Friedrich cd48a4946a compatlog: fix checkcommand name
refs #4361
2013-07-01 10:03:00 +02:00
Michael Friedrich 3af0559b4a Compat: log notifications (wip)
- we need a way to figure out which last commend id (or, author and
  text) where set when type is CUSTOM or ACKNOWLEDGEMENT
- GetCheckCommandName was required too
- not sure if notifications.cpp is the correct location

refs #4361
refs #3985
refs #2750
2013-06-28 21:31:38 +02:00
Michael Friedrich 147cd81328 add downtime message (started,stopped,cancelled) and compat logger
refs #3985
refs #2750
2013-06-28 13:40:01 +02:00
Michael Friedrich 7c0a71bc29 Compat: split cr output into (long_)output, log only output
status.dat requires output, and long_output seperated for proper
representation by guis and addons (they cannot be changed for
compatibility reasons, we must change).

logging an ALERT requires only the output (first line of the check
result output).

fixes #3882
fixes #4348
2013-06-26 18:23:59 +02:00
Michael Friedrich c9fb309200 tools: move mkembedconfig into subdir
preparation for moving the conversion script into tools/

refs #4337
2013-06-24 16:05:18 +02:00
Gunnar Beutner fe35791b1b status.dat: Escape new-lines in multi-line plugin output
Fixes #3671
2013-06-24 11:35:56 +02:00
Gunnar Beutner ea0052f208 Fix: Compat Log: abort on OwnLock()
Fixes #4332
2013-06-24 08:56:49 +02:00
Gunnar Beutner 6f158ff793 Implement external commands for flapping detection. 2013-06-21 10:28:21 +02:00
Gunnar Beutner 70e96aa2f0 Refactor ScriptFunctions. 2013-03-25 19:47:02 +00:00
Gunnar Beutner fd3e92ea0c Refactor AsyncTasks. 2013-03-25 17:36:15 +00:00
Gunnar Beutner 1f570ea9f7 Implement Icinga1.x-style compat log file rotation
Fixes #3874
2013-03-20 11:11:46 +01:00
Gunnar Beutner 8b53735cc9 Move the notification_interval option to the Notification class.
Fixes #3821
2013-03-20 10:08:27 +01:00
Gunnar Beutner 80c3a70107 Implement the CheckResultReader type. 2013-03-19 16:20:46 +01:00
Gunnar Beutner a21cf21d52 Implement the CompatLog type. 2013-03-19 13:04:30 +01:00
Gunnar Beutner 734f76af96 Windows build fix. 2013-03-18 22:40:40 +01:00
Gunnar Beutner 2a8bc3ca0f Refactor #includes (Part 5). 2013-03-18 17:39:40 +01:00
Gunnar Beutner c3975af6ec Refactor #includes (Part 4). 2013-03-18 11:02:18 +01:00
Gunnar Beutner 9d076c3c03 Refactor #includes (Part 3). 2013-03-17 20:19:29 +01:00
Gunnar Beutner 0bb0711d72 Refactor #includes (Part 2). 2013-03-16 21:18:53 +01:00
Gunnar Beutner 3073200b53 Cleaned up #includes (Part 1). 2013-03-15 18:21:29 +01:00
Gunnar Beutner 27e1d311de Fix dependencies for mkembedconfig. 2013-03-15 13:35:39 +01:00
Gunnar Beutner 4d5e924bc6 Add mkembedconfig as a dependency for the .conf -> .cpp build step. 2013-03-15 11:56:30 +01:00
Gunnar Beutner 49620ef0ed XNU build fixes. 2013-03-14 15:14:07 +01:00
Gunnar Beutner 98ab009b91 Cleaned up VS project files. 2013-03-12 19:49:24 +01:00
Gunnar Beutner 5fcdc51e3c Windows build fix. 2013-03-12 15:35:51 +01:00
Gunnar Beutner 3c363499bb Eliminate the Component class.
Fixes #3832
Fixes #3840
2013-03-12 13:45:54 +01:00
Gunnar Beutner d8edd98e41 Add more information to exceptions. 2013-03-11 13:47:17 +01:00
Gunnar Beutner 5d0fa0f6c9 Removed dummy timeperiod definition. 2013-03-09 00:01:04 +01:00
Gunnar Beutner d7a995e752 status.dat/objects.cache: check_interval/retry_interval should be in minutes. 2013-03-09 00:00:43 +01:00
Gunnar Beutner f771ede8f1 Fixed deadlock. 2013-03-09 00:00:10 +01:00
Gunnar Beutner cada2abeb3 Implement automated stacktraces for exceptions. 2013-03-07 19:44:39 +01:00
Gunnar Beutner e2416b5b54 Check return values of SymGetLineFromAddr64 and SymFromAddr. 2013-03-07 16:00:10 +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 659fcf8fa3 Fix cppcheck warnings. 2013-03-06 15:41:13 +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 5228d7f10b Implemented compat support for users and user groups. 2013-02-28 10:50:20 +01:00
Gunnar Beutner 975c527b07 Bugfix: Output dummy check data for hosts that don't have a hostcheck. 2013-02-28 10:26:01 +01:00
Gunnar Beutner e9d32eeada Implemented user groups. 2013-02-27 21:49:03 +01:00
Gunnar Beutner e98fd3e3eb Bug fixes for the new cache code. 2013-02-27 16:04:49 +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 163f0a9f5c Implemented support for disabling notifications. 2013-02-26 12:37:25 +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 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 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 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 023d17c675 Implement per-thread event queues. 2013-02-15 06:48:30 +01:00
Gunnar Beutner dd93206113 Fixed exception in command pipe thread after sending Icinga SIGTERM. 2013-02-10 12:42:14 +01:00
Gunnar Beutner f8851aa79d Bugfix: host and source groups don't have display names. 2013-02-09 20:37:03 +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 4fcda6699f Bugfix: use short names in servicegroup objects. 2013-02-09 01:49:45 +01:00
Gunnar Beutner 29b056c848 Remove separate host ack/downtime/comments functionality.
Fixes #3663
2013-02-09 01:16:43 +01:00
Gunnar Beutner 3458b7d9d1 Implement service shortnames.
Refs #3660
2013-02-08 15:38:22 +01:00
Gunnar Beutner b14027ec73 Move EXPORT_COMPONENT() macros to the beginning of the files.
Fixes #3654
2013-02-08 07:11:14 +01:00
Gunnar Beutner 1b4a9a3a21 Redesign dependencies.
Fixes #3646
2013-02-07 20:29:35 +01:00
Michael Friedrich 0de681be5d Compat: implemented log_path config getter (no functionality yet)
fixes #2796
2013-02-07 18:34:50 +01:00
Gunnar Beutner a64fa1b994 objects.cache: Implement service dependencies
Fixes #3639
2013-02-06 22:41:40 +01:00
Gunnar Beutner 39bd164625 objects.cache: Service definitions should include the display_name property. 2013-02-06 15:54:13 +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 c4293cfa25 Added init script.
Fixes #3114
2013-02-04 12:52:39 +01:00
Gunnar Beutner dedd4256c1 Bugfix: Use service names instead of aliases. 2013-02-01 10:51:45 +01:00
Gunnar Beutner 9862ab5324 Implement triggered downtime for services.
Fixes #3583
2013-01-31 13:57:14 +01:00
Gunnar Beutner b9d02b0482 Bugfix: Use service name in status.dat (rather than alias). 2013-01-31 09:51:37 +01:00
Gunnar Beutner e967d931fd Fixed building with --disable-shared. 2013-01-30 23:52:11 +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 20958d0ba8 Bugfix: look up legacy_id for triggered_by downtimes. 2013-01-30 11:10:47 +01:00
Gunnar Beutner 6e119dafee Use UUIDs to uniquely identify comments and downtimes. 2013-01-30 09:59:22 +01:00
Gunnar Beutner c7550971fe Implemented comments.
Fixes #3558
2013-01-29 16:29:09 +01:00
Gunnar Beutner e5ee9b9ea9 Renamed ExternalCommand to ExternalCommandProcessor.
Fixes #3579
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 2e78899347 Implement statistics for passive service checks. 2013-01-28 09:01:47 +01:00
Gunnar Beutner fc782473db Implemented status.dat support for host acknowledgements. 2013-01-27 11:54:50 +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 ad5256588d Implemented ServiceGroup::GetMembers() and HostGroup::GetMembers(). 2013-01-24 13:21:35 +01:00
Gunnar Beutner 249b19a69a Implement acknowledgements.
Fixes #3557
2013-01-23 13:21:07 +01:00
Gunnar Beutner 65c0334b28 Reuse pipe inode if it already exists.
Fixes #3552
2013-01-23 10:18:23 +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 61f2b5f0cf Pass through timestamps to external command handlers. 2013-01-22 12:39:33 +01:00
Gunnar Beutner ecb044b679 Disable command pipe functionality on Windows. 2013-01-22 08:47:56 +01:00
Gunnar Beutner c20ae866b7 Implemented support for external commands. 2013-01-22 08:34:29 +01:00
Gunnar Beutner ccbb98e64a Use String::ToString() in CompatComponent::ProcessCommand(). 2013-01-21 13:45:27 +01:00
Gunnar Beutner d4a6d68ef0 Implemented parsing command pipe data. 2013-01-21 13:39:20 +01:00
Gunnar Beutner 853dbfa82e Implemented command pipe (sort of). 2013-01-21 13:08:08 +01:00
Gunnar Beutner 83772d4386 Implemented DynamicType support.
Fixes #3477
2012-12-04 08:42:24 +01:00
Gunnar Beutner e57bf22d82 Fix: Renaming temp files didn't work on Windows.
Fixes #3216
2012-10-17 11:35:06 +02:00
Michael Friedrich c2bad406ef Configuration: use underscore in attributes, document all using new locations
... from #3228

fixes #3222
2012-10-02 14:44:57 +02:00
Michael Friedrich 4609f7d980 install: create all dirs needed by automake install
refs #3228
2012-10-02 14:44:22 +02:00
Michael Friedrich 4b768c2680 Compat: default localstatedir mkdir will be $prefix/var/icinga2 2012-10-02 13:23:35 +02:00
Michael Friedrich edb9a47c97 compat: add config options: {status,objects}path
requires automake target for localstatedir as default, if not set.

refs #2796
2012-09-28 14:26:01 +02:00
Gunnar Beutner b13e14d221 Changed header for the status.dat file. 2012-09-25 11:38:40 +02:00
Gunnar Beutner b9b009b6da Build fix for Windows. 2012-09-21 16:28:14 +02:00
Gunnar Beutner bb8935fe9b Added Win64 build support. 2012-09-21 16:15:36 +02:00
Gunnar Beutner fa7879776c Report PID in the status.dat file. 2012-09-19 14:10:34 +02:00
Gunnar Beutner 8e4bdf3872 Build fixes for Windows. 2012-09-10 14:35:01 +02:00
Gunnar Beutner 037e3d913b Refactored the libraries. 2012-09-10 14:07:32 +02:00
Gunnar Beutner c7b29c6b46 Build fix for Windows. 2012-09-07 11:46:38 +02:00
Gunnar Beutner 9bc93ce4a9 Renamed 'doc' to 'docs'.
Moved Doxygen files to docs/.
Removed cJSON directory.
Moved libraries into lib/.
Renamed 'config' to 'm4'.
Renamed 'dyn' library to 'config'.
2012-09-07 10:27:31 +02:00
Gunnar Beutner 6982656f2d Ignore service reachability for status.dat output. 2012-08-06 14:14:28 +02:00
Gunnar Beutner 5641e521b0 Build fixes for Windows. 2012-08-03 18:17:47 +02:00
Gunnar Beutner a38379c56d Implemented support for replicating object tags [WIP - broken]. 2012-08-02 11:45:50 +02:00
Gunnar Beutner 8c185a38b0 Renamed ConfigObject to DynamicObject. 2012-07-30 10:17:29 +02:00
Gunnar Beutner 24a5a10e00 Refactored ConfigObject adapter classes. 2012-07-27 19:56:57 +02:00
Gunnar Beutner 1eb25ad4e9 Keep track of time using fractions of seconds. 2012-07-25 12:59:17 +02:00
Gunnar Beutner 7d1ec0332d Removed CIB::RequireInformation. 2012-07-20 14:30:35 +02:00
Gunnar Beutner b162ca9bfb Added TcpClient::OnConnected event. 2012-07-18 11:15:39 +02:00
Gunnar Beutner a224c20a30 Revert 78215843 as it requires Boost version 1.43. 2012-07-17 19:19:03 +02:00
Gunnar Beutner 78215843cf Use Boost.Range instead of tie(). 2012-07-17 10:29:30 +02:00
Gunnar Beutner bc1ded140f Build fixes for *NIX. 2012-07-17 00:01:23 +02:00
Gunnar Beutner e2bf3bd56b Use BOOST_FOREACH for most for loops. 2012-07-16 22:00:50 +02:00
Gunnar Beutner 310edc1074 Re-enabled /MP (parallel builds) on Windows. 2012-07-15 13:15:51 +02:00