Prometheus ve Grafana ile Ölçümler
Küme ve uygulama ölçümlerini toplamak için Prometheus'u kurun ve bunları Grafana ile görselleştirin.
Prometheus ve Grafana ile Ölçümler, CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.
Ölçümlerin Gücü
Ölçümler, uygulamalarınızın ve altyapınızın durumunu ve performansını açıklayan sayısal değerlerdir. Bunları yazılımınızın yaşamsal bulguları gibi düşünebilirsiniz!
Şunlar hakkında değerli bilgiler sağlarlar:
- Performans: Uygulamanız ne kadar hızlı yanıt veriyor?
- Kaynak Kullanımı: Sunucunuzun belleği tükenmek üzere mi?
- Kullanılabilirlik: Hizmetiniz kullanıcılar için çalışır durumda mı?
Ölçümleri takip ederek eğilimleri anlayabilir, anormallikleri tespit edebilir ve sorunları proaktif biçimde giderebilirsiniz.
Prometheus ile Tanışın
Prometheus, güvenilirlik ve ölçeklenebilirlik için tasarlanmış açık kaynaklı bir izleme sistemidir. Bulut-yerel gözlemlenebilirlik yığınının temel araçlarından biridir.
Başlıca görevleri şunlardır:
- Toplama: Yapılandırılmış hedeflerden (uygulamalarınız gibi) ölçümleri toplamak.
- Depolama: Bu ölçümleri zaman serisi veritabanına kaydetmek.
- Sorgulama: Toplanan veriler hakkında sorular sormanızı sağlamak.
Prometheus, Kubernetes kümenizin içinde neler olup bittiğini net biçimde görmenize yardımcı olur.
Prometheus'un "Toplama" Modeli
Prometheus, ölçümleri toplamak için bir "çekme" modeli kullanır. Uygulamaların verileri Prometheus'a göndermesi yerine Prometheus, ölçümleri uygulamalardan etkin biçimde "toplar" veya çeker.
Genel olarak şu şekilde çalışır:
- Uygulamanız, belirli bir HTTP uç noktasında (genellikle
/metrics) ölçümleri sunar. - Prometheus, hedeflerin (uygulamanızın IP adresi ve bağlantı noktası gibi) listesini içerecek şekilde yapılandırılır.
- Prometheus, düzenli aralıklarla her hedefin
/metricsuç noktasına bir HTTP isteği gönderir. - Hedef, mevcut ölçümleriyle yanıt verir ve Prometheus da bunları depolar.
Ölçümler: Anahtar-Değer Çiftleri
Prometheus verileri zaman serileri olarak depolar: zaman damgalı değer akışları. Her zaman serisi, bir ölçüm adı ve etiketler adı verilen bir dizi anahtar-değer çiftiyle benzersiz biçimde tanımlanır.
Örnek: http_requests_total{method="GET", path="/api"}
Prometheus'un temel ölçüm türleri şunlardır:
- Sayaç: Yalnızca artan kümülatif bir ölçüm (örneğin, toplam istek sayısı).
- Gösterge: Artabilen veya azalabilen bir değer (örneğin, mevcut CPU kullanımı).
- Histogram/Özet: Gözlemleri örneklemek ve bunları yapılandırılabilir aralıklarda saymak için kullanılır (örneğin, istek süreleri).
Uygulamaların Ölçümleri "Konuşmasını" Sağlama
Prometheus'un ölçümleri toplayabilmesi için uygulamanızın bunları Prometheus'un anlayacağı bir biçimde sunması gerekir. Bu genellikle bir HTTP uç noktası aracılığıyla yapılır.
Birçok programlama dilinde, kodunuza ölçüm eklemenizi kolaylaştıran istemci kütüphaneleri bulunur:
- Olaylarda sayaçları artırma.
- Mevcut durumlar için göstergeleri ayarlama.
- İşlemlerin sürelerini gözlemleme.
Şimdi ölçüm olarak temel bir sayacı sunan son derece basit bir uygulama örneğine bakalım.
Ölçümleri Sunan Python Uygulaması
Burada basit bir sayaç ölçümü sunan küçük bir Python Flask uygulaması yer alıyor. Bu uygulama, sayfa görüntülemelerini saymayı taklit eder.
Bu kodu çalıştırdıktan sonra tarayıcınızda veya terminalinizde /metrics adresine erişmeyi deneyin (örneğin, çalıştırdıktan sonra http://localhost:5000/metrics adresini ziyaret edin).
from flask import Flask
from prometheus_client import Counter, generate_latest
import time
app = Flask(__name__)
c = Counter('my_app_requests_total', 'Total requests to my app')
@app.route('/')
def hello():
c.inc() # Increment the counter
return "Hello, CoddyKit!"
@app.route('/metrics')
def metrics():
return generate_latest().decode('utf-8')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)Kümenizde Prometheus
Kubernetes'te Prometheus'u verimli biçimde dağıtmak genellikle Prometheus Operator kullanımını gerektirir. Bu operatör, Prometheus örneklerini ve yapılandırmalarını yönetmenize yardımcı olur.
Prometheus için temel Kubernetes kaynakları:
- ServiceMonitor: Prometheus'a ölçüm uç noktalarını *nerede* bulacağını söyler (örneğin, hangi Service'lerin ve Pod'ların toplanacağını belirtir).
- PodMonitor: ServiceMonitor'a benzer, ancak doğrudan Pod'ları hedefler.
Bu kaynaklar, Prometheus'un dağıtılmış uygulamalarınızdaki ölçümleri otomatik olarak keşfetmesine ve toplamasına olanak tanır.
Grafana: Pano Orkestra Şefi
Prometheus ölçümleri toplar ve depolarken Grafana, bunları görselleştirmek için başvuracağınız araçtır. Açık kaynaklı bir analiz ve etkileşimli görselleştirme web uygulamasıdır.
Grafana şunları yapmanızı sağlar:
- Çarpıcı ve bilgilendirici panolar oluşturma.
- Birden çok veri kaynağını (Prometheus gibi) sorgulama.
- Ölçüm eşiklerine göre uyarılar ayarlama.
Ham ölçüm verilerini eyleme geçirilebilir bilgilere dönüştürür.
Grafana ve Prometheus: Güçlü Bir İkili
Grafana, ölçüm verilerini kendisi depolamaz; verileri harici veri kaynaklarından sorgular. Kubernetes ölçümlerinizi görselleştirmek için Prometheus'u Grafana'da bir veri kaynağı olarak yapılandırırsınız.
Adımlar:
- Grafana'da yeni bir veri kaynağı ekleyin.
- Tür olarak "Prometheus"u seçin.
- Prometheus sunucunuzun URL'sini girin.
- Prometheus'un sorgu dili PromQL ile panolar oluşturmaya başlayın!
Bu ikili, kümenizi izleme üzerinde tam denetim sağlar.
Bilginizi Sınayın!
Prometheus ve Grafana hakkındaki anlayışınızı kontrol etme zamanı!
Özet: Ölçümler ve Görselleştirme
Harika iş çıkardınız! Bu derste şunları öğrendiniz:
- Gözlemlenebilirlik için ölçümlerin önemi.
- Zaman serisi ölçümlerini toplamak ve depolamak için güçlü bir sistem olarak Prometheus.
- Uygulamaların Prometheus'un toplaması için ölçümleri sunma biçimi.
- Bilgilendirici panolar oluşturmak ve ölçüm verilerinizi görselleştirmek için Grafana.
Bu araçları anlamak, Kubernetes uygulamalarınızı sağlıklı ve verimli tutmak için çok önemlidir. Kendi uygulamalarınıza nasıl ölçüm ekleyeceğinizi keşfetmeye devam edin!
Sıkça Sorulan Sorular
“Prometheus ve Grafana ile Ölçümler” dersi ücretsiz mi?
Evet — “Prometheus ve Grafana ile Ölçümler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.
“Prometheus ve Grafana ile Ölçümler” dersinde ne öğreneceğim?
Küme ve uygulama ölçümlerini toplamak için Prometheus'u kurun ve bunları Grafana ile görselleştirin. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Prometheus ve Grafana ile Ölçümler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- kubectl logs ile Günlük Kaydı
- Prometheus ve Grafana ile Ölçümler
- Sağlık Denetimleri: Canlılık ve Hazır Olma Yoklamaları
- Dağıtık İzleme ve Olaylar