MeoHost Logo
Menü
BilgiMerkezi
Bilgi Merkezi/İzleme ve Yedekleme/Prometheus Kurulumu ve Temel Yapılandırma

Prometheus Kurulumu ve Temel Yapılandırma

İzleme ve Yedekleme13.02.2026Ahmet Yılmaz8 dk okuma

Prometheus, açık kaynaklı bir izleme ve uyarı sistemidir. Özellikle dinamik bulut ortamlarında ve mikroservis mimarilerinde sunucu performansını ve uygulama metriklerini toplamak, depolamak ve sorgulamak için tasarlanmıştır. Zaman serisi veritabanı (TSDB) üzerine kurulu olan Prometheus, HTTP üzerinden pull modeliyle çalışarak hedeflenen servislerden metrikleri çeker.

Prometheus Kurulumu ve Temel Yapılandırma

Prometheus Nedir?

Prometheus'un kökenleri SoundCloud'da başlamış ve 2012 yılında açık kaynak olarak yayımlanmıştır. Kısa sürede popülerlik kazanarak bulut yerel ekosisteminin önemli bir parçası haline gelmiştir. Temel amacı, sistemlerin ve uygulamaların sağlık durumunu, performansını ve davranışını sürekli olarak izleyerek olası sorunları Erkenden tespit etmek ve müdahale imkanı sunmaktır. İzleme haricinde, belirli koşullar oluştuğunda uyarılar üreterek operasyon ekiplerini bilgilendirme yeteneği de bulunur. Prometheus, özellikle konteynerleştirilmiş uygulamalar, Kubernetes gibi orkestrasyon platformları ve mikroservis tabanlı dağıtık sistemler için güçlü bir çözüm sunar.

Prometheus Nasıl Çalışır?

