Commit Graph

1565 Commits

Author SHA1 Message Date
Gunnar Beutner 042e4270bf Fix an issue where expired Timer pointers caused other timers to be delayed.
Fixes #6179
2014-05-09 19:26:31 +02:00
Gunnar Beutner bd8ccec258 Fix deadlock when calling functions recursively.
Fixes #6178
2014-05-09 14:45:59 +02:00
Gunnar Beutner b367187c0b Implement HA for IDO connections.
Refs #6107
2014-05-09 13:02:30 +02:00
Gunnar Beutner 4c022199f4 Reimplement load-balancing for checks.
Refs #6107
2014-05-09 11:45:21 +02:00
Gunnar Beutner 020ca0b2e9 Apply: Inherit zone from parent object.
Refs #6107
2014-05-09 10:36:26 +02:00
Gunnar Beutner dade476533 Remove the ZlibStream class and the stream_bio functionality.
Fixes #6119
2014-05-09 10:23:54 +02:00
Gunnar Beutner 01941a9807 Don't log repository messages.
Refs #6107
2014-05-08 15:46:47 +02:00
Gunnar Beutner b36b03cac1 Remove zone check in ApiEvents::UpdateRepositoryAPIHandler.
Refs #6107
2014-05-08 15:27:16 +02:00
Gunnar Beutner 87bcb168d7 Implement timeout for anonymous ApiClient objects.
Refs #6107
2014-05-08 15:12:56 +02:00
Gunnar Beutner bd610a74b1 Clean up reconnect handler.
Refs #6107
2014-05-08 15:00:09 +02:00
Gunnar Beutner b52cc9822d Fix missing variable assignment in Zone::CanAccessObject().
Refs #6107
2014-05-08 13:29:53 +02:00
Gunnar Beutner 5678fe750c Fix incorrect function name.
Refs #6107
2014-05-08 13:15:08 +02:00
Gunnar Beutner e322cc5086 Implement aliasing support for "localhost".
Refs #6107
2014-05-08 13:08:34 +02:00
Gunnar Beutner 3464f29ca2 Fix permissions for master zones.
Refs #6107
2014-05-08 12:36:48 +02:00
Gunnar Beutner 656d6ff13a Update scripts and example config.
Refs #6107
2014-05-08 12:17:21 +02:00
Gunnar Beutner 16e8dca01e Build fix for RHEL.
Refs #6107
2014-05-08 09:19:38 +02:00
Gunnar Beutner 45270f1bb8 Refactor the agent and cluster components.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner 0571d8a464 Run INITIALIZE_ONCE() after static initializers.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner b1dab6c074 Implement support for the "package" keyword.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner e2fe1c8a6b Properly shut down TLS streams.
Refs #6107
2014-05-06 10:40:36 +02:00
Gunnar Beutner 0484706324 Make sure handles aren't inherited by the child process.
Refs #6107
2014-05-06 10:40:36 +02:00
Michael Friedrich cf2bdecfeb Don't allow "managed" downtimes to be deleted by users.
Fixes #5980
2014-05-04 16:57:11 +02:00
Michael Friedrich 4f44ef13f1 Fix string conversion in CompatUtility::GetCheckableCommandArgs().
Refs #5926
2014-05-04 16:49:24 +02:00
Michael Friedrich ddfccf3188 Add debug log entries for dependencies.
Refs #5872
2014-05-03 21:04:56 +02:00
Michael Friedrich 0691d73af9 Rename Dependency 'state_filter' to 'states'.
Fixes #6113
2014-05-03 19:53:16 +02:00
Michael Friedrich 5aa578c4e4 Implement CompatUtility::GetCheckableCommandArgs() for DB IDO, Livestatus, StatusDataWriter.
Fixes #5926
2014-05-03 03:18:37 +02:00
Michael Friedrich 74be8cd2d0 Implement summary macros e.g. $icinga.num_services_critical$.
Additional $icinga.uptime$ macro.

