🔦promQL Data Types
Last updated
Last updated
Instant vector
Instant vector sorguları, zaman serilerinin belirli bir anlık durumunu sorgulamak için kullanılır. Bu sorgular, sorgulanan zaman damgasına en yakın değerlerini döndürür. Örneğin, up{job="node_exporter"}
ifadesi, "node_exporter" işinin son anındaki durumunu ifade eder ve bir instant vector olarak sorgulanmış olur.
PromQL'deki Range Vector, belli bir zaman aralığı boyunca gözlemlenen ölçümler kümesidir. Range Vector'lar, bir zaman serisi veritabanında depolanan zaman serilerinin belirli bir aralığını sorgulamak için kullanılır.
Range Vector'lar, PromQL'de ölçümlerin zaman serilerini nasıl filtrelediğinizi belirlemenize olanak tanır. Örneğin, belirli bir zaman aralığındaki CPU kullanımı veya ağ trafiği gibi ölçümleri sorgulayabilirsiniz. Range Vector'lar, PromQL'de çok yaygın bir kullanıma sahiptir ve çoğu sorguda kullanılan temel bir özelliktir.
up{job="node_exporter"}[5m]
sorgusu bir Range Vector sorgusuna örnektir. Bu sorgu, "node_exporter" işindeki son 5 dakika boyunca "up" metrik etiketine sahip tüm zaman serilerini içeren bir Range Vector döndürür. Bu sorgu, son 5 dakika boyunca belirli bir süre içindeki "up" metrik değerleri hakkında bilgi edinmek için kullanılabilir.
avg_over_time(node_memory_Active_bytes[2m])/1024/1024/1024
Yukarıdaki sorgu, son 2 dakika içindeki node_memory_Active_bytes
metriklerinin ortalama değerini(avg_over_time
) alır ve sonucu gigabayt cinsinden döndürür.
avg_over_time()
fonksiyonu, bu aralık vektörünün ortalama değerini hesaplar. Son olarak, 1024/1024/1024
ifadeleri, byte cinsinden hesaplanan ortalama değeri gigabayt cinsinden ifade etmek için kullanılır.
Yalnızca bir sayısal değer döndüren bir ifadedir. Bu ifadeler, bir aralık veya anlık vektörü yerine, doğrudan bir sayıya karşılık gelirler.
Örneğin, bir hedefteki toplam bellek miktarını gösteren bir skaler ifade şu şekilde olabilir:
node_memory_MemTotal_bytes
Yukarıdaki ifade, bir skaler ifadesidir çünkü yalnızca tek bir sayısal değer döndürür ve herhangi bir zaman serisi verisine sahip değildir.
scalar(avg(node_memory_Active_bytes) / 1024 / 1024 / 1024)
Yukarıdaki sorgu, node_memory_Active_bytes
metriğinin ortalamasını gigabyte cinsinden scalar olarak döndürür.
PromQL'de string
veri tipi, karakter dizilerini temsil etmek için kullanılan bir veri tipidir. Veri tipi olarak, dizi işlemleri veya matematiksel işlemler gibi sayısal işlemler gerçekleştirilemez. Bunun yerine, karakter dizileriyle ilgili özel işlemler gerçekleştirilir. Özetle, string
ifadeler, metin verileriyle çalışmak için kullanılır ve sayısal işlemler için uygun değildir.