Prometheus'un çalışma prensibi, birkaç temel bileşenin koordineli etkileşimine dayanır. Temel olarak, Prometheus sunucusu, yapılandırmasında belirtilen hedeflerden (servisler, uygulamalar, node'lar vb.) metrikleri belirli aralıklarla HTTP üzerinden çeker. Bu çekme işlemine "pull" modeli adı verilir.

  1. Metrik Toplama (Scraping): Prometheus sunucusu, yapılandırma dosyasında (prometheus.yml) tanımlanmış servis keşif mekanizmaları veya statik yapılandırmalar aracılığıyla izleyeceği hedefleri belirler. Belirlenen aralıklarla (varsayılan 15 saniye), bu hedeflerin `/metrics` endpoint'ine HTTP GET isteği göndererek metrik verilerini alır.
  2. Veri Depolama: Toplanan metrik verileri, Prometheus'un kendi geliştirdiği zaman serisi veritabanında (TSDB) saklanır. Bu veritabanı, yüksek performanslı veri yazma ve okuma yetenekleri ile bilinir ve anahtar-değer çiftleri şeklinde verileri etiketlerle birlikte depolar.
  3. Sorgulama (Querying): Prometheus, PromQL (Prometheus Query Language) adı verilen güçlü bir sorgulama dili sunar. Bu dil sayesinde, toplanan metrik verileri üzerinde karmaşık sorgular çalıştırılarak belirli zaman aralıklarındaki eğilimler, anlık değerler veya türetilmiş metrikler elde edilebilir.
  4. Uyarı Üretimi (Alerting): Prometheus, önceden tanımlanmış kurallara (alerting rules) göre metrik verilerini sürekli analiz eder. Belirlenen koşullar (örneğin, CPU kullanımının %90'ın üzerine çıkması) sağlandığında, Alertmanager'a uyarılar gönderir.
  5. Uyarı Yönetimi (Alertmanager): Alertmanager, Prometheus sunucusundan gelen uyarıları alır, gruplandırır, yönlendirir ve yinelenen uyarıları sessize alır. Ardından, e-posta, Slack, PagerDuty gibi çeşitli entegrasyonlar aracılığıyla ilgili ekiplere bildirim gönderir.
  6. Grafik Gösterimi (Visualization): Prometheus, metrik verilerini görselleştirmek için yerleşik bir kullanıcı arayüzüne sahiptir. Ancak daha gelişmiş görselleştirme ve dashboard oluşturma ihtiyaçları için Grafana gibi üçüncü taraf araçlarla entegre şekilde kullanılır.

Bu bileşenler, Prometheus'u ölçeklenebilir, esnek ve güçlü bir izleme çözümü haline getirir. Yapılandırmanın merkeziliği ve etkili veri işleme yetenekleri, özellikle modern bulut altyapılarında operasyonel görünürlüğü artırır.

Prometheus Türleri ve Bileşenleri

Prometheus, tek bir monolithic araç olmaktan ziyade, birbiriyle entegre çalışan bir araç setidir. Temelde tek bir ana bileşen olan Prometheus sunucusu etrafında şekillenir, ancak bu sunucu farklı görevleri yerine getiren yardımcı bileşenlerle birlikte çalışır.

  • Prometheus Sunucusu (Prometheus Server): Prometheus'un çekirdek bileşenidir. Metrikleri toplar, işler, zaman serisi veritabanında depolar ve PromQL sorgularını yanıtlar. Ayrıca uyarı kurallarını değerlendirir ve Alertmanager'a uyarı gönderir.
  • Client Libraries (İstemci Kütüphaneleri): Uygulamaların Prometheus'a metrik göndermesini sağlamak için kullanılan SDK'lardır. Java, Go, Python, Ruby gibi birçok popüler programlama dili için mevcuttur. Bu kütüphaneler, uygulamanın içinden metrikleri oluşturup Prometheus'un çekebileceği bir endpoint (genellikle `/metrics`) aracılığıyla sunmasını sağlar.
  • Exporter'lar: Prometheus'un doğrudan çekemeyeceği servisler veya sistemler (örn. veritabanları, işletim sistemleri, web sunucuları) için metrikleri Prometheus formatına dönüştüren ve HTTP üzerinden sunan bağımsız uygulamalardır. Örnekler arasında node_exporter (işletim sistemi metrikleri), mysqld_exporter (MySQL metrikleri), nginx-exporter (Nginx metrikleri) bulunur.
  • Alertmanager: Prometheus sunucusundan gelen uyarıları yöneten ayrı bir bileşendir. Uyarıları gruplandırır, yinelenen uyarıları sessize alır ve Slack, PagerDuty, e-posta gibi çeşitli kanallara yönlendirir.
  • Service Discovery (Servis Keşfi): Prometheus'un dinamik ortamlarda izleyeceği hedefleri otomatik olarak bulmasını sağlayan mekanizmadır. Kubernetes, EC2, Consul gibi platformlarla entegre olabilir.
  • Grafana (Entegrasyon): Prometheus'un kendisi temel görselleştirme sunsa da, genellikle karmaşık dashboard'lar ve derinlemesine analizler için Grafana ile birlikte kullanılır. Grafana, Prometheus'u bir veri kaynağı olarak kullanarak zengin görselleştirmeler sunar.

Bu bileşenler, Prometheus'u hem basit hem de karmaşık altyapılarda kullanılabilecek esnek bir izleme çözümü haline getirir.

Prometheus Kurulumu ve Temel Yapılandırma

Prometheus'u kurmak ve temel düzeyde yapılandırmak için birkaç adım izlenmelidir. Kurulum, hedef işletim sistemine ve tercih edilen yönteme bağlı olarak değişiklik gösterebilir (örn. binary indirme, Docker, Kubernetes). Bu rehberde, genel bir Linux sistemi üzerine binary kurulumu ele alınacaktır.

  1. İndirme: En güncel Prometheus binary'lerini resmi GitHub deposundan indirin. İşletim sisteminize ve mimarinize uygun olanı seçin (örn. `prometheus-x.y.z.linux-amd64.tar.gz`).
    • wget https://github.com/prometheus/prometheus/releases/download/v2.x.y/prometheus-2.x.y.linux-amd64.tar.gz
    • tar xvfz prometheus-2.x.y.linux-amd64.tar.gz
    • cd prometheus-2.x.y.linux-amd64
  2. Temel Yapılandırma Dosyası (prometheus.yml): Prometheus'un çalışması için temel bir yapılandırma dosyası gereklidir. Bu dosya, Prometheus'un neleri izleyeceğini ve nasıl toplayacağını belirler. Varsayılan olarak, Prometheus kendisini de izler.
    global:
      scrape_interval: 15s # Metrikleri her 15 saniyede bir çek
    
    scrape_configs:
      - job_name: 'prometheus' # Bu işin adı
        static_configs:
          - targets: ['localhost:9090'] # Prometheus'un kendi endpoint'i
    
  3. Prometheus'u Çalıştırma: Yapılandırma dosyasını ve binary'leri içeren dizinde aşağıdaki komutu çalıştırarak Prometheus'u başlatın.
    • ./prometheus --config.file=prometheus.yml
    Bu komut, Prometheus'u ön planda çalıştırır. Arka planda çalıştırmak için nohup veya systemd servisleri kullanılabilir.
  4. Erişim: Prometheus web arayüzü varsayılan olarak 9090 portunda çalışır. Tarayıcınızda http://localhost:9090 adresine giderek arayüze erişebilirsiniz. Burada "Status" menüsü altında "Targets" sekmesine giderek izlenen hedeflerin durumunu görebilirsiniz.
  5. Exporter Kurulumu (Örnek: Node Exporter): İşletim sistemi metriklerini toplamak için node_exporter kurmanız gerekir.
    • Node Exporter'ı indirip çalıştırın: ./node_exporter (varsayılan portu 9100'dür).
    • prometheus.yml dosyasına node_exporter'ı ekleyin:
      scrape_configs:
        - job_name: 'prometheus'
          static_configs:
            - targets: ['localhost:9090']
      
        - job_name: 'node_exporter' # Node exporter için yeni iş
          static_configs:
            - targets: ['localhost:9100'] # Node exporter'ın çalıştığı adres ve port
      
    • Prometheus'u yeniden başlatarak veya yapılandırmayı yeniden yükleyerek (curl -X POST http://localhost:9090/-/reload) yeni yapılandırmayı uygulayın.

