icinga2/lib/remote
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
..
CMakeLists.txt Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
actionshandler.cpp Fix: API queries on non-existant objects cause exception 2016-02-04 22:40:01 +01:00
actionshandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apiaction.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apiaction.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apiclient.cpp Remove unused variables 2016-02-08 17:10:12 +01:00
apiclient.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apifunction.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apifunction.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apilistener-configsync.cpp ApiListener: Bail out if object could not be created during config sync 2016-02-12 14:15:24 +01:00
apilistener-filesync.cpp Ignore the .timestamp file when determining whether the zone config has changed (second attempt) 2016-01-26 15:46:03 +01:00
apilistener.cpp Fix client not closing connections 2016-02-09 15:59:19 +01:00
apilistener.hpp Ensure that config sync updates are always sent on reconnect 2016-02-04 11:30:27 +01:00
apilistener.ti Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apiuser.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apiuser.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
apiuser.ti Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
authority.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
base64.cpp Fix another compiler warning 2016-01-18 09:41:52 +01:00
base64.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configfileshandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configfileshandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configobjectutility.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configobjectutility.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configpackageshandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configpackageshandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configpackageutility.cpp Rephrase some log messages 2016-02-09 15:59:19 +01:00
configpackageutility.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configstageshandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
configstageshandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
consolehandler.cpp Remove unused variables 2016-02-08 17:10:12 +01:00
consolehandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
createobjecthandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
createobjecthandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
deleteobjecthandler.cpp Fix delete object handler returning incorrect status codes 2016-03-01 16:53:52 +01:00
deleteobjecthandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
endpoint.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
endpoint.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
endpoint.ti Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
eventqueue.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
eventqueue.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
eventshandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
eventshandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
filterutility.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
filterutility.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httpchunkedencoding.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httpchunkedencoding.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httpclientconnection.cpp Fix deadlock in HttpClientConnection::DataAvailableHandler 2016-02-01 14:50:18 +01:00
httpclientconnection.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httphandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httphandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httprequest.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httprequest.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httpresponse.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httpresponse.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httpserverconnection.cpp API: Ensure that empty passwords w/ client_cn are properly checked 2016-04-04 16:38:47 +02:00
httpserverconnection.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httputility.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
httputility.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
i2-remote.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
infohandler.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
infohandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
jsonrpc.cpp Decode cluster messages in the WorkQueue threads 2016-01-27 16:52:01 +01:00
jsonrpc.hpp Decode cluster messages in the WorkQueue threads 2016-01-27 16:52:01 +01:00
jsonrpcconnection-heartbeat.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
jsonrpcconnection.cpp Fix incorrect method call in JsonRpcConnection::MessageHandler 2016-02-01 11:25:34 +01:00
jsonrpcconnection.hpp Decode cluster messages in the WorkQueue threads 2016-01-27 16:52:01 +01:00
messageorigin.cpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
messageorigin.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
modifyobjecthandler.cpp Fix: API queries on non-existant objects cause exception 2016-02-04 22:40:01 +01:00
modifyobjecthandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
objectqueryhandler.cpp Only hide navigational attributes which are not config/state 2016-04-13 12:02:08 +02:00
objectqueryhandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
statushandler.cpp Fix: API queries on non-existant objects cause exception 2016-02-04 22:40:01 +01:00
statushandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
typequeryhandler.cpp Fix: API queries on non-existant objects cause exception 2016-02-04 22:40:01 +01:00
typequeryhandler.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
url-characters.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
url.cpp Add InfluxDB Writer 2016-05-03 14:12:51 +02:00
url.hpp Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
zone.cpp Detect infinite recursion in the zone hierarchy graph 2016-03-23 09:03:53 +01:00
zone.hpp Improve the performance for ApiListener::SyncRelayMessage (part 2) 2016-01-27 12:18:16 +01:00
zone.ti Update copyright headers for 2016 2016-01-12 08:29:59 +01:00