Commit Graph

360 Commits

Author SHA1 Message Date
Gunnar Beutner e3f1c1ec6f Make sure timestamps are formatted as integers in macro strings
refs #11483
2016-06-21 11:29:12 +02:00
Gunnar Beutner c99fb68c2d Implement support for getting a list of global variables from the API
fixes #11955
2016-06-16 08:38:15 +02:00
Gunnar Beutner 28dee2b79b Improve filter support for /v1/templates
refs #11941
2016-06-16 08:38:15 +02:00
Michael Friedrich 2b474823f8 API: Fix that /v1 returns html if json is requested
fixes #10570
2016-06-15 17:46:09 +02:00
Gunnar Beutner 45919b4844 Fix crash in ApiListener::PersistMessage
fixes #11946
2016-06-15 11:26:35 +02:00
Gunnar Beutner ace6882b59 Implement support for retrieving a list of templates from the API
fixes #11941
2016-06-15 07:41:51 +02:00
Gunnar Beutner ff57b0ccd6 Add name attribute for the WorkQueue class
fixes #10816
2016-06-14 09:08:04 +02:00
Gunnar Beutner 9e29a3f8a0 Fix default behavior when none of the specified objects pass the user's permission filter
fixes #11926
2016-06-13 10:14:10 +02:00
Simon Murray 2e8c8809ea Add service metadata to InfluxDB Writer
Adds a new configuration variable in keeping with the graphite writer
which defaults to false to save network bandwidth.  All metrics currently
supported by graphite are now available to InfluxDB.  I added in some
formatting functions, to handle integers and booleans as we know and
control their types, and the supporting regexes in the sanity checker.

Updating to InfluxDB 0.13.X started giving 400 errors due to the missing
Host header in HTTP/1.1 requests.  HttpRequest has been updated to auto-
magically add the host and port to these requests if not explicitly
stated by the client code.

The exception code has been cleaned up to break out of the function
early if such a condition is raised, this avoids unnecessarily executing
code which will ultimately fail.

fixes #11912

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
2016-06-08 13:23:52 +02:00
Gunnar Beutner de1b70cf44 Fix incorrect variable names for joined fields in filter expressions
fixes #11779
2016-05-12 10:24:15 +02:00
Gunnar Beutner 0bc139af93 Improve timing behavior for UpdateObjectAuthority calls
refs #11765
2016-05-11 13:04:39 +02:00
Gunnar Beutner fc1168ed3e Only activate HARunOnce objects once there's a cluster connection
fixes #11765
2016-05-11 12:50:40 +02:00
Michael Friedrich 9a88185b12 API: Fix error handling for invalid JSON request body
fixes #11757
2016-05-10 15:16:35 +02:00
Michael Friedrich 1c6f09f44e API: Fix error message handling for invalid attributes in PUT requests
refs #11396
2016-05-10 13:43:36 +02:00
Michael Friedrich 8a65c4a776 API: Fix error message with PUT requests for existing objects
fixes #11396
2016-05-09 15:08:35 +02:00
Simon Murray 79c1e883d1 Add InfluxDB Writer
Adds an Icinga2 object to directly interface with InfluxDB's native HTTP API.
This supports optional basic authorization, and TLS transport.  InfluxDB didn't
appear to like having the TLS stream kept open, so instead this object buffers
data points which are then flushed to InfluxDB as a batch write, either driven
by a configurable timeout or threshold.

As InfluxDB is a schema-less database the host and service templates are user
configurable allowing both the measurement field and tags to be set by the
end user via macro expansion.  This allows access to tag fields from arbitrary
data associated with host.vars or service.vars.  If a particular value is
unable to be resolved, the tag will be dropped and not transmitted to InfluxDB.

Also alters URL handling to omit array brackets when only a single value is
attached to a key, otherwise InfluxDB has a strop with non-standard syntax.

fixes #10480

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2016-05-03 14:12:51 +02:00
Gunnar Beutner 09165e5ca6 Only hide navigational attributes which are not config/state
fixes #11567
2016-04-13 12:02:08 +02:00
Michael Friedrich d2f5008557 API: Ensure that empty passwords w/ client_cn are properly checked
fixes #11482
2016-04-04 16:38:47 +02:00
Gunnar Beutner b621b00e3a Detect infinite recursion in the zone hierarchy graph
fixes #10937
2016-03-23 09:03:53 +01:00
Jean Flach 9cdea730a3 Fix delete object handler returning incorrect status codes
Now a 200 OK only gets returned if all objects could be deleted