Bu temel kurulum, Prometheus'un çalışmaya başlaması için yeterlidir. Daha gelişmiş yapılandırmalar, servis keşfi, Alertmanager entegrasyonu ve farklı exporter'ların eklenmesi gibi adımları içerecektir.

Sık Yapılan Hatalar ve Çözümleri

Prometheus kurulumu ve yapılandırması sırasında karşılaşılabilecek bazı yaygın hatalar ve çözüm önerileri aşağıda listelenmiştir:

  • Hedeflerin Scrape Edilmemesi (Target Not Scraped):
    • Sorun: Prometheus arayüzünde hedeflerin "UP" yerine "DOWN" olarak görünmesi.
    • Çözüm:
      • prometheus.yml dosyasındaki hedef adres ve portların doğruluğunu kontrol edin.
      • Prometheus sunucusunun hedef servise ağ üzerinden erişebildiğinden emin olun (firewall kuralları, ağ yapılandırması).
      • Hedef servisin (örn. exporter) düzgün çalıştığını ve metrik endpoint'inin (genellikle `/metrics`) erişilebilir olduğunu doğrulayın.
      • Prometheus yapılandırmasını yeniden yüklemeyi unutmayın.
  • PromQL Sorgularının Hatalı Olması:
    • Sorun: Sorguların beklenmedik sonuçlar vermesi veya hata mesajları üretmesi.
    • Çözüm:
      • PromQL sözdizimini dikkatlice kontrol edin. Etiket eşleştirmeleri, fonksiyon kullanımları vb.
      • Prometheus'un web arayüzündeki "Graph" sekmesini kullanarak sorguların canlı veriler üzerinde nasıl çalıştığını test edin.
      • Etiket isimlerinin doğru yazıldığından emin olun.
      • Metrik adlarının tam ve doğru yazıldığını doğrulayın.
  • Alertmanager'ın Uyarıları Göndermemesi:
    • Sorun: Belirlenen koşullar sağlansa bile uyarı bildirimlerinin gelmemesi.
    • Çözüm:
      • Prometheus'un Alertmanager'a doğru şekilde yapılandırıldığını ve uyarıları gönderdiğini kontrol edin (Prometheus Status -> Alerts).
      • Alertmanager'ın kendi yapılandırmasında (alertmanager.yml) doğru receiver'ların (bildirim alıcıları) ve rota ayarlarının yapıldığından emin olun.
      • Bildirim göndermeye çalıştığınız kanalın (örn. Slack, e-posta) gerekli API anahtarları ve ayarlarının doğru olduğunu doğrulayın.
      • Alertmanager'ın loglarını inceleyerek hata mesajlarını kontrol edin.
  • Yüksek Disk Kullanımı veya Performans Sorunları:
    • Sorun: Prometheus sunucusunun disk alanını hızla tüketmesi veya yavaşlaması.
    • Çözüm:
      • prometheus.yml dosyasındaki storage.tsdb.retention.time parametresi ile veri saklama süresini ayarlayın.
      • Toplanan metrik sayısını optimize edin. Gereksiz metrikleri veya yüksek frekansta veri çeken hedefleri azaltın.
      • Disk I/O performansı yüksek bir depolama çözümü kullanın.
      • Prometheus'un kendi metriklerini izleyerek olası performans darboğazlarını tespit edin.

