Commit Graph

185 Commits

Author SHA1 Message Date
Conrad Clement 3f0b6ec003 Optimize two ObjectLocks into one in Notification::BeginExecuteNotification method
object is locked twice to update values of
NotificationNumber, LastNotification and LastProblemNotification.
LastNotificaiton is updated inside each ObjectLock
merge two ObjectLocks into one and remove duplicate update

fixes #12188

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-08-02 18:36:29 +02:00
Michael Friedrich 14fdb794e2 Allow strings in state and type filters (config, API)
fixes #11445
2016-06-23 14:52:45 +02:00
Gunnar Beutner 8a714d66f1 Ensure that sent notifications are synced between Icinga instances
fixes #11562
2016-06-15 11:27:01 +02:00
Philipp Dallig 54e1c8a9d5 Implement exclude and include ability for TimePeriod objects
This feature allows to exclude and include specific time period
objects and their time ranges from an existing time period object.

This comes in handy when e.g. excluding holidays.

fixes #7355

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-05-21 20:33:09 +02:00
Michael Friedrich 83e0bcddce IDO: Ensure that the notification insert id is passed to contactnotification inserts
We cannot add the notification insert id directly
to the following contactnotifications queries. Instead
we need to pass a DbValue reference which gets set after
the notification insert id is calculated.
The contactnotifications insert queries are fired as query
group calling CanExecuteQuery() and FieldToEscapedString().
If the notification id does not exist yet, the queries are
moved to the end of the queue.
Once the contactnotifications queries are fired the DbValue
reference is destroyed.

This patch also removes the old notification insert id cache
which was broken in many ways.

