Некоторые функции имеют параметры по умолчанию, например:year(v=vector(time()) instant-vector). значит есть параметрvявляется мгновенным вектором, если он не указан, по умолчанию используется выражениеvector(time())значение .
1. абс ()
abs(v instant-vector)Возвращает входной вектор со всеми выборочными значениями, преобразованными в их абсолютные значения.
2. абстракция()
absent(v instant-vector)Если переданный ему вектор имеет какие-либо элементы, он возвращает пустой вектор; если переданный ему вектор не имеет элементов, он возвращает одноэлементный вектор со значением 1.
Это полезно для оповещения, когда для данной комбинации имени метрики и метки не существует временного ряда.
absent(nonexistent{job="myjob"})
# => {job="myjob"}
absent(nonexistent{job="myjob", instance=~".*"})
# => {job="myjob"}
absent(sum(nonexistent{job="myjob"}))
# => {}
Во втором примереabsent()Попытка получить метки для одноэлементного выходного вектора из входного вектора.
3. потолок()
ceil(v instant-vector)будетvВыборочные значения всех элементов округляются до ближайшего целого числа.
4. изменения()
Для каждого входного временного рядаchanges(v range-vector)Возвращает количество раз, когда его значение менялось в течение указанного диапазона времени в виде мгновенного вектора.
5. зажим_макс()
clamp_max(v instant-vector, max scalar)Зажимvвыборочные значения для всех элементов в , чтобы он был ограниченmax.
6. зажим_мин()
clamp_min(v instant-vector, min scalar)Зажимvвыборочные значения для всех элементов в , делая их нижние границыmin.
Семь, день_месяца()
day_of_month(v=vector(time()) instant-vector)Возвращает день месяца для каждого заданного времени в формате UTC. Возвращаемое значение: от 1 до 31.
Восемь, day_of_week()
day_of_week(v=vector(time()) instant-vector)Возвращает день недели для каждого заданного времени в формате UTC. Возвращаемое значение — от 0 до 6, где 0 означает воскресенье и т. д.
Девять, дней_в_месяце()
days_in_month(v=vector(time()) instant-vector)Возвращает количество дней в месяце для каждого заданного времени в формате UTC. Возвращаемое значение — от 28 до 31.
10. дельта()
delta(v range-vector)вычислить вектор диапазонаvРазница между первым и последним значением для каждого элемента временного ряда в возвращает мгновенный вектор с заданным приращением и эквивалентной меткой.deltaЭкстраполировано, чтобы покрыть полный диапазон времени, указанный в селекторе вектора диапазона, поэтому вы можете получить нецелочисленные результаты, даже если все значения выборки являются целыми числами.
Следующий пример выражения возвращает разницу в температуре процессора между текущим и 2 часа назад:
delta(cpu_temp_celsius{host="zeus"}[2h])
deltaДолжен использоваться только для счетчиков.
Одиннадцать, производное()
deriv(v range-vector)функция, которая вычисляет вторую производную каждого временного ряда в векторе диапазона v, используяПростая линейная регрессия
derivДолжен использоваться только для счетчиков.
12. ехр()
exp(v instant-vector)рассчитатьvЭкспоненциальная функция всех элементов в . Особые случаи:
Exp(+inf) = +InfExp(NaN) = NaN
Тринадцать, этаж()
floor(v instant-vector)будетvВыборочные значения всех элементов округляются до ближайшего целого числа. .
14. гистограмма_квантиль ()
histogram_quatile(φ float, b instant-vector)рассчитатьbφ-гистограмма векторов (0 ≤ φ ≤ 1) . (Для подробного объяснения фи-квантилей и использования типов метрик гистограмм см.Гистограммы и сводки. )bОбразцы — это количество наблюдений в каждом сегменте. Каждый образец должен иметь этикеткуle, где значение метки представляет защитный колпачок ведра. (Выборки без таких меток игнорируются.) Тип метрики гистограммы автоматически предоставляется с_bucketВременные ряды суффиксов и соответствующих меток.
использоватьrate()Функция задает временное окно для расчета квантиля.
Пример: метрика гистограммы называетсяhttp_request_duration_seconds. Чтобы вычислить 90-й процентиль продолжительности запроса за последние 10 минут, используйте следующее выражение:
histogram_quantile(0.9, rate(http_request_duration_seconds_bucket[10m]))
существуетhttp_request_duration_secondsКвантиль рассчитывается для каждой комбинации меток в . Совокупно, вrate()использовать вокруг функцийsum()Агрегатор. потому чтоhistogram_quantile()нужноleтег, поэтому он должен быть включен вbyв оговорке. Следующее выражение объединяет 90-й процентиль по работе:
histogram_quantile(0.9, sum(rate(http_request_duration_seconds_bucket[10m])) by (job, le))
Чтобы агрегировать все, укажите толькоleЭтикетка:
histogram_quantile(0.9, sum(rate(http_request_duration_seconds_bucket[10m])) by (le))
histogram_quantile()Функция интерполирует квантильные значения, предполагая линейное распределение внутри сегментов. Самое высокое ведро должно иметь+Infверхний предел . (В противном случае вернитесьNaN. ), если квантиль находится в самой высокой корзине, возвращает верхнюю границу второй по величине корзины. Если верхняя граница корзины больше 0, предполагается, что нижняя граница нижней корзины равна 0. В этом случае в пределах корзины применяется обычная линейная интерполяция. В противном случае для квантилей, лежащих в самой нижней корзине, вернуть верхнюю границу самой нижней корзины.
еслиbсодержит менее двух сегментов, возвращаетNaN. заφ<0,возвращение-Inf. заφ> 1,возвращение+Inf.
15. холт_винтерс ()
holt_winters(v range-vector, sf scalar, tf scalar)согласно сvДиапазон в производит сглаженные значения для временного ряда. коэффициент сглаживанияsfЧем он ниже, тем важнее старые данные. фактор трендаtfЧем выше значение, тем больше трендов данных учитывается.sfа такжеtfОба должны быть между 0 и 1.
holt_wintersТолько для счетчика.
16. час()
hour(v=vector(time()) instant-vector)Возвращает час дня для каждого заданного времени в формате UTC. Возвращаемое значение: от 0 до 23.
Семнадцать, дельта ()
idelta(v range-vector)вычислить вектор диапазонаvРазница между двумя последними выборками в , возвращающая мгновенный вектор с заданной дельтой и эквивалентными метками.
ideltaТолько для счетчика.
Восемнадцать, увеличить ()
increase(v range-vector)Вычислите добавление временного ряда в вектор диапазона. Монотонные прерывания (такие как сброс счетчика из-за перезапуска цели) корректируются автоматически. Экстраполяция увеличена, чтобы покрыть полный диапазон времени, указанный в селекторе вектора диапазона, поэтому вы можете получить нецелочисленные результаты, даже если счетчик увеличивается только на целочисленные приращения.
Следующий пример выражения возвращает количество запросов HTTP, измеренных за последние 5 минут для каждого временного ряда в векторе диапазона:
increase(http_requests_total{job="api-server"}[5m])
increaseследует использовать только сcountersиспользовать вместе. этоrate(v)Синтаксический сахар для умножения секунд в указанном окне временного диапазона следует использовать в основном для удобочитаемости. Использование в правилах записиrate, так что приращения последовательно отслеживаются каждую секунду.
Девятнадцать, разгневанный
irate(v range-vector)Вычисляет немедленную скорость роста в секунду для временного ряда в векторе диапазона. Это основано на последних двух точках данных. Монотонные прерывания (такие как сброс счетчика из-за перезапуска цели) корректируются автоматически.
В следующем примере выражение возвращает скорость HTTP-запросов в секунду за период до 5 минут для двух самых последних точек данных для каждого временного ряда в векторе диапазона:
irate(http_requests_total{job="api-server"}[5m])
Следует использовать только при отрисовке изменчивых быстро движущихся фишек.irate. Использование сигналов тревоги и медленно движущихся счетчиков, так как кратковременные изменения скорости могут быть сброшеныFORпункт, и трудно читать график, состоящий только из редких пиков.
Обратите внимание, что когдаirate()с операторами агрегации, такими какsum()) или функция, агрегированная с течением времени (все, что начинается с_over_timeфункция в конце), всегда берите первуюirate(), а затем суммировать. В противном случае, когда цель перезапустится,irate()Не удалось обнаружить сброс счетчика.
20. label_join()
заvДля каждого временного ряда в ,label_join(v instant-vector, dst_label string, separator string, src_label_1 string, src_label_2 string, ...)использоватьseparatorподключить всеsrc_labelsвсе значения и вернуть метку, содержащую соединениеdst_labelзначение временного ряда. Может быть любое количествоsrc_labels.
Этот пример вернет вектор, по одному для каждого временного ряда.fooэтикетка с добавленной стоимостьюa,b,c:
label_join(up{job="api-server",src1="a",src2="b",src3="c"}, "foo", ",", "src1", "src2", "src3")
Двадцать один, label_replace()
заvДля каждого временного ряда в ,label_replace(v instant-vector, dst_label string, replacement string, src_label string, regex string)Сочетание регулярного выражения регулярного выражения с тегамиsrc_labelсовпадение. Если есть совпадение, вернуть временной ряд, меткиdst_labelЗаменить расширением «Заменить».$1заменить первой совпавшей подгруппой,$2Заменить вторым и т.д. Если регулярное выражение не совпадает, временной ряд возвращается без изменений.
Этот пример вернет вектор, по одному для каждого временного ряда.fooметка, значение которойa:
label_replace(up{job="api-server",service="a:c"}, "foo", "$1", "service", "(.):.")
Двадцать два, ln()
ln(v instance-vector)рассчитатьvНатуральный логарифм всех элементов в . Особые случаи:
ln(+Inf) = +Inf ln(0) = -Inf ln(x<0) = NaN ln(NaN) = NaN
Двадцать три, log2()
log2(v instant-vector)рассчитатьvДвоичный логарифм всех элементов в . Частный случай эквивалентенlnчастные случаи в.
Двадцать четыре, log10()
log10(v instant-vector)рассчитатьvДесятичный логарифм всех элементов в . Частный случай эквивалентенlnчастные случаи в.
Двадцать пять, минута ()
minute(v=vector(time()) instant-vector)Возвращает минуты каждого заданного времени в формате UTC. Возвращаемое значение: от 0 до 59.
Двадцать шесть, месяц ()
month(v=vector(time()) instant-vector)Возвращает месяц года для каждого заданного времени в формате UTC. Возвращаемое значение — от 1 до 12, где 1 означает январь и т. д.
Двадцать семь, pred_linear()
predict_linear(v range-vector, t scalar)по вектору дальностиvИспользуйте линейную регрессию для прогнозирования значений временных рядов через t секунд.
predict_linearДолжен использоваться только со счетчиком.
Двадцать восемь, скорость ()
rate(v range-vector)Вычисляет среднюю скорость роста в секунду для временного ряда в векторе диапазона. Монотонные прерывания (такие как сброс счетчика из-за перезапуска цели) корректируются автоматически. Кроме того, вычисление экстраполируется до конца временного диапазона, позволяя пропустить царапины или неполное согласование цикла царапин с периодом времени диапазона.
Следующий пример выражения возвращает частоту запросов HTTP в секунду, измеренную за последние 5 минут для каждого временного ряда в векторе диапазона:
rate(http_requests_total{job="api-server"}[5m])
rateДолжен использоваться только для счетчиков. Его лучше всего использовать для графиков предупреждений и медленных счетчиков.
Обратите внимание, что когдаrate()с операторами агрегации, такими какsum()) или функция, агрегированная с течением времени (все, что начинается с_over_timeфункция в конце), всегда берите первуюrate(), а затем суммировать. В противном случае, когда цель перезапустится,rate()Не удалось обнаружить сброс счетчика.
Двадцать девять, сбрасывает ()
Для данных каждого временного рядаresets()Возвращает количество сбросов счетчика в виде мгновенного вектора в указанном временном диапазоне. Любое уменьшение значения между двумя последовательными выборками интерпретируется как сброс счетчика.
resets()Следует использовать только с счетчиками.
Тридцать, раунд()
round(v instant-vector, to_nearest 1= scalar)будетvВыборочные значения всех элементов округляются до ближайшего целого числа. Решите отношения путем округления. необязательныйto_nearestПараметр позволяет указать ближайший кратный округлению значения выборки. Это кратное также может быть дробью.
Тридцать один, скаляр()
Учитывая одноэлементный входной вектор,scalar(v instant-vector)Возвращает выборочное значение этого отдельного элемента в виде скаляра. Если входной вектор не имеет ровно одного элемента, тоscalarвернусьNaN.
Тридцать два, сортировка ()
sort(v instant-vector)Возвращает элементы вектора, отсортированные по их выборочным значениям в порядке возрастания.
Тридцать три, sort_desc()
sort(v instant-vectorа такжеsortТо же, но в порядке убывания.
Тридцать четыре, sqrt()
sqrt(v instant-vector)рассчитатьvКвадратный корень из всех элементов в .
Тридцать пять, время ()
time()Возвращает количество секунд с 1 января 1970 года по всемирному координированному времени. Обратите внимание, что на самом деле это возвращает не текущее время, а время, когда выражение было вычислено.
Тридцать шесть,timestamp()
timestamp(v instant-vector)Возвращает отметку времени каждой выборки заданного вектора в виде количества секунд с 1 января 1970 года по Гринвичу.
Эта функция была добавлена в Prometheus 2.0.
Тридцать семь, вектор()
vector(s scalar)скалярsВозвращается как вектор без меток.
Тридцать восемь, год ()
year(v=vector(time()) instant-vector)Возвращает год для каждого заданного времени в формате UTC.
Тридцать девять, _over_time()
Следующая функция позволяет агрегировать каждую серию заданного вектора диапазона с течением времени и возвращает мгновенный вектор с агрегированными результатами для каждой серии:
-
avg_over_time(range-vector): среднее значение каждой метрики в векторе диапазона. -
min_over_time(range-vector): минимальное значение каждой метрики в векторе диапазона. -
max_over_time(range-vector): максимальное значение каждой метрики в векторе диапазона. -
sum_over_time(range-vector): Суммарное значение каждой метрики в векторе диапазона. -
count_over_time(range-vector): количество выборочных данных для каждой метрики в векторе диапазона. -
quantile_over_time(scalar, range-vector): квантиль значений выборочных данных для каждой метрики в векторе диапазона, φ-квантиль (0 ≤ φ ≤ 1) -
stddev_over_time(range-vector): Стандартное отклонение совокупности каждой метрики в пределах вектора диапазона. - `stdvar_over_time(range-vector): Стандартное отклонение совокупности каждой метрики в векторе диапазона.
Обратите внимание, что все значения в пределах указанного временного интервала имеют одинаковый вес в агрегировании, даже если значения неравномерно распределены по временному интервалу.
сорок, ссылка
Адрес официального сайта Прометея:prometheus.io/Мой гитхаб:GitHub.com/хорошо это/лжец…