يُنفِّذ استعلام 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, 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 |
| DateTime | day_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())
آخر تعديل في ٢٥ يونيو ٢٠٢٦