Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

prometheusQuery

يُنفِّذ استعلام Prometheus باستخدام بيانات من جدول TimeSeries.

البنية

prometheusQuery('db_name', 'time_series_table', 'promql_query', evaluation_time)
prometheusQuery(db_name.time_series_table, 'promql_query', evaluation_time)
prometheusQuery('time_series_table', 'promql_query', evaluation_time)

الوسيطات

  • db_name - اسم قاعدة البيانات التي يوجد فيها جدول TimeSeries.
  • time_series_table - اسم جدول TimeSeries.
  • promql_query - استعلام مكتوب بصيغة PromQL.
  • evaluation_time - الطابع الزمني للتقييم. لتقييم استعلام في الوقت الحالي، استخدم now()باعتبارهevaluation_time`.

القيمة المُعادة

يمكن أن تُرجع الدالة أعمدة مختلفة بحسب نوع نتيجة الاستعلام المُمرَّر إلى المعامل promql_query:

نوع النتيجة أعمدة النتيجة مثال
vector tags Array(Tuple(String, String)), timestamp TimestampType, value ValueType prometheusQuery(mytable, 'up')
matrix tags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType)) prometheusQuery(mytable, 'up[1m]')
scalar scalar ValueType prometheusQuery(mytable, '1h30m')
string string String prometheusQuery(mytable, '"abc"')

الميزات المدعومة في PromQL

المُحدِّدات

المُحدِّدات الآنية، ومُحدِّدات النطاق، ومطابقات التسميات (=, !=, =~, !~)، ومُعدِّلات الإزاحة، ومُعدِّلات الطابع الزمني @، والاستعلامات الفرعية.

الدوال

الفئة الدوال
النطاق rate, irate, delta, idelta, increase, last_over_time, deriv, changes, resets
الرياضيات abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg, round, clamp, clamp_min, clamp_max
المثلثات sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
DateTime day_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
الوسم label_replace, label_join
النوع scalar, vector
مُدرَّج تكراري histogram_quantile
أخرى time, pi

ملاحظة: تستخدم histogram_quantile الاستيفاء الخطي على حاويات المُدرَّج التكراري التقليدي (التي يحدّدها الوسم le). لا يتم دعم المُدرَّجات التكرارية الأصلية. يجب أن تكون قيمة المعامل phi (مستوى quantile) scalar ثابتًا. وتُرفض التعبيرات التي تتغيّر في كل خطوة، مثل histogram_quantile(time() / 1000, ...)، مع استثناء NOT_IMPLEMENTED.

العوامل

العوامل الثنائية الحسابية (+, -, *, /, %, ^, atan2) وعوامل المقارنة (==, !=, <, >, <=, >= مع bool اختياري)، مع مُعدِّلات on()/ignoring() وgroup_left()/group_right().

عوامل المجموعات المنطقية and وor وunless، مع مُعدِّلات on()/ignoring().

والعوامل الأحادية + و-.

عوامل التجميع

sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — مع مُعدِّلات اختيارية من نوع by() أو without().

غير مدعوم حاليًا

  • عامل التجميع count_values
  • دوال النطاق predict_linear، avg_over_time، min_over_time، max_over_time، sum_over_time، count_over_time، quantile_over_time، stddev_over_time، stdvar_over_time، present_over_time، absent_over_time، mad_over_time، first_over_time، ts_of_min_over_time، ts_of_max_over_time، ts_of_last_over_time، ts_of_first_over_time
  • الدالة absent

مثال

SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
Navigation