الانتقال إلى المحتوى الرئيسي
يُنفِّذ استعلام 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:
نوع النتيجةأعمدة النتيجةمثال
vectortags Array(Tuple(String, String)), timestamp TimestampType, value ValueTypeprometheusQuery(mytable, ‘up’)
matrixtags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType))prometheusQuery(mytable, ‘up[1m]‘)
scalarscalar ValueTypeprometheusQuery(mytable, ‘1h30m’)
stringstring StringprometheusQuery(mytable, ‘“abc”‘)

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

المُحدِّدات

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

الدوال

الفئةالدوال
النطاقrate, irate, delta, idelta, last_over_time
الرياضياتabs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg
المثلثاتsin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
DateTimeday_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
النوعscalar, vector
مُدرَّج تكراريhistogram_quantile
أخرىtime, pi
ملاحظة: تستخدم histogram_quantile الاستيفاء الخطي على حاويات المُدرَّج التكراري التقليدي (التي يحدّدها الوسم le). لا يزال دعم المُدرَّجات التكرارية الأصلية غير متاح، ويجب أن تكون قيمة المعامل phi (مستوى quantile) حاليًا scalar ثابتًا — وتُرفض التعبيرات التي تتغيّر في كل خطوة، مثل histogram_quantile(time() / 1000, ...)، مع الخطأ NOT_IMPLEMENTED.

المعاملات

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

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

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

مثال

SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
آخر تعديل في ٢٥ يونيو ٢٠٢٦