Our rest service generates metrics for each service call, which are send via statsd protocol for each single service call. Telegraf with StatsD Input Plugin collector acts as collector and aggregator for these. Telegraf pushes the aggregated metrics to InfluxDB using InfluxDB output and to mimir push api endpoint using http output each 15s. Both configured as recommended in influx documentation.
InfluxDB is our legacy solution, we want to switch all dashboards to mimir as metrics store.
Our target stack runs on k8s with grafana 12.2 and mimir 2.8.
This showed up a challenge probably because there is no metric, if the service is not invoked in each telegraf aggregation interval (= 15s).
We discovered, querying the same metric from mimir and influxDB shows different results. But double-checking the service calls with our accesslogs we confirmed, that InfluxDB works fine.
Compared with InfluxDB the deviation we see in mimir shows both smaller and higher values.
mimir query in grafana: (interval is set to 15s).
sum by(name) (service_requests{name="myService", host="myHost"})
influx query in grafana:
SELECT sum("value") FROM "service_requests" WHERE ("host"::tag = 'myHost' AND "name"::tag = 'myService') AND $timeFilter GROUP BY time($__interval), "name"::tag fill(null)
Results:
Questions:
Is anyone aware of documentation / best practises or has a comparable setup up and running?
Is it generally possible to replace influxDB with mimir in our setup, or is this impossible due to missing metrics caused by using statsd and event-based metrics push?
InfluxDB does not recommend using statsd and mimir, but for performance and scaling reasons, not functional issues.
Any help is appreciated, thanks!


