🔢Binary Operators
Prometheus Query Language'deki iki anahtar kelime arasındaki işlemler, PromQL binary operators olarak bilinir. Binary operators, iki değer arasında işlem yapmak için kullanılır ve sonucu bir skaler değere dönüştürür.
Binary operators, birden fazla metrik arasında işlem yapmak veya verileri karşılaştırmak için kullanılır ve PromQL'de sıklıkla kullanılır.
Binary Operators;
Arithmetic binary operator
Comparison binary operators
Logical/set binary operators
Arithmetic binary operator
Arithmetic binary operators, iki sayı arasında yapılan matematiksel işlemleri ifade eden binary operatörlerdir. Bu operatörler, iki sayıyı toplama, çıkarma, çarpma veya bölme işlemlerinde kullanılarak sonucu bir skaler değere dönüştürür.
Aşağıda arithmetic binary operatorlar hakkında maddeler halinde açıklamalar bulabilirsiniz:
Arithmetic binary operatorlar, matematiksel hesaplamaların yanı sıra veri analizi, görselleştirme ve programlama dillerinde kullanılır. PromQL'de kullanıldıklarında, metric verileri işlemek için kullanılırlar ve sonucu skaler bir değer olarak döndürürler.
Bu operatörler arasında öncelik sıralaması bulunur, öncelik sıralaması şu şekildedir:
**
*
,/
,%
+
,-
Yani, öncelik sıralamasına uygun olarak işlemler yapılır. Örneğin, 2 + 3 * 4 işleminde çarpma işlemi önce yapılır ve sonuç olarak 14 elde edilir.
Example;
Bu sorgu, bir sistemdeki "aktif bellek" miktarını bayt cinsinden ifade eden node_memory_Active_bytes
metriğinin 8'e bölünmesi işleminden oluşur.
Comparison binary operators
PromQL'deki Comparison Binary Operatorlar, karşılaştırma işlemleri yapmak için kullanılan operatörlerdir. Bu operatörler, iki değeri karşılaştırır ve sonucu true (doğru) veya false (yanlış) olarak döndürür.
Bu operatörler, özellikle metrik verileri sorgularken sıklıkla kullanılır. Örneğin, CPU kullanımı, bellek kullanımı, ağ trafiği vb. gibi metriklerin belirli bir eşik değerinin üzerine çıkıp çıkmadığını kontrol etmek için bu operatörler kullanılabilir.
Example;
Bu sorgu, bir düğümde (node) çalışan işlemlerin sayısının 6'dan büyük olup olmadığını kontrol eder.
Sorguda yer alan >
operatörü, sağ tarafındaki değerin sol tarafındakinden büyük olup olmadığını kontrol eder. Bu durumda, sorgu, bir düğümde (node) çalışan işlemlerin sayısının 6'dan büyük olup olmadığını kontrol eder. Sonuç olarak, eğer çalışan işlemlerin sayısı 6'dan büyükse, sorgu true (doğru) değerini döndürür. Aksi halde, sorgu false (yanlış) değerini döndürür.
Logical/set binary operators
PromQL'de, mantıksal/set ikili operatörleri, iki veya daha fazla ifadeyi karşılaştırmak ve sonuçları birleştirmek için kullanılan operatörlerdir. PromQL'de yaygın olarak kullanılan bazı mantıksal/set ikili operatörler aşağıda açıklanmaktadır:
and
: İki veya daha fazla ifadenin "ve" mantıksal işlemi yapılır. Sonuç, tüm ifadelerin doğru (true) olması durumunda true (doğru) değerini döndürür.or
: İki veya daha fazla ifadenin "veya" mantıksal işlemi yapılır. Sonuç, en az bir ifade doğru (true) olduğunda true (doğru) değerini döndürür.unless
: İlk ifade ikinci ifadeye eşit veya küçük olduğunda true (doğru) değerini döndürür. Aksi halde, false (yanlış) değerini döndürür.group_left
,group_right
: Bu operatörler, etiket çiftleri üzerindeki işlemlerde kullanılır ve birleştirme işlemi için kullanılır.group_left
operatörü sol etiket çiftine,group_right
operatörü ise sağ etiket çiftine uygulanır.
Example;
Bu sorgu, prometheus_http_requests_total
adlı metriği ve promhttp_metric_handler_requests_total
adlı metriği birleştirir. Her iki metrik de HTTP isteklerini sayar ve prometheus server'ı üzerinde gerçekleşen farklı isteklerin sayısını hesaplar. or
operatörü, her iki metrikten elde edilen sonuçları birleştirir ve sonuç olarak iki metriğin ölçtüğü toplam HTTP istek sayısını gösterir.
Bu "and" sorgusu olarak bilinen iki farklı metrik etiketi arasında bir kesişim bulmaya çalışır. Sonuç olarak, bu sorgu "ext4" dosya sistemi türüne sahip disk bölümlerinin mevcut ve toplam bayt sayılarının kesişimini verir ve sonuçlar her zaman and
ifadesinin ilk vektöründen gelir.
Özetle,
Yukarıdaki sorgunun çıktısı, ext4 dosya sistem türüne sahip olan bir cihazın toplam dosya sistemi boyutunu vermektedir.
Yukarıdaki sorgunun çıktısı, ext4 dosya sistem türüne sahip olan bir cihazın kullanılabilir dosya sistemi alanını (byte cinsinden) göstermektedir.
Bu sorgu, node_filesystem_avail_bytes
ve node_filesystem_size_bytes
metriklerini mountpoint="/"
, yani kök dizin için filtreler. and
operatörü ile bu iki metriğin tam olarak eşleşen etiket kümelerine sahip olan öğelerini seçer ve diğer öğeleri atar. Sonuçlar her zaman and
ifadesinin ilk vektöründen gelir.
More Examples;
prometheus_http_requests_total
adlı metriğin her bir örneğindeki değerleri 2 ile çarpar.
Bu sorgu, node_cpu_seconds_total
adlı metrikte toplam CPU kullanım süresini saniye cinsinden tutan değerlerin 500'den büyük olan örneklerini seçer. Bu sorgu, özellikle yüksek CPU kullanımı olan işlemleri izlemek için kullanılabilir. node_cpu_seconds_total
metriği, her bir işlem için kullanım süresi miktarını kaydeder. >500
ifadesi, sorgunun sadece 500 saniyeden fazla CPU kullanımı olan işlemleri seçmesini sağlar.
Last updated