Fixes #2742
2014-05-03 02:08:36 +02:00
Michael Friedrich 3d586b2b80 DB IDO: Update Host/Service state 'scheduled_downtime_depth' on DowntimeTriggered.
Refs #6051
2014-05-03 00:38:56 +02:00
Michael Friedrich fc44798b8d DB IDO: Update Host/Service state 'last_notification' on NotificationSentToAllUsers.
Refs #6051
2014-05-03 00:27:05 +02:00
Michael Friedrich ba12ec2927 DB IDO: Update Host/Service state 'is_flapping' on FlappingChanged.
Refs #6051
2014-05-02 23:56:52 +02:00
Michael Friedrich 03e44dcdc8 DB IDO: Update Host/Service state 'next_check' on NextCheckChanged.
Refs #6051
2014-05-02 23:38:37 +02:00
Michael Friedrich 0c72228a0e DB IDO: Update Host/Service status on Acknowledgement Add/Clear.
Refs #6051
2014-05-02 23:17:36 +02:00
Michael Friedrich dbe6a20fd2 Fix exception for Notification objects without checkable object.
Fixes #6111
2014-05-02 19:43:49 +02:00
Michael Friedrich 07c0c9e234 Fix state_filter attribute validation for Depdency objects.
Fixes #6110
2014-05-02 19:37:55 +02:00
Michael Friedrich 7e164291a0 Make AddGroup() unique.
Refs #6105
2014-05-02 00:38:46 +02:00
Michael Friedrich e04d200d36 Allow EvaluateRules() to keep rules for the next iteration.
Refs #6105
2014-05-02 00:23:29 +02:00
Michael Friedrich b268e7d32d Group assign requires object.groups update too (for apply rules).
Refs #6105
2014-05-01 23:53:38 +02:00
Michael Friedrich 01a0496988 Add AddGroup() for host, service, user objects.
Refs #6105
2014-05-01 23:53:08 +02:00
Michael Friedrich 3c2dae1804 Evaluate object rules (group assign) before and after creating objects with apply rules.
Refs #6105
2014-05-01 23:51:42 +02:00
Michael Friedrich 309c8d7299 Fix dependency logging for hosts and services.
Fixes #6104
2014-05-01 22:07:35 +02:00
Gunnar Beutner 630a1a28e2 Make Application::ReadPidFile work on Windows.
Refs #5788
2014-05-01 20:09:38 +02:00
Gunnar Beutner e9fddcc575 Build fix for Windows.
Refs #5788
2014-05-01 11:27:43 +02:00
Gerd von Egidy 6ac851ca10 Improve error message when trying to open a config file.
Fixes #5666

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2014-04-30 00:36:49 +02:00
Gunnar Beutner f989bbd678 Make sure that WQ threads are started after Daemonize().
Fixes #6063
2014-04-29 13:17:08 +02:00
Gunnar Beutner b119c3285b Change log level for some messages.
Fixes #6072
2014-04-29 11:01:28 +02:00
Gunnar Beutner 1c9e985f1d Rename "optional" attribute to "required" and change the default value.
Fixes #6069
2014-04-29 10:41:32 +02:00
Gerd von Egidy 1e321f0959 Fix possible race when the reload-process determines it's parent pid and the true parent has ended
Now transfers the true parent pid as parameter to --reload-internal.

Refs #5788
2014-04-29 10:34:02 +02:00
Gerd von Egidy 9f56b6ee74 Fix handling of m_RequestRestart in RunEventLoop, improve reload timeout
Refs #5788
2014-04-29 10:34:02 +02:00
Gerd von Egidy 3ece2ba643 Fix logging during shutdown procedure.
Refs #5788
2014-04-29 10:34:02 +02:00
Gerd von Egidy 3a294bbd5d Fork new process from previous daemon on reload.
The previously planned logic of forking a new daemon from the reload-process didn't work with
systemd: systemd does not allow long-running processes started from within the reload command.

Replaces parameter --reload with --reload-internal which is used when starting the new daemon.

Refs #5788
2014-04-29 10:34:01 +02:00
Gerd von Egidy 33bd909b71 Add --reload command-line parameter.
Refs #5788
2014-04-29 10:34:01 +02:00
Gerd von Egidy 19afcd894a Split ConfigItem::ActivateItems() into ConfigItem::ValidateItems() and ConfigItem::ActivateItems().
Also removes the -Z commandline parameter: won't be needed when this feature is done.

