Servis erişilebilirliğini yalnızca içeriden ölçmek, özellikle kurumsal ağlarda sıkça yanıltıcıdır. Uygulama pod’u ayaktadır, node sağlıklıdır, load balancer yanıt veriyordur; ama belirli ofis segmentinden, partner ağından ya da internet çıkışından servis gerçekte ulaşılamaz durumdadır. Blackbox Exporter bu kör noktayı kapatmak için çok etkili bir araçtır. Doğru kullanıldığında sentetik probe sayfası değil, ağ deneyimini farklı noktalardan ölçen güvenilir bir sinyal katmanı hâline gelir.
Ne kuracağız?
Bu rehberde şu modeli kuracağız:
- Farklı ağ bölgelerinde çalışan birden fazla probe istemcisi
- HTTP ve TCP denetimlerini yapan Blackbox Exporter
- Sonuçları toplayan Prometheus
- Hedef ve konuma göre alarm üreten etiketleme yapısı
Amaç, “servis açık mı?” sorusunu tek noktalı ve yanıltıcı şekilde değil, hangi konumdan açık olduğunu gösterecek biçimde yanıtlamaktır.
1. Blackbox Exporter konfigürasyonunu hazırlayın
İlk adım, denetim modüllerini tanımlamaktır. Aşağıdaki örnek; HTTP 2xx, TCP bağlantısı ve TLS sertifika geçerliliği için sade bir başlangıç sunar:
modules:
http_2xx:
prober: http
timeout: 5s
http:
method: GET
preferred_ip_protocol: ip4
valid_status_codes: [200, 301, 302]
tcp_connect:
prober: tcp
timeout: 5s
tcp:
preferred_ip_protocol: ip4
tls_expiry:
prober: tcp
timeout: 5s
tcp:
tls: true
tls_config:
insecure_skip_verify: false
Burada önemli nokta, her problemi tek modüle yıkmamaktır. HTTP erişilebilirlik, ham TCP ulaşılabilirlik ve TLS doğrulaması farklı alarm yüzeyleri üretir.
2. Exporter’ı farklı noktalara yerleştirin
Asıl değer bu adımda çıkar. Blackbox Exporter’ı yalnızca merkezi izleme ağında çalıştırırsanız yine tek bakış noktasına mahkûm kalırsınız. Bunun yerine örneğin şu konumları düşünün:
- Merkez veri merkezi çıkışı
- Bulut VPC içi izleme segmenti
- Şube veya uzak ofis çıkışı
- İnternete açık bağımsız probe noktası
Her probe aynı hedefi izleyebilir; fakat probe_location etiketi farklı olur. Böylece kesintinin gerçekten servis katmanında mı yoksa belirli erişim yolunda mı olduğunu daha hızlı anlarsınız.
3. Prometheus scrape tanımını ekleyin
Aşağıdaki örnek, Blackbox Exporter’a hedefi parametre olarak verip sonuçta hedef URL ve probe konumunu etikete dönüştürür:
scrape_configs:
- job_name: blackbox-http
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- https://app.mustafaerbay.internal/health
- https://erp.mustafaerbay.internal/login
labels:
probe_location: dc-core
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter.monitoring.svc:9115
Farklı noktalar için aynı blok ayrı Prometheus’larda ya da federasyonla çalışan bölgesel toplama katmanlarında tekrarlanabilir.
4. Alarm mantığını tek başarısız probe üzerine kurmayın
Kurumsal ağlarda geçici DNS, rota veya çıkış sorunları kaçınılmazdır. Bu nedenle alarmı “bir probe başarısız oldu” mantığıyla kurmak gürültü üretir. Daha iyi yaklaşım, konum çoğunluğu ya da kritik konum eşikleri tanımlamaktır.
Örnek:
- İnternet probe’u ve iki iç probe aynı anda düşerse kritik alarm
- Sadece tek şube probe’u düşerse orta seviye alarm
- TLS geçerlilik süresi 14 gün altına inerse bakım alarmı
Bu model, sentetik izlemenin sahadaki gerçek önceliklerle hizalanmasını sağlar.
5. Sonuçları servis sahipliğine bağlayın
Blackbox Exporter çok faydalı olabilir; ama hedef listesi sahipsiz bırakılırsa hızla eskiyen bir kontrol paneline dönüşür. Bunun için hedef tanımlarını şu metadatalarla birlikte tutmak iyi sonuç verir:
- Servis sahibi ekip
- İş etki seviyesi
- Beklenen erişim yüzeyi
- İlgili TLS alan adı
- Escalation politikası
Bu sayede alarm çıktısı doğrudan doğru ekibe bağlanır.
6. Basit bir PromQL örneği
Konuma göre başarısız probe oranını görmek için aşağıdaki sorgu yararlıdır:
avg by (instance, probe_location) (
probe_success{job="blackbox-http"} == 0
)
Sertifika kalan gününü izlemek için de:
(probe_ssl_earliest_cert_expiry - time()) / 86400
Bu iki sorgu birlikte kullanıldığında hem erişilebilirlik hem sertifika hijyeni tek panelde görünür olur.
Sonuç
Blackbox Exporter ile çok noktadan servis sağlığı izleme kurmak, erişilebilirliği uygulama içinden değil gerçek erişim yollarından görmek için güçlü bir adımdır. Tek merkezden çalışan probe’lar yerine konuma duyarlı sentetik ölçüm kurduğunuzda ağ, DNS, TLS ve kenar katmanındaki kırılmaları daha hızlı ayırırsınız. İyi tasarlanmış sentetik izleme, daha fazla alarm değil; daha doğru bağlam üretir.