Прометей - та же метрика с разными метками переопределяется перед соскобом - PullRequest
0 голосов
/ 17 июня 2019

Я использую метрики различных калибров от Кафки до Прометея, используя пользовательское приложение python. Метрики должны потребляться в более и менее одно и то же время (миллисекунды). Я могу успешно удалить только последнюю метрику из приведенного ниже примера, так как первые три немедленно перезаписываются.

my_metric{labelA = "aaa", labelB = "111"} 8
my_metric{labelA = "aaa", labelB = "222"} 12
my_metric{labelA = "bbb", labelB = "111"} 7
**my_metric{labelA = "bbb", labelB = "222"} 15**

Я могу получить все четыре метрики, назначив им уникальное имя метрики, например ::10000

my_metric_aaa_111{labelA = "aaa", labelB = "111"} 8

но это, похоже, не лучшая практика, плюс работа с такими метриками очень сложна в целом позже в Графане.

Я также могу последовательно выводить метрики для удаления и уменьшать интервал удаления в конфигурации Prometheus, но это противоречит самой идее решения.

Помимо предложений, которые я совершенно не знаю - возможно ли сохранить для Прометея ту же метрику, чтобы ее можно было удалить, если отличаются только значения меток? Единственное обсуждение, которое я нашел по этому вопросу, здесь без ответа: https://github.com/prometheus/pushgateway/issues/65.

Если вышесказанное невозможно, могу ли я каким-либо образом объединить / объединить / объединить имя метрики позже в Prometheus / Grafana, чтобы иметь возможность работать с ними на основе их меток? Что означает удалить ненужное окончание _aaa_111 в приведенном выше примере, чтобы работать со всем как с одной метрикой?

1 Ответ

0 голосов
/ 25 июня 2019

Вы можете изменить имя задания Pushgateway, используя комбинацию меток или какое-то уникальное значение.Таким образом, Прометей может очистить все ваши метрики, и они не будут перезаписаны другими.

В вашем случае, если вы экспортируете: my_metric{labelA = "aaa", labelB = "111"} 8 в задание, называемое some_job_aaa_111.

ВыВы можете проверить толкание некоторых метрик вручную: echo "my_metric{labelA = \"aaa\", labelB = \"111\"} 8" | curl --data-binary @- http://localhost:9091/metrics/job/some_job_aaa_111

В Progheatus pushgateway вы увидите следующее:

Prometheus pushgateway jobs

В Prometheusзадание pushgateway превращается в метку, которую вы можете легко игнорировать, например, следующий вывод Prometheus:

Prometheus jobs

...