Refs #5788
2014-04-29 10:34:01 +02:00
Gunnar Beutner 17d277ff16 Implement the "order" attribute for command arguments.
Refs #5933
2014-04-29 10:33:09 +02:00
Gunnar Beutner ea24147d0d Add uptime information to the "icinga" check type.
Fixes #6064
2014-04-28 09:23:52 +02:00
Gunnar Beutner d500097e4b Fix support for StatsOr and StatsAnd.
Fixes #6062
2014-04-27 15:16:57 +02:00
Gunnar Beutner 9b9ee5c425 Add ssh_port parameter for the ssh check command.
Refs #5933
2014-04-26 18:31:49 +02:00
Gunnar Beutner be4324c606 Add version information to the "icinga" check task.
Refs #4865
2014-04-26 16:43:38 +02:00
Gunnar Beutner d617c7b1f6 Implement support for optional command arguments.
Fixes #5933
2014-04-26 15:03:38 +02:00
Gunnar Beutner e6fb8caace Implement loop detection for cluster links.
Refs #5467
2014-04-25 15:07:13 +02:00
Gunnar Beutner 737441f201 Fix deadlock in TlsStream::{Read,Write}.
Refs #5467
2014-04-25 15:07:13 +02:00
Michael Friedrich 2b70b282ad Add {Host,Service}Group attributes: notes, notes_url, action_url.
Fixes #6057
2014-04-24 14:48:57 +02:00
Gunnar Beutner 097e0bf4f4 Fix duplicate service contacts.
Fixes #6058
2014-04-23 22:41:51 +02:00
Michael Friedrich d0af8a226b Fix headers. 2014-04-23 15:57:58 +02:00
Michael Friedrich 7a147d268e Add group assign/ignore rules.
Fixes #5910
2014-04-23 15:50:00 +02:00
Michael Friedrich c239f84fd7 Revert "Add group apply (creates object only once and sets membership)."
This reverts commit 559a4fef67.

Refs #5910
2014-04-23 14:59:48 +02:00
Michael Friedrich cdd5c0a716 DB IDO: Add missing dependency attributes.
Fixes #5745
2014-04-23 10:33:30 +02:00
Gunnar Beutner 951c61ed16 Use fewer threads by default.
Refs #6053
2014-04-22 20:53:46 +02:00
Michael Friedrich c8b3fde2ef Drop unused statusmap_image & coords attributes entirely.
Fixes #6044
2014-04-22 13:48:06 +02:00
Michael Friedrich fe1a83ff34 Revert "Add statusmap_image and coords host attributes."
This reverts commit 252980a6bd.

Refs #6044
2014-04-22 12:09:24 +02:00
Gunnar Beutner e489c98e6d Make the debug log less spammy.
Refs #4865
2014-04-22 07:47:10 +02:00
Gunnar Beutner 66faec2689 Build fix for OS X. 2014-04-22 07:13:16 +02:00
Gunnar Beutner 6b55e7827d Implement support for environment variables on Windows.
Fixes #6049
2014-04-21 20:15:03 +02:00
Gunnar Beutner 6d6e91cd2d Implement Windows support for the Process class.
Fixes #3684
2014-04-21 15:44:36 +02:00
Gunnar Beutner 088b15e964 Build fix for Clang >= 3.4.
Fixes #5360
2014-04-20 14:12:20 +02:00
Gunnar Beutner e749f6eae5 Make sure the installer doesn't overwrite config files.
Refs #4865
2014-04-20 11:22:15 +02:00
Gunnar Beutner 9905a4e09b Fix crash in Timer::AdjustTimers.
Refs #4865
2014-04-20 07:21:38 +02:00
Gunnar Beutner e19948fc95 Add agent setup wizard for Windows.
Refs #4865
2014-04-18 12:39:50 +02:00
Gunnar Beutner 0fb55f3404 Fix NSIS installer and Windows service.
Refs #4865
2014-04-18 12:15:01 +02:00
Michael Friedrich 0da670d11c Resolve runtime macros recursively in *_url, notes similar to vars.
Fixes #6014
2014-04-17 17:38:02 +02:00
Michael Friedrich 252980a6bd Add statusmap_image and coords host attributes.
They are as important as action_url, etc.

coords is made a dictionary consisting of x_2d and y_2d as keys.

Fixes #6044
2014-04-17 16:48:59 +02:00
Michael Friedrich 5b359ea518 Add CompatUtility::GetModifiedAttributesList() for Livestatus.
Fixes #6042
2014-04-17 16:01:44 +02:00
Michael Friedrich 72f7537fa6 Add modified attributes for user and command vars.
Fixes #6043
2014-04-17 15:20:28 +02:00
Michael Friedrich c7659337b7 Use legacy attribute getters in interfaces.
Fixes #6041
2014-04-17 13:50:26 +02:00
Michael Friedrich 0dedd7cf19 Add global Enable{Host,Service}Checks. Update interfaces and external commands.
Fixes #6037
Fixes #5975
2014-04-17 11:29:47 +02:00
Michael Friedrich 8cfce66604 Fix custom var override.
Refs #5956
Refs #5962
2014-04-16 17:52:12 +02:00
Michael Friedrich 7c0d93ea0a Add modified attributes for vars dictionary.
- new external commands
- raw values for 'vars'
- OnVarsChanged() signal for db_ido customvariablestatus updates
- refactor db_ido customvariable config updates

