Commit Graph

695 Commits

Author SHA1 Message Date
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
Michael Friedrich 8c02c3a75a livestatus: servicegroup members as host/service array
refs #4372
2013-07-12 17:50:41 +02:00
Michael Friedrich 9f9f3623fc livestatus: add servicegroupstable attributes
refs #4372
2013-07-12 16:47:37 +02:00
Michael Friedrich 1b5f4dcde7 livestatus: join csv arrays into comma seperated string
refs #4374
2013-07-12 16:32:13 +02:00
Michael Friedrich 6dc88e770b livestatus: add hostgroup attributes
refs #4372
2013-07-12 15:35:32 +02:00
Michael Friedrich 36e9e9adbd custom attr: move into DynamicObject using GetCustom() 2013-07-12 15:13:05 +02:00
Michael Friedrich cfb3c9cf9f livestatus: implement avg,min,max,std,invsum,invavg stats aggregators
fixes #4398
2013-07-12 12:07:32 +02:00
Michael Friedrich 2a3b41f948 livestatus: remove stop function again 2013-07-12 11:04:04 +02:00
Michael Friedrich 26cc0ecb02 livestatus: bugfixes. 2013-07-12 10:54:57 +02:00
Michael Friedrich 904830ee3e livestatus: add sum aggregator, refactor Filter/Stats handling
refs #4398
2013-07-11 17:54:36 +02:00
Michael Friedrich 4f75ba03ff livestatus: add basic aggregator support
refs #4398
2013-07-11 16:08:53 +02:00
Michael Friedrich 55d9eb3548 livestatus: log which table misses the column 2013-07-11 14:20:43 +02:00
Michael Friedrich 4731faea89 livestatus: add timeperiods table
refs #4372
2013-07-11 13:03:14 +02:00
Michael Friedrich 3184fee145 livestatus: fix host/servicegroup tables
add empty data providers for all requestable columns.

refs #4372
2013-07-11 12:43:27 +02:00
Michael Friedrich f631304a23 livestatus: fix check_type (0..active, 1..passive)
refs #4372
2013-07-11 11:55:32 +02:00
Michael Friedrich 96e1935fb4 livestatus: add commandstable name/line
requires conversion of commandline (plain text or array).

refs #4372
2013-07-11 11:47:32 +02:00
Michael Friedrich 0a033b0f87 livestatus: add parentObjectAccessor to function prototypes
comments and downtimes where missing, even if unused.
2013-07-11 11:10:56 +02:00
Michael Friedrich d6d61354ed livestatus: time values must be integer seconds
fixes #4406
2013-07-11 10:57:21 +02:00
Gunnar Beutner 540e63c157 Make sure new comments/downtimes are added to the ID cache right away. 2013-07-11 08:58:11 +02:00
Gunnar Beutner 033389d243 Fix invalid function call. 2013-07-11 08:40:02 +02:00
Michael Friedrich 2a097d0b04 livestatus: more fixes on joins, ptrs
refs #4372
2013-07-10 16:11:40 +02:00
Michael Friedrich 8033586f66 livestatus: close socket on component Stop()
refs #4376
2013-07-10 14:19:01 +02:00
Michael Friedrich ff61df9d71 livestatus: use generic Value() as row accessor instead of Object()
This will allow comments/downtimes to be stashed as string (id) while
existing objects will still be available as Value().

refs #4372
2013-07-10 14:11:03 +02:00
Michael Friedrich 540489e408 livestatus: add host and service group getters
refs #4372
2013-07-09 18:33:27 +02:00
Michael Friedrich 6ce71489c8 livestatus: add commands table (thruk now shows extinfo)
refs #4372
2013-07-09 18:09:03 +02:00
Michael Friedrich 82ae632389 livestatus: fix typo 2013-07-09 18:05:47 +02:00
Michael Friedrich c4aae5bdba livestatus: add empty logtable
refs #4372
2013-07-09 17:46:48 +02:00
Michael Friedrich aefda9f124 livestatus: add contact*, status, service table attributes
comments and downtimes require special object treatment -> linked to
services?

refs #4372
2013-07-09 17:15:38 +02:00
Gunnar Beutner 0f56513087 Merge remote-tracking branch 'origin/master' 2013-07-09 08:46:02 +02:00
Gunnar Beutner 4961523e91 Add DECLARE_PTR_TYPEDEFS macro for Ptr/WeakPtr typedefs. 2013-07-09 08:43:52 +02:00
Michael Friedrich 0d3bf55e46 livestatus: add service table accessors
not yet complete, but the same level as host table accessors.

refs #4372
2013-07-08 17:09:15 +02:00
Michael Friedrich 16adc9a0c5 livestatus: add more hosttable todos
refs #4372
2013-07-05 19:14:10 +02:00
Michael Friedrich ec3e8cfe1c livestatus: move host attribute getter into host->service again
refs #4372
2013-07-05 13:42:40 +02:00
Michael Friedrich 03c18367ff livestatus: hosttable: fix checkperiod null ptr
refs #4372
2013-07-05 11:46:20 +02:00
Michael Friedrich 7b0c27acc5 livestatus: hosttable: check if custom dictionary exists
refs #4372
2013-07-05 11:32:19 +02:00
Michael Friedrich 69cb48242f livestatus: hoststable: lock service object for acknowledgement getters
refs #4372
2013-07-05 11:28:05 +02:00
Michael Friedrich e448374674 livestatus: fix missing symbols
refs #4372
2013-07-05 10:51:09 +02:00
Michael Friedrich 88197d216a livestatus: add first part of host data providers
refs #4372
2013-07-05 09:35:49 +02:00
Michael Friedrich 1db349df18 livestatus: stop reading data if stream was closed
fixes #4371
2013-07-04 09:45:44 +02:00
Michael Friedrich 80c91aa91e stream/livestatus: refactor ReadLine with context saving 2013-07-03 16:16:38 +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 6f7b231302 compatlog: refactor custom/acknowledgement notifications with author/commenttext
refs #4361
2013-07-01 11:17:58 +02:00