🖊️Alıştırma
Last updated
Last updated
Bu PromQL sorgusu, bir düğümün bellek kullanımını yüzde olarak hesaplar.
node_memory_MemAvailable_bytes
metriği düğümde kullanılabilir bellek miktarını gösterirken, node_memory_MemTotal_bytes
metriği düğümün toplam bellek miktarını gösterir. Bu iki değer birbirine bölünerek bellek kullanımının yüzdesi hesaplanır.
Daha sonra bu yüzde değeri 100 ile çarpılır. Son olarak, elde edilen değer 20’den küçükse sorgu doğru döner.
Bu PromQL sorgusu, bir düğümün disk okuma işlemlerinin ortalama süresini hesaplar.
rate
işlevi, belirli bir zaman aralığındaki bir sayaç metriğinin artış hızını hesaplar. Bu sorguda, son 1 dakikadaki node_disk_read_time_seconds_total
ve node_disk_reads_completed_total
metriklerinin artış hızı hesaplanır. Daha sonra bu iki değer birbirine bölünerek disk okuma işlemlerinin ortalama süresi hesaplanır.
Bu sorgu, ext4 dosya sistemi tipine sahip bir disk bölümündeki boş alanın son 2 saat boyunca nasıl değiştiğini hesaplar ve lineer regresyon yöntemini kullanarak bu değişimin 6 saat boyunca devam etmesi durumunda disk bölümünün doluluk oranını tahmin eder.
Sorgunun ayrıntılı açıklaması şöyledir:
node_filesystem_free_bytes{fstype="ext4"}
: ext4 dosya sistemi tipine sahip disk bölümlerinin boş alanını temsil eden time series'leri seçer.
[2h]
: Sadece son 2 saat içindeki verileri seçer.
predict_linear(node_filesystem_free_bytes{fstype="ext4"}[2h], 6*60*60)
: Son 2 saat içindeki verilere dayanarak, 6 saat boyunca devam etmesi durumunda disk bölümündeki boş alanın azalacağı tahmin edilen oranı hesaplar.
/1024/1024/1024
: Byte cinsinden tahmini doluluk oranını GB cinsine dönüştürür.
Bu sorgu, Prometheus gibi bir zaman serisi veritabanında, "node_cpu_seconds_total" metriğinin "idle" modu altında belirtilen süre boyunca tüm CPU çekirdeklerinde ortalama boşta kalma yüzdesini hesaplar ve 100'den çıkararak işlemci kullanım yüzdesini hesaplar.
"idle" modu, CPU'nun boşta kalma süresini temsil eder.
"irate(node_cpu_seconds_total{mode="idle"}[10m])" ifadesi, son 10 dakika boyunca CPU boşta kalma süresindeki değişim oranını hesaplar.
irate()
fonksiyonu aralık vektöründeki son iki veri noktasını alır ve bu iki nokta arasındaki artış hızını hesaplar.
"avg by(instance)" ifadesi, tüm CPU çekirdeklerinin ortalamasını alır ve her bir çekirdek üzerinde ayrı ayrı hesaplanır.
CPU kullanımının yüzde cinsinden ifade edildiği bir metrik elde etmek için irate(node_cpu_seconds_total{mode="idle"}[10m])
ifadesi kullanılır. Bu ifade, son 10 dakika boyunca ölçülen CPU kullanımını yüzde cinsinden ifade eder.
Ancak, bu ifade sonucunda elde edilen değer doğrudan kullanım yüzdesi değil, kullanım yüzdesinin tamamlayıcısıdır (yani, boşta geçirilen zamanın yüzdesidir). Bu nedenle, hesaplanan değeri doğrudan kullanım yüzdesi olarak kullanmak için, sonuç 100'den çıkarılır. Örneğin, eğer irate(node_cpu_seconds_total{mode="idle"}[10m])
ifadesi ile elde edilen sonuç %20 ise, 100 - 20 = 80
ile CPU kullanım yüzdesi %80 olarak hesaplanır.