I will try to describe the problem.We send our app-metrics to statsd and we have a statsd_exporter for prometheus.
One of the metric we have is a counter which indicates a count of some "cron job" executions.
And we have an alertmanager which checks the following query:
sum(increase(extremist_material_notifier_executions_count {environment="production"}[1d2h])) < 1This worker may run on different servers and statsd automatically adds "instance" label for each metric so this metric may have a different "instance" label on each run - this is why we use "sum" in alert-query.
Example of metrics:extremist_material_notifier_executions_count{environment="production", instance="tasks1"}extremist_material_notifier_executions_count{environment="production", instance="tasks2"}extremist_material_notifier_executions_count{environment="production", instance="tasks3"}extremist_material_notifier_executions_count{environment="production", instance="tasks4"}
As you know statsd forgets its metrics on restarts so when it happens we have a "counter reset" and "increase"-function does not handle it well - it does not show increase when counter was e.g. 100 before the restart and disappears after statsd restart.
So I would like to use "textfile collector" module to persist such metrics and expose all other metrics through "/metrics" endpoint as usual - this is why I would like to use different stores for different metrics.
среда, 12 мая 2021 г. в 23:14:29 UTC+3, dmag...@gmail.com:Hello,Do you have an example of a use case for this?In general, you wouldn't "care to lose" any metrics. On a server restart, you'd lose all of them, which Prometheus would see as a reset, and deal with it normally.That is actually the best practice, and we recommend emptying the metrics temp directory on startup, if you have a persistent file system, to ensure metrics get reset.Sorry if I misunderstood your use case, however. An example would probably help.Thank you!DanielOn Saturday, May 8, 2021 at 6:21:50 PM UTC+1 main...@gmail.com wrote:ProblemI would like to use different stores for different metrics.E.g. for metrics that I don't scare to lose I would like to use faster storage, and for metrics I scare to lose - more reliable storage like DirectFileStore.But seems like it is possible for now just to use a single store for all metrics, because there is a one "global" config setting `Prometheus::Client.config.data_store=`
I'm ready to make a PR with such functionality. What do you think about such feature?
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-devel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/12a310b2-e69e-4865-a936-21bfab6111a6n%40googlegroups.com.