carbon-relay-ng
carbon-relay-ng copied to clipboard
uwsgi stats not working
When I try to use this with a simple uWSGI app configured to push stats to Graphite through
carbon = 10.0.0.22:2003 in the config, the connection opens but remains stuck in TIME_WAIT with no data coming through.
Anyone else seeing this?
A bit more info: it looks like metrics are getting to the relay but are being discarded because they contain invalid characters in the metric name:
uwsgi.orion.127_0_0_1:3001.worker1.tx
uwsgi.myserver.network.net./var/run/uwsgi/uwsgiapp_sock.active_workers
Is this a fault with uWSGI writing metrics with the wrong name or is carbon-relay-ng overly sensitive? Do the metrics above follow the naming syntax for Graphite?
That or you could normalise illegal characters to spaces or underscores, like carbon-c-relay does it.
chars like these are a common source of various issues in graphite, though I think graphite-whisper may allow and not have issues with ':' (though only 1 way to be sure is test it), if you test it, and all works fine, i suppose we could allow ':' again. afaik many people generally avoid all special characters, even though the protocol docs doesn't say anything about them but that's just because the carbon proto is poorly documented.
Does carbon-relay-ng do any cleaning of metric names? We have legacy metric names with spaces sent by Ganglia (yes, ganglia sends the spaces, thus breaking the graphite line format). Will they just be dropped, or will the spaces be converted to underscores?
It does not. It would surprise me if this would work as the lines can't be parsed if you have a bunch of spaces like that