A Prometheus exporter that receives StatsD-style metrics and converts them into Prometheus metrics via configurable mapping rules.
StatsD exporter is a bridge for monitoring systems that translates StatsD metrics into Prometheus format. It serves as a drop-in replacement for StatsD, enabling a gradual transition to native Prometheus instrumentation while supporting existing StatsD-based applications. It converts StatsD gauges, counters, timers, histograms, and distributions into Prometheus metrics (gauges, counters, summaries, or histograms) with flexible mapping rules.
DevOps engineers and SREs who are migrating from StatsD-based monitoring (e.g., using Librato, InfluxDB, DogStatsD, or SignalFX) to Prometheus, or who need to run both systems concurrently during a transition. It is also for teams deploying applications in sidecar patterns, such as in Kubernetes pods.
Developers choose this exporter because it provides a seamless bridge with extensive tagging support for multiple StatsD variants, flexible metric mapping via glob or regex, and relay mode for gradual migration without disrupting existing workflows. Its sidecar-friendly design ensures per-instance metrics and maintains high performance with configurable caching and event flushing.
StatsD to Prometheus metrics exporter
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both glob and regex-based mapping rules to transform dot-separated StatsD metrics into labeled Prometheus metrics, allowing dynamic label extraction via wildcard references like $1.
Parses Librato, InfluxDB, DogStatsD, and SignalFX-style tags, converting them into Prometheus labels, though individual formats can be disabled via command-line flags for control.
Offers a relay mode to forward metrics to existing StatsD servers, enabling side-by-side operation during transition without disrupting current workflows, as shown in the sidecar diagram.
Includes configurable caching (LRU or random replacement), event queue sizing, and flushing intervals, allowing tuning for high-throughput environments as noted in the event flushing configuration section.
Mixing different tagging formats (e.g., Librato with DogStatsD) is considered an error with undefined behavior, limiting use in heterogeneous environments with diverse StatsD clients.
Requires YAML mapping files for advanced transformations, with careful ordering needed for glob rules and slower regex matching that is executed after glob mappings, increasing setup complexity.
Explicitly recommended as a temporary bridge in the README, urging users to switch to native Prometheus instrumentation long-term, which may necessitate future rework.