Commit Graph

752 Commits

Author SHA1 Message Date
Gunnar Beutner 48ec2dfd08 cluster: Log ignored messages. 2013-09-17 14:58:52 +02:00
Gunnar Beutner 74579fba59 Update log level for a debug message. 2013-09-17 14:39:43 +02:00
Gunnar Beutner 2c17affa4a Remove debug code 2013-09-17 14:38:27 +02:00
Gunnar Beutner 20ac2825e9 cluster: Fix deadlock. 2013-09-17 14:32:37 +02:00
Gunnar Beutner fa52d0ab58 Enable cluster debugging. 2013-09-17 14:21:45 +02:00
Gunnar Beutner 3ed7219fb2 cluster: Implement domain ACL checks. 2013-09-17 13:24:08 +02:00
Gunnar Beutner 31a55987e5 cluster: Implement domain support. 2013-09-17 13:18:40 +02:00
Gunnar Beutner 2739d5e0cd cluster: Remove old logs before reconnecting. 2013-09-16 14:01:24 +02:00
Gunnar Beutner 0188c426fe Change log level for a debug message. 2013-09-16 12:27:25 +02:00
Gunnar Beutner e391fc0858 Fix: Cluster log files were not properly removed when an instance has no peers. 2013-09-16 11:08:13 +02:00
Gunnar Beutner 5495b0279e Add debug message. 2013-09-16 11:06:21 +02:00
Gunnar Beutner e383a3cc3e cluster: Re-open logfile after log replay. 2013-09-16 10:06:09 +02:00
Gunnar Beutner 235efa107b cluster: Yet another fix. 2013-09-16 10:00:06 +02:00
Gunnar Beutner 790ccc1079 cluster: Another log replay fix. 2013-09-16 09:57:30 +02:00
Gunnar Beutner 644716fb1f cluster: Don't replay log messages twice. 2013-09-16 09:49:28 +02:00
Gunnar Beutner e1b8e1180c cluster: Make log replays non-blocking. 2013-09-16 09:30:31 +02:00
Gunnar Beutner 8c7d50eef3 cluster: Make the feature checks more robust. 2013-09-13 09:58:39 +02:00
Gunnar Beutner 68ec21f13f cluster: Another fix for authority checks. 2013-09-13 07:50:23 +02:00
Gunnar Beutner 2b9568fbd5 cluster: Fix cleaning up old log files. 2013-09-12 18:08:06 +02:00
Gunnar Beutner cbc53db5c1 checker: Fix incorrect wait time when first service is non-authoritative. 2013-09-12 16:36:18 +02:00
Gunnar Beutner 6698d09a72 cluster: More delegation bugfixes. 2013-09-12 15:38:01 +02:00
Gunnar Beutner 7bc99d3860 checker: Fix waiting for non-authoritative checks. 2013-09-12 15:31:07 +02:00
Gunnar Beutner 5cdf08c371 Fix crash in ClusterComponent::CheckAuthorityHandler. 2013-09-12 15:22:21 +02:00
Gunnar Beutner 91aad7c997 checker: Make sure non-authoritative cluster instances don't reschedule checks. 2013-09-12 15:20:01 +02:00
Gunnar Beutner b510545d4d Fix delegation bug. 2013-09-12 15:12:19 +02:00
Gunnar Beutner 4e54a96880 Add missing lock. 2013-09-12 15:07:37 +02:00
Gunnar Beutner e26e018df8 ido: Set m_Connected to false in Stop(). 2013-09-12 11:37:58 +02:00
Gunnar Beutner 5ce38cbee6 cluster: Update endpoints' features for heartbeat messages. 2013-09-12 10:22:03 +02:00
Gunnar Beutner 3b1b9d1274 Refactor authority checks a bit. 2013-09-12 10:17:14 +02:00
Gunnar Beutner 95909d82fe cluster: Implement authority checks. 2013-09-12 10:04:04 +02:00
Gunnar Beutner a831a15f52 cluster: Prevent idle timeout during log replay. 2013-09-11 17:07:07 +02:00
Gunnar Beutner a9b7cfb777 cluster: Fix another reconnect bug. 2013-09-11 10:21:43 +02:00
Gunnar Beutner 63941c5f40 cluster: Fix reconnect bug. 2013-09-11 10:15:59 +02:00
Gunnar Beutner 551f06c744 Fix crash in Endpoint::MessageThreadProc. 2013-09-11 09:44:23 +02:00
Gunnar Beutner 6351ee8fb3 Build fix. 2013-09-11 09:42:06 +02:00
Gunnar Beutner 05ba258500 cluster: Heartbeat messages should include the endpoint's features. 2013-09-11 09:40:29 +02:00
Gunnar Beutner 7fcde9eca8 cluster: Fix idle timeout. 2013-09-11 09:18:15 +02:00
Gunnar Beutner 2e6f7d3cdb cluster: Fix heartbeat messages. 2013-09-11 09:09:04 +02:00
Gunnar Beutner fe13be0e9c cluster: Don't try to reconnect while we're replaying the log. 2013-09-11 09:01:00 +02:00
Gunnar Beutner b9ef225420 Revert "Revert "cluster: Disconnect timed out endpoints.""
This reverts commit 0cab882731.
2013-09-11 07:49:43 +02:00
Gunnar Beutner 93b3461f7c livestatus: Fix macro priority. 2013-09-10 10:37:30 +02:00
Gunnar Beutner 45219433bb cluster: Avoid unnecessary SetForceNextCheck messages. 2013-09-10 09:26:46 +02:00
Gunnar Beutner a695d8cdd6 cluster: Fix some bugs. 2013-09-09 10:06:49 +02:00
Gunnar Beutner ad5f96b190 cluster: Rotate the log more frequently. 2013-09-06 14:53:21 +02:00
Gunnar Beutner 82afdc92c8 cluster: Ignore old messages. 2013-09-06 14:05:50 +02:00
Gunnar Beutner a00a28d31b cluster: Fix handling messages that don't have a timestamp. 2013-09-06 13:34:11 +02:00
Gunnar Beutner 2daa2cae85 cluster: Speed up log replays. 2013-09-06 09:59:16 +02:00
Gunnar Beutner 0755d1b9d1 cluster: Fix acknowledgement bug. 2013-09-06 09:01:34 +02:00
Gunnar Beutner 2207524333 cluster: Allow relaying config messages. 2013-09-06 08:48:15 +02:00
Gunnar Beutner 0fec580e50 cluster: Implement processing config messages. 2013-09-05 12:09:09 +02:00
Gunnar Beutner 7e7a565770 cluster: Send config updates. 2013-09-04 15:47:15 +02:00
Gunnar Beutner 0cab882731 Revert "cluster: Disconnect timed out endpoints."
This reverts commit 1f74139ab4.
2013-09-03 17:04:13 +02:00
Gunnar Beutner 1f74139ab4 cluster: Disconnect timed out endpoints. 2013-09-03 16:51:49 +02:00
Gunnar Beutner 558daf7b84 cluster: Rotate the log file when Icinga is started. 2013-09-03 15:56:48 +02:00
Gunnar Beutner 4be2105584 cluster: Periodically clean up old log files. 2013-09-03 15:23:47 +02:00
Gunnar Beutner ba6be063b6 cluster: Compress log files. 2013-09-03 14:05:03 +02:00
Gunnar Beutner 9c00e560ab cluster: Send SetLogPosition messages for all message types. 2013-09-03 11:14:51 +02:00
Gunnar Beutner 1b31ced475 cluster: Fix crash bug. 2013-09-03 11:00:57 +02:00
Gunnar Beutner b97e69604d cluster: Prevent message loops when replaying logs. 2013-09-03 10:48:34 +02:00
Gunnar Beutner 8e381e0298 cluster: Make sure messages are processed in-order. 2013-09-03 10:42:19 +02:00
Gunnar Beutner 2b77aa06aa cluster: Handle non-numeric log file names. 2013-09-03 10:33:22 +02:00
Gunnar Beutner 8098329a33 cluster: Don't replay logs unless they're relevant. 2013-09-03 10:30:28 +02:00
Gunnar Beutner 235042bbac cluster: Bugfix for the log timestamps. 2013-09-03 10:12:07 +02:00
Gunnar Beutner b844ea1bcb cluster: Fix how replaying old messages works. 2013-09-03 10:08:02 +02:00
Gunnar Beutner 782ff8b13c jsonrpc: Disable debug output. 2013-09-02 15:51:56 +02:00
Gunnar Beutner 754dbfb8ef cluster: Implement persistent messages. 2013-09-02 15:12:20 +02:00
Gunnar Beutner 86e2f3dd81 Windows build fix. 2013-09-01 06:01:27 +02:00
Gunnar Beutner ecc583fba0 cluster: Fix deadlock when reconnecting. 2013-08-30 10:34:32 +02:00
Gunnar Beutner 7f52e04a01 Implement OS-specific support for thread names. 2013-08-30 10:19:32 +02:00
Gunnar Beutner f3638877eb cluster: Send heartbeats. 2013-08-30 09:34:58 +02:00
Gunnar Beutner 8729a809b3 compat: Fix attribute name for hosts. 2013-08-29 19:48:54 +02:00
Gunnar Beutner 90d929595d Implement cluster events for acknowledgements. 2013-08-29 13:48:18 +02:00
Gunnar Beutner 0a60128080 Implement cluster events for notifications/flapping. 2013-08-29 13:06:36 +02:00
Gunnar Beutner 24b7aed259 Implement cluster event for SetForceNextNotification. 2013-08-29 11:37:51 +02:00
Gunnar Beutner 911f64c411 Fix state file functionality. 2013-08-29 10:40:43 +02:00
Gunnar Beutner e93808a468 Fix "make dist".
Fixes #4489
2013-08-29 08:38:09 +02:00
Gunnar Beutner 2e2012c913 Clean up Makefiles. 2013-08-29 08:21:07 +02:00
Gunnar Beutner 788104980c Implement cluster events for downtimes. 2013-08-28 16:08:22 +02:00
Gunnar Beutner a49d298b9c Implement cluster events for comments. 2013-08-28 14:59:41 +02:00
Gunnar Beutner 0d24b941f5 Implement some cluster events. 2013-08-28 11:12:20 +02:00
Gunnar Beutner f39f69d390 Refactor ASSERT macro. 2013-08-28 08:18:58 +02:00
Gunnar Beutner 42cc9cc9b5 Bug fix for ThreadPool::KillWorker(). 2013-08-27 15:57:00 +02:00
Gunnar Beutner f49bb3d150 Refactor JSON-RPC library and implement check-result messages. 2013-08-27 12:21:41 +02:00
Gunnar Beutner 45b8d96461 Clean up JSON-RPC library. 2013-08-26 16:53:17 +02:00
Gunnar Beutner e9e55cd8c0 Remove the replication feature and clean up the code. 2013-08-26 14:56:38 +02:00
Michael Friedrich b89f72b552 Windows x64 build fix. 2013-08-20 12:50:24 +02:00
Gunnar Beutner 82b3b81b91 Windows build fix. 2013-08-20 08:29:38 +02:00
Michael Friedrich 7760c2c7bc ido: Rename component with ido prefix.
This marks the configuration object as ido specific mysql db connection.

