Dynamic Condition
Dynamic Condition Nedir?
Dynamic Condition koşulu, iki Smart Variables (fx) karşılaştırarak dinamik ve esnek koşullar oluşturmayı sağlayan güçlü bir koşul tipidir.
Bu koşul sayesinde herhangi iki dinamik değeri karşılaştırarak esnek trafik yönetimi yapılabilir.
TIP
Protokol ve Seviye Esnekliği
Bu koşul hem HTTP hem de TCP protokollerinde, istek ve yanıt fazlarında kullanılabilir.
Dynamic Condition Koşulunun Önemi
Dynamic Condition, TR7'nin en güçlü ve esnek koşul tiplerinden biridir. Karşılaştırmanın sol tarafı her zaman Smart Variables (fx) destekler; sağ taraf ise Text equality ve Integer operatörlerinde akıllı değişken, diğer operatörlerde sabit değer kabul eder.
Dynamic Condition sayesinde;
- Header değerlerini dinamik olarak karşılaştırılabilir,
- Sayısal değerler karşılaştırılabilir (eşitlik, büyüklük, küçüklük, aralık),
- Boolean değerleri kontrol edilebilir,
- IP adreslerini CIDR aralıklarıyla eşleştirilebilir,
- Regex ile metin eşleştirme yapılabilir.
Desteklenen Operatörler:
| Operatör | Açıklama |
|---|---|
| Text equality | Metin değerinin birebir eşleşmesini kontrol eder |
| Text inclusion | Metnin, belirtilen değeri içerip içermediğini kontrol eder |
| Text start | Metnin, belirtilen ifade ile başlayıp başlamadığını kontrol eder |
| Text end | Metnin, belirtilen ifade ile bitip bitmediğini kontrol eder |
| Text regex | Metnin, tanımlanan düzenli ifade (regex) ile eşleşip eşleşmediğini kontrol eder |
| Integer equality | Sayısal değerin belirtilen sayıya eşit olup olmadığını kontrol eder |
| Integer greater than | Sayısal değerin belirtilen değerden büyük olup olmadığını kontrol eder |
| Integer less than | Sayısal değerin belirtilen değerden küçük olup olmadığını kontrol eder |
| Integer range | Sayısal değerin tanımlı bir aralık içinde olup olmadığını kontrol eder |
| Boolean | Mantıksal (true/false) değerin durumunu kontrol eder |
| IP/cidr match | IP adresinin veya ağın (CIDR) belirtilen IP/CIDR bloğu ile eşleşip eşleşmediğini kontrol eder |
Kullanılabildiği vService Tipleri
Nasıl Eklenir?
Yeni bir Dynamic Condition, 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 → Conditions → Add adımları takip edilir.
- Criteria olarak Dynamic condition seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Dynamic Condition Ekleme Formu
Dynamic Condition Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden Dynamic condition seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Condition Level
Koşulun hangi fazda değerlendirileceğini belirler; kayıttan sonra değiştirilemez.
- On request: İstek alındığında değerlendirilir.
- On response: Yanıt alındığında değerlendirilir.
INFO
Condition Protocol
Koşulun hangi protokolde çalışacağını belirler; kayıttan sonra değiştirilemez.
- HTTP: HTTP vService'lerde kullanılır.
- TCP: L7 TCP vService'lerde kullanılır. TCP'de yanıt aşamasına ait değişkenler bulunmadığından, On Response seçilse bile değişken listesi istek kümesinden sunulur.
INFO
Query Key Zorunlu
Karşılaştırmanın sol tarafındaki değeri üreten Akıllı Değişken bu alana girilir; sabit metinle değişkenler aynı alanda birleştirilebilir.
TIP
Bu alan Smart Variables destekler. fx butonu ile mevcut değişkenlere erişilebilir ve dinamik içerik oluşturulabilir. Detaylı bilgi için Variables dokümanına bakılabilir.
Değişken listesi, seçili Condition Protocol ve Condition Level değerlerine göre değişir:
| Değişken | Açıklama | Kullanılabilirlik |
|---|---|---|
| İstemci IP adresi | İstemci IP adresi | Her protokol ve aşamada |
| İsteğin yapıldığı dizin/sayfa | İstek path'i | Yalnız HTTP |
| İstek Başlık bilgisi | İstek başlık değeri | Yalnız HTTP |
| İstek Çerez bilgisi | İstek çerez değeri | Yalnız HTTP |
| Cevap Başlık bilgisi | Yanıt başlık değeri | Yalnız HTTP + On Response |
| Dönen durum kodu | Dönen HTTP durum kodu | Yalnız HTTP + On Response |
INFO
Operator Zorunlu
Karşılaştırma yöntemi seçilir; seçilen operatör, altta açılacak değer alanını belirler.
| Operatör | Açıklama |
|---|---|
| Text equality | Metin değerinin birebir eşleşmesini kontrol eder |
| Text inclusion | Metnin, belirtilen değeri içerip içermediğini kontrol eder |
| Text start | Metnin, belirtilen ifade ile başlayıp başlamadığını kontrol eder |
| Text end | Metnin, belirtilen ifade ile bitip bitmediğini kontrol eder |
| Text regex | Metnin, tanımlanan düzenli ifade (regex) ile eşleşip eşleşmediğini kontrol eder |
| Integer equality | Sayısal değerin belirtilen sayıya eşit olup olmadığını kontrol eder |
| Integer greater than | Sayısal değerin belirtilen değerden büyük olup olmadığını kontrol eder |
| Integer less than | Sayısal değerin belirtilen değerden küçük olup olmadığını kontrol eder |
| Integer range | Sayısal değerin tanımlı bir aralık içinde olup olmadığını kontrol eder |
| Boolean | Mantıksal (true/false) değerin durumunu kontrol eder |
| IP/cidr match | IP adresinin veya ağın (CIDR) belirtilen IP/CIDR bloğu ile eşleşip eşleşmediğini kontrol eder |
INFO
Karşılaştırma Değeri Alanı Operatöre göre değişir
Karşılaştırmanın sağ tarafındaki değer, seçilen operatöre göre etiketi ve davranışı değişen bir alana girilir:
| Operatör | Açılan Alan | Davranış |
|---|---|---|
| Text equality | Key to compare | Akıllı değişken destekli metin; fx butonu bulunur |
| Text inclusion / Text start / Text end | Text to compare | Düz metin (fx yok) |
| Text regex | Regex to compare | Düzenli ifade; yanındaki test aracıyla denenebilir |
| Integer equality / greater than / less than | Integer to compare | Akıllı değişken destekli sayısal değer; fx butonu bulunur |
| Integer range | Range start + Range end | Aralık için iki ayrı alan; ikisi de akıllı değişken destekler |
| Boolean | - | Değer alanı açılmaz; değişkenin doğru/yanlış durumu değerlendirilir |
| IP/cidr match | IP/cidr to compare | Ayrı IP ve CIDR girişleri (varsayılan CIDR: /24); ikisi de doğrulanır |
Açılan alanların tümü zorunludur. Integer range'de iki sınır değeri de aralığa dahildir; metin operatörlerinin tümü büyük/küçük harfe duyarlıdır.
TIP
fx butonlu alanlar Smart Variables destekler; mevcut değişkenlere erişilerek dinamik içerik oluşturulabilir. Detaylı bilgi için Variables dokümanına bakılabilir.
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Header Değeri Kontrolü. Custom header'ları kontrol ederek uygulama mantığına göre trafik yönetimi yapın.
- Dinamik Karşılaştırma. İki Akıllı Değişkeni karşılaştırarak dinamik koşullar oluşturun.
- Sayısal Eşikler. Sayısal operatörlerle response time, status code gibi değerleri kontrol edin.
- IP Aralık Kontrolü. IP/cidr eşleşmesi ile dinamik IP kontrolü yapın.
