Problem
The current --statsd.relay.address is a handy feature to forward received statsd metrics to another statsd compliant listener. However, in current implementation, you can only set a single target for relay address, and sometimes having multiple relay addresses might be necessary to send it to more than one destinations.
Solution
In the current --statsd.relay.address, provide an option to have a multiple addresses delimited by ; character, so that when provided something like this:
--statsd.relay.address=host_1:1527;host_2:3362;host_3:4523
StatsD exporter would forward the received statsd data to host_1, host_2, and host_3 on their respective ports. Implement the forward mechanism such that submitting the statsd metrics to each destination will be asynchronous and independent to each other, so that even one of the targets would fail, timeout, or not available, other viable targets would still receive the statsd metrics.
Problem
The current
--statsd.relay.addressis a handy feature to forward received statsd metrics to another statsd compliant listener. However, in current implementation, you can only set a single target for relay address, and sometimes having multiple relay addresses might be necessary to send it to more than one destinations.Solution
In the current
--statsd.relay.address, provide an option to have a multiple addresses delimited by;character, so that when provided something like this:StatsD exporter would forward the received statsd data to host_1, host_2, and host_3 on their respective ports. Implement the forward mechanism such that submitting the statsd metrics to each destination will be asynchronous and independent to each other, so that even one of the targets would fail, timeout, or not available, other viable targets would still receive the statsd metrics.