For client how to be sure that sended event is normal formatted and will be stored in output source?
F.e. if there is wrong format now it’s impossible determinate by response (f.e. 500, 403, etc).
With the socket_listener plugin it is not possible to be sure that the sent data was successfully accepted. Adding this would require the creation of a more complex protocol, and avoiding this was one of the main design goals of this particular input.
Maybe another plugin, such as the http_listener, fits your requirements closer? This input behaves like an InfluxDB /write
endpoint and will report errors using a status code.
For format checking it’s more than enough, great, thanks!
But if I understand it’s impossible also check that output is works fine and report this to user.
In case telegraf [ in. http_listener -> out.influxdb ] -> influxdb
if influxdb is down client who sent metrics to http_listener not receive any error…
May be there is some workaround for that?
Telegraf will keep metrics in memory and retry until the metric_buffer_limit
is reached, afterwards it will drop the oldest metrics, outside of this there is not currently a fully durable solution. In the future we plan to implement more robust queue handling in which case you could use any one of the supported queue systems for durable handling.
daniel, thank you. picture is clear