fixes #11387
2016-03-29 15:12:24 +02:00
Gunnar Beutner 599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Gunnar Beutner e3c75faabc Implement support for recursive object locks
fixes #10596
2015-11-11 10:21:30 +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
Gunnar Beutner f45f6ccd82 Implement support for tracking dependencies between config objects
refs #9096
2015-08-25 13:54:05 +02:00
Gunnar Beutner 071d2f18fb Rename DynamicObject/DynamicType to ConfigObject/ConfigType
fixes #9914
2015-08-15 20:40:41 +02:00
Gunnar Beutner e2290d5012 Implement support for unregistering objects
refs #9101
2015-08-15 20:07:11 +02:00
Michael Friedrich d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +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
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
Michael Friedrich 88f16abb3c Use Utility::NaturalJoin for notification filter formatting
refs #8685
2015-03-19 14:08:06 +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
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 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 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
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 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
Gunnar Beutner 1cb0231c05 Refactor how variable scopes work
refs #8074
2014-12-14 11:33:45 +01:00
Gunnar Beutner 307db672c1 Fix initialization bug for the Notification class
refs #7780
2014-11-22 16:43:39 +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
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 2d5e9514a5 Refactor logging code 2014-10-19 17:52:17 +02:00
Gunnar Beutner b18f57a745 Remove logger_fwd.hpp 2014-10-19 14:50:39 +02:00
Gunnar Beutner eaea65a366 Make props argument for NameComposer::MakeName constant 2014-08-29 16:46:46 +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
Michael Friedrich 3ecec31af3 Change log message identifier for libicinga.
Refs #6346
2014-05-28 14:42:00 +02:00
Gunnar Beutner 632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Michael Friedrich 1df7518b35 Move more log messages to 'notice' severity.
Refs #6070
2014-05-22 23:47:03 +02:00
Michael Friedrich 4296ec3987 Change the most chatting log messages to 'notice' severity.
Refs #6070
2014-05-22 16:07:57 +02:00
Gunnar Beutner 9c3e399188 Remove unnecessary includes.
Fixes #6189
2014-05-11 18:11:32 +02:00
Gunnar Beutner 45270f1bb8 Refactor the agent and cluster components.
Refs #6107
2014-05-08 09:13:04 +02:00
Michael Friedrich 0691d73af9 Rename Dependency 'state_filter' to 'states'.
Fixes #6113
2014-05-03 19:53:16 +02:00
Michael Friedrich dbe6a20fd2 Fix exception for Notification objects without checkable object.
Fixes #6111
2014-05-02 19:43:49 +02:00
Gunnar Beutner 606834e190 Rename the notification attributes.
Fixes #5906
2014-04-09 10:25:23 +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 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 cea15e11dc Implement new state and type filters.
Fixes #5906
2014-04-07 14:00:18 +02:00
Gunnar Beutner ad42367999 Refactor name helper classes a bit.
Refs #5925
2014-04-06 08:15:07 +02:00
Gunnar Beutner 00fd51e628 Implement relative object names.
Fixes #5925
2014-04-05 22:17:37 +02:00
Gunnar Beutner c42a582307 Rename "short_name", "host" and "sevice" attributes.
Fixes #5857
2014-04-05 09:15:40 +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
Gunnar Beutner 23e9630682 Implement host checks.
Refs #5919
2014-04-04 15:57:54 +02:00
Michael Friedrich 5c58eb368c Merge 'macros' and 'custom' attributes into 'vars', part 1.
Refs #5855
2014-04-03 11:35:25 +02:00
Michael Friedrich ce737ff2f3 Change copyright header (again).
Fixes #5424
2014-03-19 11:42:47 +01:00
Michael Friedrich a3097ff3c6 DB IDO: Fix the way notification_id is handled.
Fixes #5103
Fixes #5265
2014-01-28 17:53:40 +01:00
Michael Friedrich f30eca5a73 DB IDO: Refactor notification signal handling.
Refs #5103
Fixes #5265
2014-01-28 15:53:12 +01:00
Michael Friedrich 555d72150a Update copyright header.
Fixes #5424
2014-01-09 00:32:11 +01:00
Gunnar Beutner 3a10127bf4 Implement support for using custom variables as macros.
Fixes #5364
2013-12-18 10:53:26 +01:00
Gunnar Beutner 41d4ba169f Embed constants into lib{base,icinga,db_ido}.
Fixes #5247
2013-12-17 14:24:29 +01:00
Gunnar Beutner f05858d3ad Avoid unnecessary copies when iterating over dictionaries.
Refs #5246
2013-12-02 11:07:38 +01:00
Gunnar Beutner 91338a7e49 Remove redundant checks.
Fixes #5071
2013-11-21 12:23:55 +01:00
Gunnar Beutner 39dcf20a89 Implement support for stack traces for STL exceptions.
Fixes #5114
2013-11-20 21:55:14 +01:00
Gunnar Beutner 92c8d71bf3 Implement one-time notification for escalation contacts.
Fixes #5011
2013-11-11 11:21:23 +01:00
Gunnar Beutner 9a764d8a08 Optimize signal calls.
Refs #5049
2013-11-10 16:53:57 +01:00
Gunnar Beutner 112f26dc19 Replace check result dictionaries with a class.
Refs #5039
2013-11-09 15:26:01 +01:00
Gunnar Beutner e546cd854d Clean up the DynamicType class.
Refs #5036
2013-11-08 16:07:21 +01:00
Gunnar Beutner a84536bea3 Implement serializer support for arbitrary classes.
Fixes #5024
2013-11-08 14:08:59 +01:00
Michael Friedrich 75b69411b9 Livestatus: Add log table.
refs #4433
2013-10-31 13:39:16 +01:00
Gunnar Beutner db4b3b78d6 Implement class compiler.
Refs #4963
2013-10-28 14:27:36 +01:00
Michael Friedrich 39f11334ab Add NOTIFICATION{AUTHOR,AUTHORNAME,COMMENT} macros.
fixes #4914
2013-10-19 00:19:16 +02:00
Michael Friedrich dd1ec43cd0 Documentation: Add Notifications, Escalations, Filters, Delay. 2013-10-18 00:11:35 +02:00
Gunnar Beutner 033b06e66a Remove unused parameter. 2013-09-25 11:21:20 +02:00
Gunnar Beutner 881c47893a config: Rename Notification::groups to Notification::user_groups. 2013-09-25 09:23:12 +02:00
Gunnar Beutner 03c047f4a7 config: Rename host_name to host. 2013-09-25 09:19:25 +02:00
Gunnar Beutner e766b4534f config: Rename Host::hostcheck to Host::check. 2013-09-25 09:12:15 +02:00
Gunnar Beutner bf1a800e39 Update copyright information. 2013-09-25 07:45:56 +02:00
Michael Friedrich 91e0566de0 Fix crash on missing notification_command. 2013-09-24 18:58:51 +02:00
Michael Friedrich d4295cb3a4 notifications: Add OnNotificationSentToAllUsers signal. 2013-09-24 18:49:25 +02:00
Gunnar Beutner 4be2105584 cluster: Periodically clean up old log files. 2013-09-03 15:23:47 +02:00
Gunnar Beutner 86e2f3dd81 Windows build fix. 2013-09-01 06:01:27 +02:00
Gunnar Beutner ce44c9e249 Fix incorrect parameter for OnNotificationSentChanged event. 2013-08-30 15:36:13 +02:00
Gunnar Beutner 911f64c411 Fix state file functionality. 2013-08-29 10:40:43 +02:00
Gunnar Beutner a49d298b9c Implement cluster events for comments. 2013-08-28 14:59:41 +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
Gunnar Beutner 17aedad7a7 Implement status updates for contacts. 2013-08-08 08:38:12 +02:00
Gunnar Beutner 511b052105 Only check escalations for problem notifications. 2013-07-19 11:02:43 +02:00
Michael Friedrich fe4a5e721c notifications: add notification number 2013-07-18 17:04:09 +02:00
Michael Friedrich 6f7b231302 compatlog: refactor custom/acknowledgement notifications with author/commenttext
refs #4361
2013-07-01 11:17:58 +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
Gunnar Beutner 463f4e4cf9 Implement notification_*_filter variables for Host/Service objects. 2013-06-26 10:19:00 +02:00
Gunnar Beutner d2b31f6a06 Implement notification conditions.
Fixes #2841
2013-06-26 09:08:50 +02:00
Gunnar Beutner 69fcd7fa40 Implement flapping detection. 2013-06-21 10:20:29 +02:00
Gunnar Beutner d042a181bd Refactor commands and implement event handlers.
Fixes #3877
Fixes #4001
2013-06-13 11:33:00 +02:00
Gunnar Beutner 8e754b085e Implement notification escalations. 2013-05-13 13:44:57 +02:00