HaProxy Tanımlamalar ve Açıklamalar

Tanımlamalar ve Açıklamalar

Yapılandırma dosyasına girilen tanımlamalar kendi içlerinde bölümlere ayrılmaktadır. Temel bölümler global ve defaults olmak üzere genel geçer kuralların düzenlendiği kısımlardır.

Global Bölümü
Global section’ı altında belirtilen herşey  “process-wide” tanımlamaları içerir ve haproxy sürecinin hangi koşullarla çalışması gerektiğinin belirlenmesine yarar. Bizim örneğimizde global kısmına girilen değerler ve anlamları şu şekilde:


log 127.0.0.1   local0 notice:
Loglama’nın nasıl yapılacağı bildirir. Bu örnekte loglar, localhost üzerinde çalışan syslog’un local0 fasilitesine, notice seviyesinde gönderilmektedir.
Log parametresi maksimum iki kez girilebilir. Örneğin birinci satır ile localhost’taki syslog’ üzerinden loglama yapılırken, ikinci bir satır ile aynı ya da daha spesifik kriterlere göre uzaktaki bir syslog sunucusuna log gönderebilirsiniz.


maxconn 2048:
Her bir süreç için eş zamanlı olarak kaç adet bağlantı açılabileceği maxconn paramtresi ile belirlenir. Örnekte bu değer 2048’dir. Bu değerin üzerine çıkılığı zaman proxy yeni bağlantı kabul etmez.
maxconn değerini kendi ihtiyaçlarınız doğrultusunda belirleyebilirsiniz. Ancak bu değerin sisteminizde tanımlı max file descriptor (fd) değerinden yüksek olmamasına dikkat ediniz (bkz: ulimit -n)


user haproxy:
Haproxy sürecinin hangi kullanıcının yetkileri ile çalıştırılacağını belirler. Bu bölümde herhangi bir değer girmezseniz, haproxy root yetkileri ile çalışır. Linux sistemlerde haproxy kurulumu sırasında haproxy isimli user otomatik olarak oluşturulur. FreeBSD kullanıyorsanız, bu kullanıcıyı  kurulum bölümünde yaptığımız gibi manuel oluşturmak gerekir.


group haproxy:
user parametresine benzer şekilde haproxy süreci için tanımlanan grubu belirtir.


daemon:
Sürecin arka planda (daemon mode’da) çalışması gerektiğini belirtir.


Global bölümü ile ilgili örnekte yer verdiğimiz tanımlamalar bu kadar. Ancak bu bölümde tanımlanabilecek daha bir çok parametre bulunuyor. Bunların neler olduğu ve açıklamaları için http://haproxy.1wt.eu/download/1.4/doc/configuration.txt adresindeki dökümanın “3. Global parameters” bölümüne bakabilirsiniz.

Defaults Bölümü

Bu section ise öntanımlı parametrelerin belirtildiği bölümdür. Burada girilen tüm bilgiler, load balance için tanımlanan bölümler için öntanımlı olarak devreye alınırlar. Örnekte tanımladığımız parametreler ve anlamları şu şekilde:


log     global:
Log parametresi loglama işlemleri için tanımlamaları belirlemektedir. Örnekte lb işlemleri için loglamaların global bölümünde tanımlandığı şekilde yapılması için global ibaresini kullandık.


mode tcp
Mode bölümü, haproxy’nin handi modda çalışacağını belirlemektedir. Biz smtp (tcp 25) için load balance işlemi yapacağımız için haproxy’yi ön tanımlı olarak tcp modda çalıştırıyoruz. tcp’nin yanı dışında http mode’da da çalıştırmak mümkün.


option dontlognull
Bu parametre null connections olarak nitelendirilen ve üzerinden herhangi data transferi yapılmayan bağlantılar için loglama yapılmamasını söyler.


retries 3
Başarısız olan bağlantı istekleri için arka tarafa kaç kez daha bağlantı denemesinde bulunacağını belirler.


option redispatch
Başarısız bağlantı denemeleri için oturumun bir sonraki çalışan sunucuya yönlendirilmesini belirtir.


maxconn 2048
Maxconn değeri global section’da da tanımlandığı gibi kabul edilebilecek eş zamanlı bağlandı adedini tanımlar ve örnekte bu rakam 2048’dir.


timeout connect 5000ms
Arkadaki sunucuya bağlantı teşebbüsleri için milisaniye cinsinden timeout değerini belirler. Örneğe göre arkadaki sunucuya bağlantı için 5 saniye beklenecektir. 5 saniye içerisinde bağlantı kurulamazsa sunucuya erişilemediği varsayılacaktır.


timeout client 5000ms
İstemci tarafı için maximum inactivity time’ı belirler. Örnek olarak haproxy’ye bağlı bulunan istemci 5 saniye boyunce herhangi transferde bulunmazsa timeout’a düşecektir.


timeout server 5000ms
Bu parametre, bir önceki parametrenin sunucu tarafı için olan versiyonudur. Haproxy ile arka taraftaki sunucu arasındaki bağlantıda 5 sn boyunca herhangi inactivity durumu oluşursa bağlantı timeout olacaktır.

Listen Stats Bölümü

Bu bölümde web tabanlı istatistik ekranı için gerekli olan tanımlamalar yapılmaktadır.


listen stats :8080
stats web arayüzünün 8080. porttan yayınlanmasını söylüyoruz.


mode http
Bu listen bölümününi http modda çalışacağını belirtiyoruz.


stats enable
İstatistiklerin tutulması için stats özelliğinin devreye alınmasını söylüyoruz.


stats uri /stats
İstatistik web sayfasına erişmek için uri’nin ne olacağını belirliyoruz. Bu örneğe göre adres http://haproxy.ip.adresi:8080/haproxy?stats olacaktır.


stats auth admin:12345
İstatistik sayfasına giriş için bir kullanıcı adı ve şifre belirliyoruz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir