Backend down görünüyor; nasıl teşhis ederim?
Kısa cevap
Önce Health göstergesinin gerçekten kırmızı (Error) olduğu doğrulanır: sarı Preparing geçicidir, gri HC Disabled ya da No Data denetim sonucu olmadığını, koyu gri güç simgesi (Off) health check atanmadığını, ad kolonundaki ambulans simgesi Maintenance Mode'u gösterir. Kırmızıysa neden Kurum Servisi önizlemesindeki Health Check kartında ve Health Checks sekmesindeki hata metninde yazar (ör. TCP connection timeout). Cluster'da yalnızca bir cihazda kırmızıysa sorun o cihazın ağ yolundadır. Ardından sunucuya doğrudan erişilip erişilemediği, health check profilindeki port, yol, beklenen kod ve içeriğin sunucunun gerçek yanıtıyla uyuşup uyuşmadığı ve health check trafiğinin kaynak IP'sinin sunucu güvenlik duvarında izinli olup olmadığı sırayla kontrol edilir.
Sorun: Kurum Servisi Down Görünüyor
Backend Services listesinde bir ya da daha fazla Kurum Servisi kırmızı görünüyor ve bu sunuculara trafik gitmiyor. Sağlıksız Kurum Servisi trafikten kendiliğinden çıkarılır; sunucu düzelip art arda Required Successes (varsayılan 3) kez başarılı denetimden geçince yine kendiliğinden trafiğe alınır. Sunucunun gerçekten çalışmadığı mı, health check profilinin yanlış mı ayarlandığı, yoksa denetim trafiğinin sunucuya ulaşamadığı mı belirlenmelidir.
Nedenler ve Çözümler
| Hata metni | Olası neden | Çözüm |
|---|---|---|
TCP connection refused | Port kapalı ya da servis çalışmıyor | Sunucudaki servis başlatılır ya da profildeki port düzeltilir |
TCP connection timeout · Request timeout error: …ms | Sunucu kapalı, güvenlik duvarı, rota ya da Timeout (varsayılan 1 sn) yanıt süresinden dar | Yöntem 2 ve Yöntem 3 |
Unexpected status code | Sunucunun döndürdüğü kod Expected Status Codes listesinde yok (301 ve 302 dahil) | HTTP health check'te belirli bir status code'u (ör. 200, 302) nasıl beklerim? |
HTTP(s) content check failed | Yanıt içeriği Content Check Mode beklentisini karşılamıyor | Beklenen içerik sunucunun gerçek yanıtına göre düzeltilir |
Certificate error: … | Sunucu sertifikası doğrulanamıyor | Profilin sertifika doğrulama ayarı ya da sunucu sertifikası düzeltilir |
| Hata yok, ad kolonunda ambulans simgesi | Kurum Servisi Maintenance Mode'da | Maintenance Mode ne yapar? |
Ayrıntılı neden tablosu: Sunucu çalışıyor ama TR7 onu down gösteriyor; neden?
Nereden İzlenir?
| Ekran | Yol | Ne gösterir |
|---|---|---|
| Health durumu göstergesi | Load Balancer → Backend Services | OK, Error, Preparing, HC Disabled, No Data, Off; cluster'da cihaz başına iki yarım |
| Health Checks sekmesi | Kurum Servisi önizlemesi | Denetim geçmişi ve hata metinleri |
| Live Stats → Backend Services | vService → Live Stats | Ad hücresi ipucunda Last check, Failed checks, Times down, Total downtime, Last change |
| Details · Status Logs | Load Balancer vServices → vService → sağ panel | <ad> is not healthy satırları ve durum geçişleri |
Çözüm: Üç Yöntem
Üç yöntem sırayla uygulanır: önce gösterge ve hata metni okunur, sonra sorunun sunucuda mı profilde mi olduğu ayrılır, en son denetim trafiğinin sunucuya ulaşıp ulaşmadığına bakılır.
| Durumunuz | Uygun yöntem |
|---|---|
| Göstergeyi ve hata metnini okumak | Yöntem 1: Gösterge ve hata metni |
| Sunucu mu profil mi | Yöntem 2: Doğrudan istek |
| Denetim trafiği sunucuya ulaşıyor mu | Yöntem 3: Kaynak IP ve ağ yolu |
Yöntem 1: Gösterge ve Hata Metni Önerilen
- Nasıl çalışırHealth göstergesinin rengi durumu, Health Checks sekmesindeki hata metni nedeni gösterir.
- Nerede açılırLoad Balancer → Backend Services → Kurum Servisi → önizleme → Health Checks
- Gereksinim Kurum Servisine health check atanmış olmalıdır; geçmiş kayıtlar Enable HC Logs açıkken yazılır.
- vService tipi HTTP · L7 TCP · Network
Adım adım yapılandırma
Load Balancer → Backend Services listesinde Health kolonuna bakılır. Sarı Preparing ise denetim sonucu kesinleşene kadar beklenir; gri HC Disabled ya da No Data ve koyu gri güç simgesi Off down anlamına gelmez; ad kolonunda ambulans simgesi varsa Kurum Servisi Maintenance Mode'dadır (Kurum Servisi listesindeki health renkleri ve simgeler ne anlama gelir?).
Listede Kurum Servisinin satırına tıklanır; sağda açılan önizlemedeki Health Check kartında durum ve hata metni okunur. Cluster'da iki cihazın hata metni farklıysa ikisi ayrı gösterilir.
Önizlemede Health Checks sekmesi açılır; Only Change Logs görünümünde Error ve OK geçişleri ile hata metinleri listelenir (Health Check geçmişini (ne zaman down/up olduğunu) nasıl görürüm?). Hata metni Nedenler ve Çözümler tablosuyla eşleştirilir.
Gösterge iki yarıya bölünmüşse ve yalnızca bir yarı kırmızıysa sorun o cihazdan sunucuya giden yoldadır: o cihazın route table'ı, rotaları ve sunucu tarafındaki güvenlik duvarı kuralları kontrol edilir (vService listesinde cluster durumunda ikiye bölünmüş durum dairesi ne anlama gelir?).
Doğrulama
Düzeltmeden sonra Backend Services listesine ve Health Checks sekmesine bakılır.
Health yeşil (OK); Health Checks'te Error → OK geçişiYöntem 2: Doğrudan İstek
- Nasıl çalışır Health check profilindeki istek elle üretilince sorunun sunucuda mı profilde mi olduğu ayrılır.
- Nerede açılır Sunucuyla aynı ağ · WEB-CLI → sys-cmd curl
- Gereksinim Profilin Path + Query, Expected status codes ve Virtual Domain (Host/SNI) değerleri.
- vService tipi HTTP · L7 TCP · Network
Adım adım yapılandırma
Load Balancer → Profiles → Health Checks ekranında Kurum Servisine atanmış profil seçilir; tipi, Path + Query, Expected Status Codes, Virtual Domain (Host/SNI) ve Content Check Mode değerleri not edilir.
Aynı istek sunucuyla aynı ağdan gönderilir:
curl -sv -H "Host: www.example.com" -w '%{http_code} %{time_total}\n' http://192.0.2.21:8080/healthAynı istek TR7'den denenecekse WEB-CLI'da önce Kurum Servisinin route table'ı seçilir (cihazın kendisi için v-device alanına Host yazılır, route table adı Tab listesinden alınır):
sys-cmd route-table set v-device Host route-table <route-table>
sys-cmd curl -sv -H "Host: www.example.com" http://192.0.2.21:8080/healthDoğrudan istek de başarısızsa (refused, timeout ya da 5xx) sunucu düzeltilir; düzelince Kurum Servisi kendiliğinden trafiğe döner. İstek başarılıysa profil sunucunun gerçek yanıtına göre düzeltilir (Sunucu çalışıyor ama TR7 onu down gösteriyor; neden?). Yanıt süresi profilin Timeout değerine yakınsa ve Kurum Servisi ara ara düşüp kalkıyorsa Timeout ve Required Failures (varsayılan 2) gözden geçirilir (Health Check sürekli up/down arasında gidip geliyor (flapping); ne yapmalıyım?).
Doğrulama
curl -sv çıktısındaki durum kodu ve süreye bakılır.
Expected status codes listesindeki kod, Timeout'tan kısa süreYöntem 3: Kaynak IP ve Ağ Yolu
- Nasıl çalışır Denetim istekleri sunucuya ulaşmıyorsa sunucu sağlıklı olsa da down görünür. Denetimlerin kaynak adresi Kurum Servisinin Health Check Source IP alanına göre belirlenir.
- Nerede açılır Sunucunun erişim logu · Kurum Servisi formu
- Gereksinim Sunucu loglarına erişim.
- vService tipi HTTP · L7 TCP · Network
Adım adım yapılandırma
Sunucunun erişim logunda denetim isteklerinin profilin Period (varsayılan 1 sn) aralığıyla geldiği ve kaynak adresi kontrol edilir. Görünmüyorsa sunucu ya da aradaki güvenlik duvarında TR7'nin denetim adresine izin verilir (Sunucu firewall'unda health check için hangi IP'lere izin vermeliyim?, Health Check paketleri hangi kaynak IP'den gider; bunu değiştirebilir miyim?).
Load Balancer → Backend Services ekranında Kurum Servisi seçilir ve Edit butonuna tıklanır.
Route Table alanının sunucuya ulaşılan route table olduğu kontrol edilir. Use Different IP for Health Check açıksa denetim, sunucunun Address alanı yerine burada girilen adres ve porta gider; bu adresin güncel olduğu doğrulanır (Health Check için sunucunun farklı bir IP'sini/portunu kontrol edebilir miyim (Use Different IP for Health Check)?).
Değişiklik yapıldıysa formun altındaki Edit butonuna tıklanır.
Doğrulama
Sunucunun erişim loguna bakılır.
Denetim istekleri TR7'nin adresinden düzenli gelirSık Yapılan Hatalar
- Gri ya da Off göstergesini down sanmak. Bu durumlar denetim sonucunun olmadığını ya da health check atanmadığını gösterir. Health check atanmamış Kurum Servisi hep ayakta sayılır ve kapalıysa da istek alır (Sunucu arızalı ama TR7 hâlâ trafik gönderiyor; neden?).
- Preparing sırasında profili sürekli değiştirmek. Birkaç denetim sonucu beklenir.
- Tarayıcıda açılıyor diye profili sorgulamamak. Tarayıcı yönlendirmeleri izler ve doğru Host'u gönderir; health check göndermeyebilir.
- Health check ile veri trafiğinin kaynak adresini aynı sanmak. İkisi Kurum Servisinde ayrı ayarlanır (Health Check Source IP ve SNAT).
- Cluster'da tek cihazın sorununu genel sanmak. Göstergenin iki yarısı ayrı ayrı okunur.
- Sorun sürüyorsa bilgi toplamadan destek istemek. Destek kaydına eklenecekler: TR7 destek ekibine başvurmadan önce hangi bilgileri toplamalıyım?
Dokümantasyonda nasıl yapılır
