Terminoloji
Last updated
Was this helpful?
Last updated
Was this helpful?
Prometheus, aktif bir ekosistemi olan açık kaynaklı bir sistem izleme ve uyarı aracıdır.
Bu araç, keşfedilen metriklerden uygulamalarınızın ve altyapınızın nasıl performans gösterdiğini analiz etmenizi sağlar.
Prometheus bileşenleri Go dilinde yazılmıştır.
'multi-dimensional' bir veri modeli kullanır ve 'zaman serisi verileri' 'metrik adı' ve 'anahtar/değer çiftleri' ile tanımlanır.
Çok basit bir sorgu dili olan 'PromQL' kullanır. PromQL, saklanan zaman serilerindeki herhangi bir etikette birleştirme yapmanıza izin veren 'read only' ve esnek bir sorgu dili olarak hizmet verir.
Prometheus için varsayılan kitaplıklar ve sunucular mevcuttur - Windows, Linux makineleri, Mysql vb.
Özel servisleri izlemek için Go, Java veya Scale, Python, Ruby ve daha birçok Prometheus istemci kitaplığı aracılığıyla kodunuza araçlar ekleyebilirsiniz.
Prometheus Kendi Alert manager' ına sahiptir.
Bir hedef proje, program veya hizmette yer alan faaliyetlerin toplanması ve kaydedilmesi ve ardından bu kaydedilen değerlerin hedeflerin amaçlarına ulaşıp ulaşmadığını kontrol etmek için kullanıldığı sistematik bir süreçtir.
Aktif olarak tetiklenen prometheus'taki bir uyarı kuralının sonucudur. Uyarılar Prometheus'tan AlertManager'a gönderilir.
Alertmanager, Prometheus tarafından toplanan ölçümleri izleyerek belirli bir eşik değerini aşan ölçümlere dayanarak uyarılar oluşturur. Alertmanager, Prometheus'a benzer şekilde yapılandırılır ve Prometheus'tan gelen uyarıları işler. Alertmanager, uyarıları gruplandırabilir, filtreleyebilir. Ayrıca uyarıları farklı kanallara yönlendirebilir, örneğin e-posta, SMS, Slack veya PagerDuty gibi çeşitli kanallara.
Prometheus tarafından toplanan metriklerin kaynağına karşılık gelir. Bir target, genellikle bir sistem, bir uygulama, bir veritabanı veya bir servis olabilir. Prometheus, her bir target için belirli bir URL veya endpoint belirleyerek, o target'tan metrikleri toplar. Target'ların belirlenmesi, Prometheus'un ölçümleri toplamaya başlayacağı kaynakları tanımlamasını sağlar.
Genellikle bir sistem, bir uygulama, bir veritabanı veya bir servisin belirli bir örneğini ifade eder. Prometheus'ta "instance" kavramı da bu anlamda kullanılır.
Belirli bir işlevi veya görevi olan bir veri toplama işlemi için kullanılır. Bir job, Prometheus tarafından izlenen birden fazla instance'ı içerebilir. Örneğin, bir web sunucusunu izlemek için bir job oluşturulabilir. Bu job, birden fazla web sunucusunun her bir instance'ını izleyebilir ve topladığı metrikleri işleyerek, bu sunucuların performansını ve durumunu ölçebilir. Bir job, birden fazla instance'ı içerebilir ve Prometheus, her bir instance için ayrı ayrı metrikler toplar.
Örnek;
Prometheus, veri toplamak için scrape işlemleri yapar ve bu scrape işlemleri sırasında, ölçümlerden elde edilen değerler, "sample" olarak adlandırılır.