Как узнать количество временных рядов, хранящихся в Prometheus LevelDB
Я несу ответственность за обслуживание серверов Prometheus в нашей компании. Метрики, однако, предоставляются командами.
Есть ли способ узнать количество временных рядов, хранящихся в базе данных Prometheus? Мы используем хранилище данных LevelDB по умолчанию. Мне нужны эти значения, чтобы выяснить, нужно ли мне настроить параметры локального хранилища в наших экземплярах Prometheus.
Спасибо за вашу помощь.
6 ответов
Как насчет count({__name__=~".+"})
?
Он возвращает количество временных рядов в базе данных. Я сравнил с количеством метрик, которые в настоящее время выставляются каждой целью путем списания вручную, и оно соответствует +/- 10%. Я думаю, что разница связана с некоторыми целями, которые у меня были в прошлом, и теперь они не в сети.
Просто потому, что я все время забываю и приходится это гуглить, а этот вопрос вверху. Согласно этому ответу, вероятно, будет разница между &count({__name__=~".+"})
из-за различий в том, что они считают «активным», но если у вас нет больших различий в количестве показателей, я бы рекомендовалprometheus_tsdb_head_series
потому что, если у вас много метрик, запросы выполняются намного быстрее.
https://prometheusui.com:9090/status ---> Head Stats -> это даст вам полный статус.
После некоторых исследований и благодаря комментариям David B. я нашел решение, которое "работает для меня" ™
Чтобы узнать количество временных рядов, хранящихся в Prometheus, я использую эту команду в storage.local.path
папка: ls -l {{0..9},{a..f}}{{0..9},{a..f}} | grep -E "*.db$" | wc -l
Кроме того, в документации к Prometheus найдены некоторые метрики, которые могут помочь при решении проблем с памятью / оптимизации.
Возможно, это не самый сложный способ, но он дал мне числа, которые я искал.
Перейдите по этому URL-адресу:
https://ВАШ-ПРОМЕТЕЙ-UI:9090/tsdb-status
ИЛИ Запросите это:
prometheus_tsdb_head_series
ИЛИ запросите это:
count({__name__=~".+"}
ИЛИ вы также можете посчитать файлы вstorage.local.path
сls -l {{0..9},{a..f}}{{0..9},{a..f}} | grep -E "*.db$" | wc -l
Я не проверял этот.
Вы можете попробовать ({name= ~ ". +"}) На консоли Prometheus, чтобы получить полный временной ряд