fixes #10770
2016-03-01 16:53:52 +01:00
Michael Friedrich c8a9f45697 ApiListener: Bail out if object could not be created during config sync
refs #11006
2016-02-12 14:15:24 +01:00
Jean Flach 19134f41cf Fix client not closing connections
fixes #11122
2016-02-09 15:59:19 +01:00
Jean Flach fa1d633484 Rephrase some log messages
refs #11122
2016-02-09 15:59:19 +01:00
Gunnar Beutner 90e241ca85 Fix: Cluster WQ thread dies after fork()
fixes #11118
2016-02-09 12:46:46 +01:00
Gunnar Beutner 14d805e6fe Fix crash in ApiListener::ConfigUpdateObjectAPIHandler
fixes #11006
2016-02-09 09:13:43 +01:00
Jean Flach 393a6bf641 Remove unused variables
fixes #11111
2016-02-08 17:10:12 +01:00
Gunnar Beutner e224e74994 Make sure the "syncing" attribute is set to false
refs #11083
2016-02-08 13:15:24 +01:00
Michael Friedrich 3227186c7d Fix: API queries on non-existant objects cause exception
fixes #11088
2016-02-04 22:40:01 +01:00
Michael Friedrich 949b129c65 Ensure that config sync updates are always sent on reconnect
fixes #11083
2016-02-04 11:30:27 +01:00
Gunnar Beutner 2dc385e31b Fix memory/thread leak in the HttpServerConnection class
fixes #10655
2016-02-03 09:54:31 +01:00
Gunnar Beutner ec050dd2a7 Fix deadlock in HttpClientConnection::DataAvailableHandler
refs #11014
2016-02-01 14:50:18 +01:00
Gunnar Beutner 98e104a773 Fix incorrect method call in JsonRpcConnection::MessageHandler
refs #11014
2016-02-01 11:25:34 +01:00
Gunnar Beutner deac316a45 Fix deadlock in {HttpServerConnection,JsonRpcConnection}::DataAvailableHandler
refs #11014
2016-02-01 08:35:55 +01:00
Gunnar Beutner fa7d0448f9 Decode cluster messages in the WorkQueue threads
refs #11014
2016-01-27 16:52:01 +01:00
Gunnar Beutner 9689223081 Use multiple WorkQueues to process cluster messages
refs #11014
2016-01-27 15:45:58 +01:00
Gunnar Beutner 54df0b74b6 Improve performance for ApiListener::RelayMessageOne
refs #11014
2016-01-27 13:39:31 +01:00
Gunnar Beutner 8c05003101 Improve the performance for ApiListener::SyncRelayMessage (part 2)
refs #11014
2016-01-27 12:18:16 +01:00
Gunnar Beutner 9ae1f1abee Improve performance for ApiListener::SyncRelayMessage
refs #11014
2016-01-27 08:43:20 +01:00
Gunnar Beutner 4185c75d8a Ignore the .timestamp file when determining whether the zone config has changed (second attempt)
refs #11014
2016-01-26 15:46:03 +01:00
Gunnar Beutner c5a003c162 Ignore the .timestamp file when determining whether the zone config has changed
refs #11014
2016-01-26 11:32:54 +01:00
Gunnar Beutner f3351bc80e Make sure the updated config sync works with old versions of Icinga 2
refs #11014
2016-01-26 10:46:27 +01:00
Gunnar Beutner 1eecc72093 Use MkDirP instead of MkDir when syncing zone configs
fixes #10932
2016-01-26 10:45:03 +01:00
Gunnar Beutner 980ce96910 Make sure the .timestamp file is synced for config updates
refs #11014
2016-01-26 09:04:26 +01:00
Michael Friedrich d412a9055d Fix cluster config timestamp again
refs #11014
2016-01-25 15:49:32 +01:00
Michael Friedrich a17419e8c2 Fix cluster config sync timestamp
refs #11014
2016-01-25 14:39:21 +01:00
Gunnar Beutner 8f53835c11 Make sure we only have one connection per satellite
refs #11014
2016-01-25 10:57:06 +01:00
Gunnar Beutner 6d88d9035d Remove redundant log messages
refs #10963
2016-01-21 13:02:53 +01:00
Gunnar Beutner e48ed33000 Add missing SetSyncing() call
refs #10963
2016-01-20 14:07:07 +01:00
Gunnar Beutner 55f0c589ad Skip log replay for endpoints with log_duration = 0
refs #10963
2016-01-19 17:25:28 +01:00
Gunnar Beutner e4b7111577 Check the certificate name when reconnecting to an instance
refs #10963
2016-01-19 16:24:12 +01:00