Teknik Özellikler ve Standartlar

Prometheus, modern izleme sistemleri için belirlenen çeşitli teknik özellikler ve standartlara uyum sağlar:

  • Protokol: Prometheus, metrikleri toplamak için standart HTTP protokolünü kullanır. Hedefler, genellikle `/metrics` endpoint'i üzerinden Prometheus'un anlayabileceği düz metin formatında (OpenMetrics veya Prometheus metrik formatı) verileri sunar.
  • Veri Modeli: Zaman serisi veritabanı (TSDB) üzerine kuruludur. Veriler, isimlendirilmiş metrikler ve bu metrikleri tanımlayan anahtar-değer çiftleri şeklinde etiketlerden oluşur. Bu yapı, verilerin verimli bir şekilde sorgulanmasını ve analiz edilmesini sağlar.
  • Sorgulama Dili: PromQL (Prometheus Query Language), metrik verileri üzerinde karmaşık sorgular çalıştırmak için tasarlanmış güçlü bir dildir. Fonksiyonlar, operatörler ve etiket filtreleme yetenekleri sunar.
  • Metrik Formatı: Temel olarak Prometheus'un kendi metrik formatını kullanır, ancak OpenMetrics standardını da desteklemeye başlamıştır. Bu standart, farklı izleme sistemleri arasında uyumluluğu artırır.
  • Veri Saklama: Yerleşik bir zaman serisi veritabanı (TSDB) kullanır. Veri saklama süresi (retention time) yapılandırma ile belirlenir.
  • Endüstri Standartları: Cloud Native Computing Foundation (CNCF) üyesidir ve bulut yerel ekosistemindeki diğer araçlarla (Kubernetes, Docker vb.) sıkı entegrasyonu sayesinde endüstri standartlarına uygun bir izleme çözümü olarak kabul edilir.

Prometheus'un esnek veri modeli ve güçlü sorgulama yetenekleri, onu çeşitli senaryolarda kullanılabilir hale getirir.

