[collectd] Output plugin for submitting values to an http server
Paul Sadauskas
psadauskas at gmail.com
Fri Aug 21 18:28:34 CEST 2009
> * Enforce SSL communication: Only send data if the server can be
> authenticated and the connection is encrypted.
Probably a good idea. Not a feature I needed right away, but it should
be a pretty simple check in Curl.
> * Add support for other data formats, for example CSV, XML, and JSON.
> I've prepared for this by renaming the ‘http_write’ function to
> ‘http_write_command’. The (currently trivial) ‘http_write’ function
> can then be used to chose the appropriate formatting.
Also a good idea. I wanted something similar to what was already
existing in collectd, but if we go this route, all the output
formatters (putval, csv, xml, etc...) should be in a reusable util
library, that could also be used by the network plugin, and a generic
"file" output plugin, to replace the csv output plugin.
> * Implement support for multiple destinations.
> If at all desirable, we should add this before 4.8 because it will
> probably need modifications of the config options.
I don't know how useful this would be. I'm also not familiar with the
config parser, but I don't see why it would be incompatible. Just go
from:
Location "http://foo.com"
to:
<Location "http://foo.com">
User "foo"
</Location>
<Location "http://bar.com">
User "bar"
</Location>
But maybe the key names and the element names would conflict?
> Last but not least, I'm not very happy with the name “http”. What do you
> think about renaming the plugin to “write_curl”?
Not a huge fan of the name either. A better naming sceme to indicate
output plugins would be handy. I see we have "Notify Email" and
"Notify Desktop". Perhaps prefixing all the output plugins with
"Output" would be the right way? "Output CSV", "Output RRD", "Output
HTTP", etc. "curl" isn't a very good name, either, I think, because it
implies it reports on or to curl, when curl is really just an
implementation artifact.
Paul
More information about the collectd
mailing list