Provide Prometheus Service
Provide Prometheus Service Aksiyonu Nedir?
Provide Prometheus Service aksiyonu, vService üzerinden Prometheus formatında metrik verileri sunar. Bu aksiyon, belirtilen URL path'inde bir metrik endpoint'i oluşturarak, Prometheus veya uyumlu monitoring sistemlerinin TR7 metriklerini toplamasına olanak tanır.
Bu aksiyon yalnızca istek (request) aşamasında çalışır ve belirtilen path'e gelen istekleri doğrudan yanıtlar (Kurum Servisine iletmez).
Host: tr7-vservice
tr7_front_http_requests_total 15823
tr7_back_active_servers 3
…
Provide Prometheus Service Aksiyonunun Önemi
Prometheus, cloud-native ortamlarda en yaygın kullanılan monitoring ve alerting sistemidir. TR7'nin Prometheus entegrasyonu sayesinde vService performansı ve durumu gerçek zamanlı olarak izlenebilir.
Provide Prometheus Service aksiyonu;
- Grafana dashboardları için veri kaynağı sağlar,
- vService bazlı detaylı metrikler sunar,
- Bağlantı sayıları, istek oranları ve kaynak kullanımı izler,
- Alerting kuralları için metrik verisi sağlar,
- Kubernetes ve cloud-native ortamlarla entegrasyon sağlar.
Bu nedenle Provide Prometheus Service aksiyonu, modern monitoring altyapıları için kritik bir bileşendir.
Sunulan Metrikler
Bu aksiyon, tanımlandığı vService üzerinden Prometheus formatında metrikler üretir. Metrikler; TR7 trafik işleme katmanı, vService (frontend), Kurum Servisi listesi ve Kurum Servisi sunucusu seviyelerinde gözlemlenebilir.
Traffic Manager (TR7 TM) Metrikleri (tr7_tm_*)
Genel Metrikler
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_uptime_seconds | gauge | Worker process'in çalışma süresi (saniye) |
tr7_tm_pool_failures_total | counter | Worker başladığından beri başarısız pool allocation sayısı |
tr7_tm_current_connections | gauge | Worker üzerindeki anlık bağlantı sayısı |
tr7_tm_connections_total | counter | Worker başladığından beri toplam bağlantı sayısı |
tr7_tm_requests_total | counter | Worker başladığından beri toplam istek sayısı |
tr7_tm_start_time_seconds | gauge | Worker başlangıç zamanı (epoch saniye) |
tr7_tm_stopping | gauge | Worker kapanış sürecindeyse 1, değilse 0 |
Kaynak Limitleri
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_max_fds | gauge | Process başına maksimum file descriptor limiti |
tr7_tm_max_sockets | gauge | Process başına maksimum socket limiti |
tr7_tm_max_connections | gauge | Process başına bağlantı limiti (config veya ulimit-n ile) |
tr7_tm_hard_max_connections | gauge | Process başına "hard" bağlantı limiti (Memmax_MB veya ulimit-n ile) |
tr7_tm_max_ssl_connections | gauge | Process başına SSL endpoint limiti (front+back), 0=unlimited |
tr7_tm_max_pipes | gauge | Splice için pipe limiti, 0=unlimited |
tr7_tm_max_memory_bytes | gauge | Process bellek hard limiti (komut satırı -m), 0=tanımsız |
SSL Metrikleri
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_current_ssl_connections | gauge | Anlık SSL endpoint sayısı (front+back) |
tr7_tm_ssl_connections_total | counter | Worker başladığından beri toplam SSL endpoint sayısı (front+back) |
tr7_tm_current_ssl_rate | gauge | Son 1 saniyede oluşturulan SSL bağlantı hızı (SslRate) |
tr7_tm_limit_ssl_rate | gauge | SSL bağlantı hızı limiti (global.maxsslrate) |
tr7_tm_max_ssl_rate | gauge | Worker boyunca görülen en yüksek SSL bağlantı hızı (SslRate) |
tr7_tm_current_frontend_ssl_key_rate | gauge | Son 1 saniyede frontend tarafında üretilen SSL key sayısı |
tr7_tm_max_frontend_ssl_key_rate | gauge | Worker boyunca görülen en yüksek frontend SSL key üretim hızı |
tr7_tm_frontend_ssl_reuse | gauge | Yeni key gerekmeyen frontend SSL bağlantı oranı (%) |
tr7_tm_current_backend_ssl_key_rate | gauge | Son 1 saniyede Kurum Servisi tarafında üretilen SSL key sayısı |
tr7_tm_max_backend_ssl_key_rate | gauge | Worker boyunca görülen en yüksek Kurum Servisi SSL key üretim hızı |
tr7_tm_ssl_cache_lookups_total | counter | SSL session cache lookup toplamı |
tr7_tm_ssl_cache_misses_total | counter | SSL session cache miss toplamı |
Pipe / Splice Metrikleri
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_pipes_used_total | counter | Anlık kullanımda olan pipe sayısı |
tr7_tm_pipes_free_total | counter | Anlık ayrılmış ve kullanılabilir pipe sayısı |
tr7_tm_spliced_bytes_out_total | counter | Kernel pipe (splice) üzerinden gönderilen toplam byte |
Bağlantı ve Oturum Hız Metrikleri (Rate/Limit/Max)
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_current_connection_rate | gauge | Son 1 saniyedeki frontend bağlantı hızı (ConnRate) |
tr7_tm_limit_connection_rate | gauge | ConnRate limiti (global.maxconnrate) |
tr7_tm_max_connection_rate | gauge | Worker boyunca görülen en yüksek ConnRate |
tr7_tm_current_session_rate | gauge | Son 1 saniyedeki oturum hızı (SessRate) |
tr7_tm_limit_session_rate | gauge | SessRate limiti (global.maxsessrate) |
tr7_tm_max_session_rate | gauge | Worker boyunca görülen en yüksek SessRate |
HTTP Sıkıştırma ve Zlib
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_http_comp_bytes_in_total | counter | Son 1 saniyede HTTP compressor'a giren byte |
tr7_tm_http_comp_bytes_out_total | counter | Son 1 saniyede HTTP compressor'dan çıkan byte |
tr7_tm_limit_http_comp | gauge | Compression otomatik devre dışı eşiği (CompressBpsOut) |
tr7_tm_current_zlib_memory | gauge | Anlık zlib bellek kullanımı (byte) |
tr7_tm_max_zlib_memory | gauge | Zlib bellek limiti (global.maxzlibmem) |
Task / Queue / Listener Durumu
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_current_tasks | gauge | Toplam task sayısı (active + sleeping) |
tr7_tm_current_run_queue | gauge | Aktif task+tasklet sayısı |
tr7_tm_idle_time_percent | gauge | Son 1 saniyede beklemede geçen süre (%) |
tr7_tm_jobs | gauge | Aktif job sayısı (frontend/master/listener) |
tr7_tm_unstoppable_jobs | gauge | Unstoppable job sayısı (master bağlantıları) |
tr7_tm_listeners | gauge | Aktif listener sayısı |
tr7_tm_active_peers | gauge | Verified active peer bağlantı sayısı |
tr7_tm_connected_peers | gauge | Bağlantı adımını geçen peer sayısı |
Log / DNS / Busy Polling
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_dropped_logs_total | counter | Worker boyunca düşürülen log sayısı |
tr7_tm_failed_resolutions | counter | Worker boyunca başarısız DNS çözümleme sayısı |
tr7_tm_busy_polling_enabled | gauge | Busy-polling aktifse 1, değilse 0 |
Trafik Byte Metrikleri
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_bytes_out_total | counter | Worker boyunca gönderilen toplam byte |
tr7_tm_bytes_out_rate | gauge | Son 1 saniyedeki outgoing byte hızı |
Bellek (Pool) Kullanımı
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_tm_pool_allocated_bytes | gauge | Pool'larda ayrılmış bellek miktarı (byte) |
tr7_tm_pool_used_bytes | gauge | Pool'larda kullanılan bellek miktarı (byte) |
vService (Frontend) Metrikleri (tr7_front_*)
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_front_current_sessions | gauge | vService üzerinde anlık session sayısı |
tr7_front_max_sessions | gauge | Worker boyunca görülen en yüksek anlık session sayısı |
tr7_front_limit_sessions | gauge | Session limiti (maxconn/fullconn) |
tr7_front_sessions_total | counter | Worker başladığından beri toplam session |
tr7_front_bytes_in_total | counter | Toplam request byte |
tr7_front_bytes_out_total | counter | Toplam response byte |
tr7_front_requests_denied_total | counter | Reddedilen istek sayısı |
tr7_front_responses_denied_total | counter | Reddedilen yanıt sayısı |
tr7_front_request_errors_total | counter | Geçersiz istek sayısı |
tr7_front_status | gauge | vService durumu (state="UP/DOWN") |
tr7_front_limit_session_rate | gauge | Saniyelik session kabul limiti |
tr7_front_max_session_rate | gauge | Worker boyunca görülen en yüksek session/s |
tr7_front_http_responses_total | counter | HTTP yanıt sayıları (1xx/2xx/3xx/4xx/5xx/other) |
tr7_front_http_requests_rate_max | gauge | Worker boyunca görülen en yüksek HTTP request/s |
tr7_front_http_requests_total | counter | Toplam HTTP request |
tr7_front_http_comp_bytes_in_total | counter | Compressor'a giren byte toplamı |
tr7_front_http_comp_bytes_out_total | counter | Compressor'dan çıkan byte toplamı |
tr7_front_http_comp_bytes_bypassed_total | counter | Compression bypass edilen byte (limit/CPU/memory) |
tr7_front_http_comp_responses_total | counter | Sıkıştırılan HTTP response sayısı |
tr7_front_connections_rate_max | gauge | Worker boyunca görülen en yüksek bağlantı/s |
tr7_front_connections_total | counter | Toplam yeni bağlantı (accepted) |
tr7_front_intercepted_requests_total | counter | Intercept edilen istekler (redirect/stats/service) |
tr7_front_denied_connections_total | counter | TCP rule ile bloklanan bağlantılar |
tr7_front_denied_sessions_total | counter | TCP rule ile bloklanan session'lar |
tr7_front_failed_header_rewriting_total | counter | Başarısız HTTP header rewrite sayısı |
tr7_front_http_cache_lookups_total | counter | HTTP cache lookup sayısı |
tr7_front_http_cache_hits_total | counter | HTTP cache hit/miss sayacı (çıktıya göre isimlendirilmiş) |
tr7_front_internal_errors_total | counter | İç hata sayısı |
Kurum Servisi Metrikleri (tr7_back_*)
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_back_current_queue | gauge | Anlık kuyruktaki bağlantı sayısı |
tr7_back_max_queue | gauge | Worker boyunca görülen en yüksek kuyruk |
tr7_back_current_sessions | gauge | Anlık session sayısı |
tr7_back_max_sessions | gauge | Worker boyunca görülen en yüksek anlık session |
tr7_back_limit_sessions | gauge | Session limiti (Kurum Servisi fullconn vb.) |
tr7_back_sessions_total | counter | Toplam session |
tr7_back_bytes_in_total | counter | Toplam request byte |
tr7_back_bytes_out_total | counter | Toplam response byte |
tr7_back_requests_denied_total | counter | Reddedilen istek sayısı |
tr7_back_responses_denied_total | counter | Reddedilen yanıt sayısı |
tr7_back_connection_errors_total | counter | Backend->server bağlantı hataları |
tr7_back_response_errors_total | counter | Geçersiz yanıt hataları |
tr7_back_retry_warnings_total | counter | Retry sayısı |
tr7_back_redispatch_warnings_total | counter | Redispatch sayısı |
tr7_back_status | gauge | Backend durumu (state="UP/DOWN") |
tr7_back_weight | gauge | Backend efektif weight |
tr7_back_active_servers | gauge | Aktif (UP, weight>0) server sayısı |
tr7_back_backup_servers | gauge | Backup server sayısı |
tr7_back_check_up_down_total | counter | Check kaynaklı UP<->DOWN geçiş sayısı |
tr7_back_check_last_change_seconds | gauge | Son durum değişiminden beri geçen süre |
tr7_back_downtime_seconds_total | counter | DOWN durumda geçirilen toplam süre |
tr7_back_loadbalanced_total | counter | Load balancing ile yönlendirilen istek sayısı |
tr7_back_max_session_rate | gauge | Worker boyunca görülen en yüksek session/s |
tr7_back_http_responses_total | counter | HTTP yanıt sayıları (1xx/2xx/3xx/4xx/5xx/other) |
tr7_back_http_requests_total | counter | Toplam HTTP request |
tr7_back_client_aborts_total | counter | Client abort sayısı |
tr7_back_server_aborts_total | counter | Server abort sayısı |
tr7_back_http_comp_bytes_in_total | counter | Compressor'a giren byte toplamı |
tr7_back_http_comp_bytes_out_total | counter | Compressor'dan çıkan byte toplamı |
tr7_back_http_comp_bytes_bypassed_total | counter | Compression bypass edilen byte |
tr7_back_http_comp_responses_total | counter | Sıkıştırılan HTTP response sayısı |
tr7_back_last_session_seconds | gauge | Son trafik görülen süre (saniye) |
tr7_back_queue_time_average_seconds | gauge | Ortalama queue süresi (son 1024 bağlantı) |
tr7_back_connect_time_average_seconds | gauge | Ortalama connect süresi (son 1024 bağlantı) |
tr7_back_response_time_average_seconds | gauge | Ortalama response süresi (son 1024 bağlantı) |
tr7_back_total_time_average_seconds | gauge | Ortalama total süre (son 1024 bağlantı) |
tr7_back_failed_header_rewriting_total | counter | Başarısız HTTP header rewrite sayısı |
tr7_back_connection_attempts_total | counter | Toplam outbound connection attempt |
tr7_back_connection_reuses_total | counter | Reuse edilen bağlantı sayısı |
tr7_back_http_cache_lookups_total | counter | HTTP cache lookup sayısı |
tr7_back_http_cache_hits_total | counter | HTTP cache hit/miss sayacı (çıktıya göre isimlendirilmiş) |
tr7_back_max_queue_time_seconds | gauge | Görülen en yüksek queue süresi |
tr7_back_max_connect_time_seconds | gauge | Görülen en yüksek connect süresi |
tr7_back_max_response_time_seconds | gauge | Görülen en yüksek response süresi |
tr7_back_max_total_time_seconds | gauge | Görülen en yüksek total süre |
tr7_back_internal_errors_total | counter | İç hata sayısı |
tr7_back_uweight | gauge | Backend user weight |
tr7_back_agg_server_status | gauge | Backend üzerinde sunucu durumlarının agregasyonu |
tr7_back_agg_server_check_status | gauge | (Deprecated) Agregate server status metriği |
tr7_back_agg_check_status | gauge | Check status agregasyonu (L4/L6/L7 vb. label'lar) |
Backend Server Metrikleri (tr7_backsrv_*)
| Metrik | Tip | Açıklama |
|---|---|---|
tr7_backsrv_current_queue | gauge | Server üzerindeki anlık kuyruk |
tr7_backsrv_max_queue | gauge | Worker boyunca görülen en yüksek kuyruk |
tr7_backsrv_current_sessions | gauge | Server üzerindeki anlık session |
tr7_backsrv_max_sessions | gauge | Worker boyunca görülen en yüksek anlık session |
tr7_backsrv_limit_sessions | gauge | Server session limiti (tanımlı değilse NaN) |
tr7_backsrv_sessions_total | counter | Server toplam session |
tr7_backsrv_bytes_in_total | counter | Server toplam request byte |
tr7_backsrv_bytes_out_total | counter | Server toplam response byte |
tr7_backsrv_responses_denied_total | counter | Server bazında denied response |
tr7_backsrv_connection_errors_total | counter | Server bağlantı hataları |
tr7_backsrv_response_errors_total | counter | Geçersiz yanıt hataları |
tr7_backsrv_retry_warnings_total | counter | Retry sayısı |
tr7_backsrv_redispatch_warnings_total | counter | Redispatch sayısı |
tr7_backsrv_status | gauge | Server durumu (state="UP/DOWN/MAINT/DRAIN/NOLB") |
tr7_backsrv_weight | gauge | Server efektif weight |
tr7_backsrv_active | gauge | Server aktif mi (UP ve weight>0) |
tr7_backsrv_backup | gauge | Server backup mı |
tr7_backsrv_check_failures_total | counter | Check failure sayısı (check yoksa NaN) |
tr7_backsrv_check_up_down_total | counter | Check kaynaklı UP<->DOWN geçiş sayısı |
tr7_backsrv_check_last_change_seconds | gauge | Son durum değişimi üzerinden geçen süre |
tr7_backsrv_downtime_seconds_total | counter | DOWN durumda geçirilen toplam süre |
tr7_backsrv_queue_limit | gauge | Queue limiti (maxqueue), yoksa NaN |
tr7_backsrv_current_throttle | gauge | Slowstart throttle oranı (0-100), yoksa NaN |
tr7_backsrv_loadbalanced_total | counter | Server'a yönlendirilen istek sayısı |
tr7_backsrv_max_session_rate | gauge | Worker boyunca görülen en yüksek session/s |
tr7_backsrv_http_responses_total | counter | HTTP yanıt sayıları (1xx..5xx..other) |
tr7_backsrv_client_aborts_total | counter | Client abort sayısı |
tr7_backsrv_server_aborts_total | counter | Server abort sayısı |
tr7_backsrv_last_session_seconds | gauge | Son trafik görülen süre (saniye) |
tr7_backsrv_queue_time_average_seconds | gauge | Ortalama queue süresi |
tr7_backsrv_connect_time_average_seconds | gauge | Ortalama connect süresi |
tr7_backsrv_response_time_average_seconds | gauge | Ortalama response süresi |
tr7_backsrv_total_time_average_seconds | gauge | Ortalama total süre |
tr7_backsrv_failed_header_rewriting_total | counter | Başarısız HTTP header rewrite sayısı |
tr7_backsrv_connection_attempts_total | counter | Toplam outbound connection attempt |
tr7_backsrv_connection_reuses_total | counter | Reuse edilen bağlantı sayısı |
tr7_backsrv_idle_connections_current | gauge | Reuse için hazır idle connection sayısı |
tr7_backsrv_idle_connections_limit | gauge | Idle connection limiti (pool_max_conn), yoksa NaN |
tr7_backsrv_max_queue_time_seconds | gauge | Görülen en yüksek queue süresi |
tr7_backsrv_max_connect_time_seconds | gauge | Görülen en yüksek connect süresi |
tr7_backsrv_max_response_time_seconds | gauge | Görülen en yüksek response süresi |
tr7_backsrv_max_total_time_seconds | gauge | Görülen en yüksek total süre |
tr7_backsrv_internal_errors_total | counter | İç hata sayısı |
tr7_backsrv_unsafe_idle_connections_current | gauge | Unsafe idle connection sayısı |
tr7_backsrv_safe_idle_connections_current | gauge | Safe idle connection sayısı |
tr7_backsrv_used_connections_current | gauge | Kullanımda olan connection sayısı |
tr7_backsrv_need_connections_current | gauge | Tahmini ihtiyaç duyulan connection sayısı |
tr7_backsrv_uweight | gauge | Server user weight |
TIP
Bu metrikler Grafana ile görselleştirilerek kapsamlı monitoring dashboardları oluşturulabilir. TR7, hazır Grafana dashboard şablonları da sunar.
Kullanılabildiği vService Tipleri
Çalışma Anı
Nasıl Eklenir?
Yeni bir Provide Prometheus Service Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Actions → Add adımları takip edilir.
- Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
- Action Type olarak Provide Prometheus Service seçilir.
- Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
- Conditions sekmesinden aksiyonun hangi koşul/koşullarda devreye gireceği belirlenir.
Addbutonuna tıklanarak aksiyon eklenir.
Provide Prometheus Service Aksiyonu Ekleme Formu
Provide Prometheus Service Aksiyonu Ekleme Formu
INFO
Action Type
Aksiyon tipi olarak Provide Prometheus service seçilir.
Aksiyon yalnızca istek aşamasında çalıştığından formda Execution Level ve Rule Protocol alanları bulunmaz; sayaç da desteklenmediğinden Hit Counter ve Set Variable on Hit alanları yer almaz. Aynı vService'e farklı adreslerle birden fazla metrik ucu tanımlanabilir.
INFO
Metric Address Zorunlu Varsayılan: /metrics
Prometheus metriklerinin sunulacağı URL dizinidir. Bu adrese gelen istekler Prometheus formatında metrik çıktısı döndürür. Aksiyon eklendiğinde alan varsayılan olarak /metrics değeriyle gelir.
Adres tam olarak eşleşmelidir
Eşleşme birebir yapılır ve büyük/küçük harfe duyarlıdır: /metrics tanımlıyken /metrics/ veya /Metrics adresleri eşleşmez. Adres / ile başlamalıdır; başlamazsa aksiyon kaydedilir ancak hiçbir zaman çalışmaz.
Yalnızca dizin denetlenir; istek yöntemi (GET, POST vb.) dikkate alınmaz ve adresin sonundaki parametreler eşleşmeyi etkilemez.
TIP
Örnek değerler:
/metrics: Standart Prometheus path'i/prometheus: Alternatif path/monitoring/metrics: Nested path
INFO
Conditions
Bu alanda, ilgili aksiyonun hangi koşul veya koşullar sağlandığında devreye gireceği tanımlanır.
Bir veya birden fazla koşul eklenerek, and/or yapısı ile davranışın hedefli ve kontrollü şekilde uygulanması sağlanabilir.
Koşullar hakkında detaylı bilgi Conditions sayfasında yer alır.
WARNING
Bu alanda herhangi bir koşul tanımlanmazsa, ilgili aksiyon koşulsuz (Always) olarak çalışır. Bu durumda aksiyon, ilgili vService'e gelen tüm trafiğe uygulanır.
Canlı ortamlarda, koşul tanımlanmadan aksiyon kullanılması beklenmeyen durumlara (servis kesintilerine) yol açabilir. Bu nedenle aksiyon oluşturulurken mutlaka en az bir koşul tanımlanması önerilir.
WARNING
Prometheus endpoint'i hassas bilgiler içerebilir. Production ortamında IP bazlı veya authentication tabanlı koşullarla erişimi kısıtlamanız önerilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak aksiyon ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile aksiyon ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir aksiyon daha eklenebilir.
Aksiyon Eklendi
Prometheus Formatında Metrik Çıktısı
Belirtilen path'e yapılan GET isteği aşağıdaki formatta çıktı döndürür:
Prometheus Metrik Çıktısı Örneği
Prometheus Konfigürasyon Örneği
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: "TR7 vService Dashboard"
static_configs:
- targets: ['172.16.102.200:80']Metrik ucunda kimlik doğrulaması yoktur
Aksiyon, tanımlanan adrese gelen istekleri kimlik doğrulaması aramadan yanıtlar. Erişimi sınırlamanın tek yolu Conditions alanıdır; koşul tanımlanmazsa metrikler vService'e erişebilen herkese açık olur.
Metrik çıktısı vService adları, Kurum Servisi sayıları, bağlantı ve hata istatistikleri gibi altyapı bilgilerini içerdiğinden, erişim en az Source IP koşuluyla izleme sunucularıyla sınırlandırılmalıdır.
Operasyonel ve Güvenli Kullanım Önerileri
- Endpoint korunur. Prometheus endpoint'i sistem bilgileri içerir; erişim IP whitelist ya da authentication ile kısıtlanır. Conditions alanı kullanılarak yalnızca monitoring sistemlerinin erişmesine izin verilir.
- Standart path kullanılır.
/metricspath'i Prometheus ekosisteminde standarttır; farklı bir path seçildiğinde Prometheus scrape yapılandırması buna göre düzenlenir. - Scrape interval ayarlanır. Prometheus scrape interval'i ihtiyaca göre belirlenir; çok sık scrape (< 10 saniye) gereksiz yük oluşturur. Tipik değer 15-30 saniyedir.
- Grafana ile Entegre Edin. TR7 metriklerini Grafana dashboard'larında görselleştirerek kapsamlı monitoring sağlayın.
- Alerting kuralları oluşturulur. Prometheus alerting kurallarıyla bağlantı sayısı, hata oranı gibi metriklerde eşik değerler belirlenerek önleyici izleme yapılır.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili aksiyonun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: IP Whitelist ile Güvenli Prometheus Endpoint
Problem: TR7 vService'lerinden Prometheus metrikleri sunulması gerekiyor ancak metrik endpoint'i herkese açık olursa sistem bilgileri (bağlantı sayısı, Kurum Servisi durumu, kaynak kullanımı) sızabilir. Sadece monitoring sunucularının erişmesi gerekiyor.
Çözüm: Prometheus metrikleri standart /metrics path'inde sunulur ve Source IP koşuluyla yalnızca monitoring sunucularının erişmesine izin verilir.
Konfigürasyon:
- Metric Address:
/metrics - Conditions: Source IP 10.0.1.50 (Prometheus server IP)
Sonuç:
- ✅ Güvenli erişim → Sadece Prometheus sunucusu (10.0.1.50) metriklere erişebilir.
- ✅ Bilgi sızıntısı önlenir → Harici kullanıcılar sistem bilgilerine erişemez.
- ✅ Standart path → Prometheus varsayılan
/metricspath'ini kullanır, ekstra config gerekmez. - ✅ Otomatik keşif → Prometheus
http://tr7-vservice/metricsadresinden metrikleri scrape eder. - ❌ Diğer istekler → Prometheus sunucusu dışındaki IP'lerden gelen
/metricsistekleri metrik çıktısı almaz; bu istekler normal trafik gibi Kurum Servisine iletilir.
Prometheus scrape config:
scrape_configs:
- job_name: 'tr7-production'
static_configs:
- targets: ['172.16.102.200:80']
metrics_path: '/metrics'
scrape_interval: 30s