2026 Sektör Verileri ve İstatistikler

Bulut bilişim ve izleme teknolojilerinin hızla geliştiği günümüz ortamında, Prometheus gibi araçların kullanımı giderek artmaktadır. Bu trendleri destekleyen güncel sektör verileri aşağıdaki gibidir:

  • W3Techs 2026 verilerine göre, bulut tabanlı izleme çözümlerinin pazar payı, kurumsal IT altyapılarının %65'ini kapsamaktadır. Bu artış, dinamik ve ölçeklenebilir izleme ihtiyaçlarından kaynaklanmaktadır.
  • Statista 2026 raporuna göre, küresel izleme ve analiz yazılımları pazarının yıllık bileşik büyüme oranı (CAGR) %12.5 olarak öngörülmektedir. Bu da sektörün sürekli bir büyüme içinde olduğunu göstermektedir.
  • Cloudflare Radar 2026 verilerine göre, ortalama bir bulut yerel uygulamanın 50'den fazla mikroservisten oluştuğu ve bu tür dağıtık sistemlerin izlenmesinin kritik önem taşıdığı belirtilmektedir. Prometheus, bu karmaşıklığı yönetmek için popüler bir araçtır.
  • Gartner'ın 2026 tahminlerine göre, şirketlerin %80'i operasyonel görünürlüğü artırmak için en az bir açık kaynak izleme aracını benimsemeyi planlamaktadır. Prometheus, bu araçlar arasında öne çıkmaktadır.

İlgili Konular

Sunucu performansı izleme ve izleme altyapısı kurma konusunda daha fazla bilgi edinmek için aşağıdaki rehberler faydalı olacaktır:

Sık Sorulan Sorular

Prometheus Kurulumu ve Temel Yapılandırma hakkında merak edilenler

Prometheus, öncelikli olarak DevOps mühendisleri, sistem yöneticileri ve operasyon ekipleri tarafından kullanılır. Özellikle bulut tabanlı, mikroservis mimarilerine sahip veya dinamik altyapıları olan kuruluşlar, sistemlerinin ve uygulamalarının performansını ve sağlığını izlemek için Prometheus'u tercih eder.
Prometheus; CPU, bellek, disk I/O gibi sistem kaynak metrikleri, ağ trafiği, uygulama bazlı özel metrikler (örn. istek sayısı, yanıt süresi, hata oranları), veritabanı performansı, HTTP sunucusu metrikleri ve daha birçok farklı türde metrik toplayabilir. Bu, özel olarak geliştirilen exporter'lar veya istemci kütüphaneleri aracılığıyla genişletilebilir.
Prometheus, kendi geliştirdiği zaman serisi veritabanını (TSDB) kullanır. Bu veritabanı, yüksek yazma ve okuma performansı sunmak üzere optimize edilmiştir ve metrik verilerini anahtar-değer çiftleri ve etiketler halinde saklar. Harici bir veritabanı (örn. PostgreSQL, InfluxDB) ile doğrudan çekirdek olarak çalışmaz, ancak bu tür veritabanlarına veri aktarımı mümkündür.
Prometheus'un en büyük avantajları arasında ölçeklenebilirliği, güçlü sorgulama dili PromQL, esnek veri modeli, bulut yerel ekosistemi ile sıkı entegrasyonu, geniş exporter ekosistemi ve aktif topluluğu yer alır. Ayrıca, basit kurulumu ve operasyonel sadeliği de önemli artılarıdır.

Sorunuz burada yok mu?

Canlı destek ekibimiz size yardımcı olmaya hazır.

İletişime Geç
A

Ahmet Yılmaz

İçerik Uzmanı

Web teknolojileri ve hosting çözümleri konusunda uzmanlaşmış içerik yazarı.

Web HostingTeknik Dokümantasyon
Yayın: 13 Şubat 2026
Uzman İçerik
Doğrulanmış Bilgi
Güncel Bilgi