Refs #5956
Refs #5962
2014-04-16 17:52:12 +02:00
Gunnar Beutner ed057de512 Add missing ::Stop calls.
Refs #4865
2014-04-16 15:01:31 +02:00
Gunnar Beutner 4e7738c5a5 Implement CLR-based checks. 2014-04-16 10:39:13 +02:00
Michael Friedrich 559a4fef67 Add group apply (creates object only once and sets membership).
Refs #5910
2014-04-15 14:55:29 +02:00
Gunnar Beutner 060a802d15 Implement support for hosts in the agent component.
Refs #4865
2014-04-15 13:38:01 +02:00
Michael Friedrich f48a6b429b Add nested group support for {Host,Service,User}Group.
Fixes #5858
2014-04-14 21:52:01 +02:00
Gunnar Beutner 9fc5e6217a Build fix for Windows.
Refs #6008
2014-04-14 09:59:00 +02:00
Gunnar Beutner 8c771d51e4 Fix another exception issue with FreeBSD.
Refs #6008
2014-04-14 03:02:33 +02:00
Gunnar Beutner 0ea144a64d Set OpenSSL locking callback.
Refs #4865
2014-04-12 21:22:59 +02:00
Gunnar Beutner 06fdaeb2b2 Fix file descriptors not getting closed properly
Refs #4865
2014-04-12 08:16:57 +02:00
Gunnar Beutner 2961364e97 Implement support for agent-based checks.
Refs #4865
2014-04-12 04:21:09 +02:00
Gunnar Beutner cdda8d5734 Fix external commands which take no arguments.
Fixes #5998
2014-04-11 15:48:19 +02:00
Gunnar Beutner 3002532280 Make sure the scheduling offset is set properly for hosts.
Refs #5909
2014-04-11 14:57:16 +02:00
Gunnar Beutner b8d3d42b7f Allow trailing comma in arrays.
Fixes #5928
2014-04-11 13:51:14 +02:00
Gunnar Beutner 8d3a334183 Mark the PerfdataValue class as "safe".
Refs #5909
2014-04-11 07:44:28 +02:00
Gunnar Beutner e6667c15d3 Support shell-style comments.
Fixes #5994
2014-04-10 11:30:01 +02:00
Gunnar Beutner c123210529 Only resolve user macros (vars.*) recursively.
Fixes #5983
2014-04-10 08:46:36 +02:00
Gunnar Beutner 5dbf8f95de Another build fix for Windows.
Refs #5987
2014-04-09 12:44:35 +02:00
Gunnar Beutner c2b18d4f35 Windows build fix.
Refs #5987
2014-04-09 12:38:26 +02:00
Gunnar Beutner a16ef350e2 Avoid unnecessary copies for DynamicType::GetObjects.
Fixes #5987
2014-04-09 12:22:23 +02:00
Gunnar Beutner ec7c90d5d7 Allow dictionaries to contain null values.
Fixes #5986
2014-04-09 10:52:13 +02:00
Gunnar Beutner 91f946a40e Implement the "return" keyword.
Fixes #5985
2014-04-09 10:36:57 +02:00
Gunnar Beutner 606834e190 Rename the notification attributes.
Fixes #5906
2014-04-09 10:25:23 +02:00
Gunnar Beutner e24e128f65 Change the default notification interval to 30 minutes.
Refs #5909
2014-04-09 06:50:07 +02:00
Gunnar Beutner 0529d3f1f5 Fix the state filters for "critical" and "unknown".
Refs #5979
2014-04-09 00:09:35 +02:00
Gunnar Beutner dcf7d07c7a Fix default values for notification filters.
Refs #5979
2014-04-08 23:33:25 +02:00
Gunnar Beutner 4a32ca9123 Fix passive check results.
Fixes #5970
2014-04-08 15:36:45 +02:00
Gunnar Beutner 80778bad1d Update components to use the new address fields.
Refs #5856
2014-04-08 13:34:48 +02:00
Gunnar Beutner 0fdb9ea21b Implement attributes for some well-known macros and allow macro recursion.
Refs #5856
Fixes #5959
2014-04-08 13:23:24 +02:00
Gunnar Beutner 1c115297f9 Rename the service state constants.
Fixes #5964
2014-04-08 09:11:54 +02:00
Gunnar Beutner e560e1e00c Remove the HostUnreachable state.
Fixes #5944
2014-04-08 08:54:49 +02:00
Gunnar Beutner 2ab208e452 Fix invalid timeout for poll().
Fixes #5963
2014-04-08 07:11:38 +02:00
Gunnar Beutner 32e1c02b9a Clean up some of the type checks.
Refs #5925
2014-04-07 22:06:05 +02:00
Michael Friedrich 9ab4b3dd16 Remove the 'Icinga' prefix for global constants.
Fixes #5960
2014-04-07 21:42:23 +02:00
Michael Friedrich aae5f092d4 Log warning if apply rule does not match anywhere.
Fixes #5911
Fixes #5957
2014-04-07 15:00:14 +02:00
Gunnar Beutner cea15e11dc Implement new state and type filters.
Fixes #5906
2014-04-07 14:00:18 +02:00
Michael Friedrich 0e3b387a70 Fix missing target types in ScheduledDowntime apply.
Fixes #5955
2014-04-07 13:06:28 +02:00
Michael Friedrich e97e1cf63f Throw error on missing 'assign' in 'apply'.
Refs #5911
2014-04-07 13:04:13 +02:00
Michael Friedrich 6d8d25175d DB IDO: Fix AddLogHistory() checkable object.
Fixes #5948
2014-04-06 18:19:31 +02:00
Gunnar Beutner 98fba78fe4 Remove the escape_macros attribute.
Refs #5855
2014-04-06 10:45:50 +02:00
Gunnar Beutner 5c671eab15 Update documentation.
Refs #5925
2014-04-06 08:28:28 +02:00
Gunnar Beutner ad42367999 Refactor name helper classes a bit.
Refs #5925
2014-04-06 08:15:07 +02:00
Gunnar Beutner 020eaf99ab Fix yet another validation issue.
Refs #5925
2014-04-05 23:23:49 +02:00
Gunnar Beutner 8d81f4b90a Fix another bug with relative object names.
Refs #5925
2014-04-05 23:23:49 +02:00
Gunnar Beutner 70062b5884 Make sure that Utility::GlobRecursive doesn't recurse into . and ..
Fixes #5946
2014-04-05 23:23:42 +02:00
Gunnar Beutner bc4cacfee9 Fix validation problem with relative object names.
Refs #5925
2014-04-05 23:23:39 +02:00
Gunnar Beutner 00fd51e628 Implement relative object names.
Fixes #5925
2014-04-05 22:17:37 +02:00
Michael Friedrich d3b67cf2ed Fix host custom attribute 'address' as runtime macro.
Refs #5855
2014-04-05 19:08:46 +02:00
Michael Friedrich b9415aad3d Fix typo.
Refs #5855
2014-04-05 17:53:37 +02:00
Michael Friedrich 4966dfd241 Provide 1.x fallback using GetName() for address macros.
Refs #5855
2014-04-05 17:45:28 +02:00
Michael Friedrich e309a5d330 Access custom attributes as ${host,service,user}.vars.<name>$.
Refs #5855
2014-04-05 17:13:17 +02:00
Michael Friedrich 34092f0a52 Fix legacy attributes by object type. 2014-04-05 17:13:05 +02:00
Gunnar Beutner d64823858d Fix validation for ScheduledDowntime objects.
Refs #5945
2014-04-05 16:27:26 +02:00
Gunnar Beutner 4ffcd4f403 Fix validation for Notification objects.
Fixes #5945
2014-04-05 16:26:51 +02:00
Gunnar Beutner 5e38c81eb5 Implement apply target types.
Fixes #5924
2014-04-05 13:53:55 +02:00
Gunnar Beutner 5ccdf017ac Fix macros.
Refs #5855
2014-04-05 09:24:11 +02:00
Gunnar Beutner c42a582307 Rename "short_name", "host" and "sevice" attributes.
Fixes #5857
2014-04-05 09:15:40 +02:00
Michael Friedrich 31e3377897 Drop duplicate attribute.
Refs #5855
2014-04-04 23:03:20 +02:00
Michael Friedrich 09cbf18b26 Implement 'env' dictionary instead of 'export_macros' array.
Revamp notification runtime macros too.

Refs #5855
2014-04-04 22:57:56 +02:00
Michael Friedrich aba4f1a0d5 Implement $user.<name>$ runtime macros.
Refs #5855
2014-04-04 21:36:47 +02:00
Michael Friedrich 0a0399826f Implement ${host,service}.<name>$ runtime macros.
Refs #5855
2014-04-04 20:09:23 +02:00
Michael Friedrich e375f15e5b Implement global runtime macros as $icinga.<name>$.
Refs #5855
2014-04-04 19:35:47 +02:00
Michael Friedrich af621214d4 DB IDO: Dump application and command vars.
Refs #5855
2014-04-04 16:53:03 +02:00
Michael Friedrich 17b87c9b2a Add CompatUtility::IsLegacyAttribute().
Refs #5855
2014-04-04 16:35:45 +02:00
Gunnar Beutner 23e9630682 Implement host checks.
Refs #5919
2014-04-04 15:57:54 +02:00