> For the complete documentation index, see [llms.txt](https://oguzhaninan.gitbook.io/varnish-cache/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oguzhaninan.gitbook.io/varnish-cache/backend-kullanimi/backend-sagligi.md).

# Backend Sağlığı

Bundan önce arka uçların sağlığını nasıl kontrol edeceğimizi gördük.

{% content-ref url="/pages/-LeyBHaKRHUMoLYIfTpF" %}
[Arka Uçlar (Backends) ve Health Probes](/varnish-cache/varnish-yapilandirma-dili-vcl/arka-uclar-backends-ve-health-probes.md)
{% endcontent-ref %}

Önceki örneğimize sağlık prob'u ekleyelim.

{% code title="default.vcl" %}

```c
vcl 4.0;

probe healthcheck {
    .url = "/";
    .interval = 5s;
    .timeout = 1s;
    .window = 10;
    .threshold = 3;
    .initial = 1;
    .expected_response = 200;
}

backend public {
    .host = "public.example.com";
}

backend admin {
    .host = "admin.example.com";
}

sub vcl_recv {
  if(req.url ~ "^/admin(/.*)?") {
      set req.backend_hint = admin;
  } else {
      set req.backend_hint = public;
  }
}
```

{% endcode %}

Bu örnekteki sağlık kontrolleri, ana sayfadaki bir HTTP isteğine göre yapılır. Bu kontrol, her beş saniyede bir, bir saniyelik zaman aşımı ile yapılır. Bir HTTP 200 durum kodu bekliyoruz. Arka uçlar ancak 10 sağlık kontrolünden 3'ü başarılı olursa sağlıklı kabul edilir.

Aşağıdaki komutu çalıştırarak arka uçlarınızın sağlığını görüntüleyebilirsiniz:

```bash
varnishadm backend.list
```

Aşağıdaki gibi bir çıktı alırsınız.

```bash
Backend name   Admin   Probe
boot.public    probe   Healthy 10/10
boot.admin     probe   Healthy 10/10
```

Her iki arka uç listelenir ve sağlıkları bir prob tarafından otomatik olarak kontrol edilir (Yönetici sütununa bakın). Sağlıklı olduğunu görüyoruz çünkü 10 kontrolden 10'u başarılı olmuştur. Örneğimizde sağlıklı bir arka uç için başarılı olması gereken yoklama sayısı sadece üç taneydi.

Aşağıdaki komutları vererek, probun arka uç sağlığı ile ilgili kararını manuel olarak da geçersiz kılabilirsiniz:

```bash
varnishadm backend.set_health boot.public sick
varnishadm backend.set_health boot.admin healthy
```

Çıktı aşağıdaki gibi olacaktır.

```bash
Backend name   Admin     Probe
boot.public    sick      Healthy 10/10
boot.admin     healthy   Healthy 10/10
```

Gördüğünüz gibi, Admin sütunu artık probe değil sağlık durumunu gösteriyor. Kontrolü sağlık problarına geri vermek için aşağıdaki komutları vermeniz yeterlidir:

```bash
varnishadm backend.set_health boot.public auto
varnishadm backend.set_health boot.admin auto
```

**vmod\_std**'nin bir parçası olan **std.healthy()** fonksiyonu, bir arka ucun sağlıklı olup olmadığını söyleyebilir. Geçerli arka uçtaki sağlığı kontrol etmek için, sadece **std.healthy(req.backend\_hint)** kullanabilirsiniz.
