Всем привет! Задача следующая - есть некий сервис в кубере,

т.е. поды создаются и умирают, есть метрика типа gauge - увеличивается при создании файла в хранилище и уменьшается при удалении на величину размера этого файла в байтах, ну и из-за того, что поды постоянно новые - понятно, что итоговые данные это не одна кривая, а много кривых.
Вопрос - как подсчитать итоговое количество хранившихся в хранилище байт, умноженное на время за какой-то период? (для понимания - есть стоимость хранения, определяется как N центов за гигабайт в месяц, надо выставить юзеру итоговый счёт)

Начал смотреть в сторону integrate(), смутило то, что если значение метрики не меняется - то и интеграл не меняется, но как так-то? график определенного интеграла от ненулевой константы - y = k*x + b, причем k != 0... ну и интуитивно же понятно - файл лежит, время идёт, сумма должна расти, а там константа...

integrate() это что-то другое? или может эта задача вообще не так решается? как решать на исходных данных я конечно же знаю, интересует запрос для MetricsQL

1 ответов

11 просмотров
Sergey-R Автор вопроса

Не очень понятно, что значит "по всем точкам" и "суммировать все интегралы". Метрика меняет значение при добавлении и удалении файлов. Так же постоянно появляются и исчезают поды, что приводит к большому количеству отдельных кусков вместо одной непрерывной истории. Пока что нашёл, как правильно их "слить" в одну: sum(last_over_time(nemo2_storage{}[10y])) - при это график выглядит как надо - все увеличения записываются в плюс, уменьшения в минус, отключения подов игнорируются. теперь задача проинтегрировать это, и вот тут не очень понятно, как корректно задать интервал? причем не только в query, еще же есть start, end, step - с ними-то что делать? документация по MetricsQL только query описывает, но я проверил - от этих параметров результат тоже зависит.. можно, конечно, сделать query_range, и проинтегрировать руками, но как-то это так себе решение

Похожие вопросы

Обсуждают сегодня

Всем привет) Я попробовал турбо роутер октябрьский. Вроде доволен, но возникла проблемка) Бутстраповские модалки плодят .modal-backdrop элементы Если модалка открыта, должне...
Виталий
3
Так а кто может спарсить всех участников чата? Идишники
Magic
18
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Я тебе про общие вопросы, а не про узконаправленные . Ты че будешь в чате спрашивать как хтмл разметку сделать?!
rusteg
3
Как удалить health check в Consul? Казалось бы, это должно быть не сложно, но я не могу найти в документации ничего про это, только про добавление service с health check "в н...
Roman
2
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
13
Privet! Mozhet jesti ideji - nemogu sdelatj upload backup s filestore cerez WEB. Fail okolo 450mb, eto mozhet bitj prichinoi? Nemogu ponjatj..kak zagruzitj backup... Poluchaju...
Matiss 🤘 Black Oak IT 🌳 Batumi 🌴 Latvija
5
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Хотя вроде админка показывает удаленные модели, да? @dblackCat
Виталий
2
Нужно магазин с тильды на опен кат перенести Есть кто умеет? В лс
Magic
8
Карта сайта