refs #3307
2013-08-16 11:15:05 +02:00
Michael Friedrich 5633eda892 ido: Build ido_mysql only if mysql headers/libs detected.
fixes #4416
2013-08-08 16:44:42 +02:00
Michael Friedrich 074f7cd389 Compat: fix servicedependency (parent service description) 2013-08-05 17:01:40 +02:00
Gunnar Beutner d245bbfc77 Fix crash in NotificationComponent::NotificationTimerHandler(). 2013-08-05 08:57:08 +02:00
Michael Friedrich 2b0fd9e34b ido: Clear config tables on startup
fixes #4502
2013-08-02 17:11:14 +02:00
Gunnar Beutner 0af6393033 Fix: Separately keep track of whether we've completed config and status updates. 2013-08-02 15:45:50 +02:00
Michael Friedrich 5977bdee2d ido: Add host_parenthosts, use GetInsertID(). 2013-08-02 15:20:28 +02:00
Gunnar Beutner 079567ea72 Use ASSERT() instead of assert(). 2013-08-02 10:11:48 +02:00
Gunnar Beutner bd5e452c6f ido: Don't update insert IDs for status updates (2nd attempt). 2013-08-02 09:58:51 +02:00
Gunnar Beutner 1f3e92f2e7 ido: Keep track of insert IDs. 2013-08-02 08:59:19 +02:00
Michael Friedrich 7e01b2bb47 ido_mysql: Don't put already escaped string into quotes 2013-08-01 19:43:51 +02:00
Gunnar Beutner 2ea75203ce Fix: Table prefix was missing in some queries. 2013-08-01 09:47:47 +02:00
Gunnar Beutner 399aa74e12 ido: Make the table prefix configurable. 2013-08-01 09:46:48 +02:00
Gunnar Beutner c12b5fd698 Fix: Check results from the delegation component didn't work. 2013-07-31 08:35:13 +02:00
Michael Friedrich 0634847055 build fix on debian squeeze 2013-07-30 22:38:33 +02:00
Michael Friedrich 370ba8075a ido: fix mem leak; don't invalidate dbref on object inactive 2013-07-30 14:34:54 +02:00
Michael Friedrich 168dbbd28d livestatus: add separator support
fixes #4478
2013-07-29 19:43:12 +02:00
Michael Friedrich 2106322388 livestatus: make query exceptions debug only
fixes #4405
2013-07-29 11:22:56 +02:00
Michael Friedrich 5167626c92 livestatus: rename address to host (same as ido)
refs #2762
2013-07-29 11:18:41 +02:00
Gunnar Beutner 73beb278cf compat: Fix timestamps. 2013-07-25 09:45:40 +02:00
Gunnar Beutner 70220e7375 ido: Properly implement program status updates. 2013-07-25 09:23:34 +02:00
Gunnar Beutner 28726e5025 Implement status updates for services. 2013-07-24 10:55:04 +02:00
Gunnar Beutner 3a552403eb Implement support for timestamps. 2013-07-23 11:02:47 +02:00
Gunnar Beutner 42cf9ea8d6 Move some of the compat functionality to the CompatUtility class. 2013-07-23 09:12:38 +02:00
Gunnar Beutner cab2b41e56 Implement shift operator for the Value class. 2013-07-23 09:11:53 +02:00
Gunnar Beutner ba92ab9460 Yet another build fix. 2013-07-22 14:55:35 +02:00
Gunnar Beutner 3f3ba16a31 Build fix. 2013-07-22 14:52:11 +02:00
Gunnar Beutner 3931529dd9 Another build fix. 2013-07-22 14:51:04 +02:00
Michael Friedrich 81b3b48998 livestatus: add = operator for lists comparison
refs #2743
2013-07-22 14:26:18 +02:00
Gunnar Beutner 4306264217 Add missing lock. 2013-07-22 13:54:24 +02:00
Gunnar Beutner a7548a5fae Fix: Don't activate/deactive objects when we don't have a database connection. 2013-07-22 13:44:08 +02:00
Gunnar Beutner 0829d8e17e IDO: (Partially) implement status updates. 2013-07-22 12:08:49 +02:00
Michael Friedrich a939cbfef8 livestatus: fix HostsTable::ContactGroupsAccessor()
refs #4372
2013-07-19 16:24:09 +02:00
Michael Friedrich 4bc4defc97 livestatus: add childs attribute to hosts table
refs #4372
2013-07-19 16:11:35 +02:00
Michael Friedrich 669e3764bd livestatus: add connections and extcmds to status table
refs #4372
2013-07-19 15:42:00 +02:00
Michael Friedrich a991fbe1b6 livestatus: add host/service staleness indicator
refs #4372
2013-07-19 14:19:09 +02:00
Michael Friedrich 734b08d858 livestatus: more attributes
refs #4372
2013-07-19 13:59:39 +02:00
Gunnar Beutner dfda90f744 ido_mysql: Fix deadlock. 2013-07-19 10:34:46 +02:00
Gunnar Beutner 8a99019146 ido_mysql: Automatically reconnect when necessary. 2013-07-19 10:18:47 +02:00
Michael Friedrich f42f4fbdb2 compat: add last_time_* for status.dat 2013-07-18 18:28:43 +02:00
Michael Friedrich 446d9ad7c6 livestatus: add last_time_* to host and service table
refs #4372
2013-07-18 18:17:25 +02:00
Michael Friedrich 369fe28acc livestatus: add current_notification_number to host and service table
refs #4372
2013-07-18 17:32:09 +02:00
Michael Friedrich b4dd18481b compat: add current_notification_number 2013-07-18 17:23:48 +02:00
Michael Friedrich 26f1bf86f3 livestatus: finish timeperiods table
refs #4372
2013-07-18 15:30:39 +02:00
Michael Friedrich c36ea86ac9 livestatus: add unix and tcp socket support
use socket_type and then either socket_path or address and port.

