Middle
Prometheus'e metrikleri iletmek için müşterileri nasıl yapılandırılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Prometheus’a metrik iletmek için exporter’lar kullanmak gerekir. Exporter’lar, Prometheus’un anlayabileceği formatta metrikleri içeren bir HTTP uç noktası açan küçük servislerdir.
Ana yöntemler:
-
Resmi ve üçüncü taraf exporter’ların kullanımı:
- Birçok popüler servis ve sistem için hazır exporter’lar mevcuttur:
node_exporter(İşletim sistemi metrikleri),mysqld_exporter(MySQL metrikleri),kube-state-metrics(Kubernetes metrikleri) vb. - Yapılandırma, hedef sunucuya exporter’ı kurmayı ve Prometheus yapılandırmasında adresini belirtmeyi içerir.
- Birçok popüler servis ve sistem için hazır exporter’lar mevcuttur:
-
Uygulamaların enstrümantasyonu:
- Geliştiriciler, doğrudan metrikleri yayınlamak için uygulamalarına kod ekleyebilirler.
- Prometheus, çeşitli programlama dilleri için istemci kitaplıkları sağlar (Go, Java, Python, Ruby vb.).
- Bu kitaplıklar, sayaçlar (counters), ölçümler (gauges), histogramlar (histograms) ve özetler (summaries) oluşturmaya ve ardından Prometheus tarafından toplanmak üzere HTTP uç noktası açmaya imkan tanır.
-
Textfile Collector (
node_exporteriçin):node_exporter’ıntextfileadlı bir toplayıcısı vardır; bu, belirli bir formatta dosyalardan metrikleri okuyabilir.- Bu, periyodik betikler veya metrikler üreten görevler için faydalıdır.
-
Pushgateway:
Pushgateway, kısa ömürlü veya toplu görevler için kullanılır; bu görevler, doğrudan Prometheus tarafından toplanamayabilir (çünkü var olmayabilirler).- Uygulama, metriklerini
Pushgateway’e gönderir ve Prometheus,Pushgateway’den verileri toplar.
# Prometheus yapılandırma örneği (prometheus.yml)
scrape_configs:
- job_name: 'node_exporter_servers' # Toplama görevi adı
static_configs:
- targets: ['server1:9100', 'server2:9100'] # node_exporter’ın çalıştığı ana makineler/portlar
- job_name: 'application_metrics' # Uygulama metriklerini toplama görevi
metrics_path: /metrics # Uygulamanın metrikleri yayınladığı yol
static_configs:
- targets: ['application-host:8080'] # Uygulama adresi
- job_name: 'pushgateway' # Pushgateway’den metrikleri toplama görevi
honor_labels: true # Pushgateway’den gelen etiketlerin doğru işlenmesi için önemlidir
static_configs:
- targets: ['pushgateway-host:9091'] # Pushgateway adresi
Uygulamaları exporter’lar ile yapılandırdıktan veya enstrümante ettikten sonra, Prometheus belirtilen uç noktaları düzenli olarak sorgulayacak (scraping) ve metrikleri toplayacaktır.