Commit Graph

679 Commits

Author SHA1 Message Date
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
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 d042a181bd Refactor commands and implement event handlers.
Fixes #3877
Fixes #4001
2013-06-13 11:33:00 +02:00
Gunnar Beutner 0fcbfdb236 Windows build fix. 2013-04-19 15:28:34 +02:00
Gunnar Beutner 5db55ea384 Fix 'make distcheck'. 2013-04-19 13:17:17 +02:00
Gunnar Beutner 1682ff2839 Optimize replication messages. 2013-04-05 14:05:00 +02:00
Gunnar Beutner d9730f5b83 Bugfixes for the replication component. 2013-04-05 12:09:26 +02:00
Gunnar Beutner 09f395a7de Refactor the socket subsystem. 2013-04-04 16:08:40 +02:00
Gunnar Beutner acfa3e6475 Fix deadlock in ReplicationComponent::EndpointConnectedHandler. 2013-04-01 17:21:57 +02:00
Gunnar Beutner 2e051ad9e2 Minor performance tweaks. 2013-03-27 18:02:51 +00:00