fixes #4376
2013-07-18 14:57:04 +02:00
Michael Friedrich 03a830c453 livestatus: add num_hosts|services to status table
refs #4372
2013-07-18 09:48:15 +02:00
Michael Friedrich 33e5a839db livestatus: fix check_command_expanded for hosts table
refs #4372
2013-07-17 16:38:31 +02:00
Michael Friedrich de6696f92b livestatus: add more host table attributes
reduce TODOs to 16 of 112.

refs #4372
2013-07-17 16:10:49 +02:00
Gunnar Beutner c50f6ab82b Fix object updates and implement transaction support. 2013-07-17 14:10:28 +02:00
Gunnar Beutner e66c36ec9e Add rudimentary support for ido_mysql. 2013-07-17 11:34:57 +02:00
Michael Friedrich ad83a51547 livestatus: add more service table attributes (90% done)
* macro resolving for _expanded
* notification*
* timeperiod*
* downtimes/comments (with info)
* custom variables
* contacts, contactgroups, servicegroups

refs #4372
2013-07-16 17:58:23 +02:00
Michael Friedrich 917f7d363b compat: add next_notification to status.dat 2013-07-16 16:51:02 +02:00
Michael Friedrich e9eb40c1f7 livestatus: fix missing object lock on array in attribute filter 2013-07-16 15:38:59 +02:00
Michael Friedrich 32a1f50116 livestatus: contacts table fixes (ignore special custom attr)
refs #4372
2013-07-16 14:56:32 +02:00
Michael Friedrich 2cc8ef17e1 livestatus: finish host|servicegroup table attributes
refs #4372
2013-07-16 13:26:16 +02:00
Michael Friedrich df1d47a996 livestatus: finish contacts table attributes
refs #4372
2013-07-16 13:18:02 +02:00
Gunnar Beutner 81b3b57b11 Make libido a library, rather than a user-loadable module. 2013-07-16 10:40:55 +02:00
Gunnar Beutner 3a7bae618a Implement IDO (well, part of it anyway). 2013-07-16 10:19:13 +02:00
Gunnar Beutner ed28ae1b3f compat: Make sure host is not null. 2013-07-16 10:18:03 +02:00
Michael Friedrich 42dcd854fb livestatus: add array delimiter based on level for csv output
... 0 uses comma, 1 uses the pipe for csv output. for json we do not
make any difference.

fixes #4412
2013-07-15 10:50:41 +02:00
Michael Friedrich e81fd48bbd livestatus: use Empty instead of Value()
fixes #4410
2013-07-12 19:20:12 +02:00
Michael Friedrich 358aa3a6a5 livestatus: use enum for error codes, fix empty line
refs #4372
2013-07-12 18:25:18 +02:00
Michael Friedrich 45db7e08a2 livestatus: finish commentstable attributes
refs #4372
2013-07-12 18:10:27 +02:00