Web serwer traffigine gözegçilik etmek üçin HAProxy bilen ýokary derejeli ýük balansyny nädip sazlamaly


“HAProxy” “High Availability” proksi diýmekdir. C programmirleme dilinde ýazylan mugt we açyk çeşme. HAProxy programmasy TCP/HTTP Load Balancer we proksi Solutions üçin ulanylýar. HAProxy programmasynyň iň köp ulanylyşy, iş ýüküni birnäçe serwerde, meselem, web serweri, maglumat bazasy serweri we ş.m. paýlamakdyr we şeýlelik bilen serwer gurşawynyň umumy işleýşini we ygtybarlylygyny ýokarlandyrýar.

Örän täsirli we çalt programma, Twitter, Reddit, GitHub we Amazon-y öz içine alýan, emma çäklendirilmedik dünýäniň köp sanly guramasy tarapyndan ulanylýar. Linux, BSD, Solaris we AIX platformasy üçin elýeterlidir.

Bu gollanmada, birnäçe serwerde haýyşlary bölüp, HTTP esasly programmalaryň (web serwerleriniň) traffigine gözegçilik etmek üçin HAProxy ulanyp, ýokary elýeterlilik balanserini döretmek prosesini ara alyp maslahatlaşarys.

Bu makala üçin 2014-nji ýylyň 31-nji dekabrynda çykan HAProxy wersiýasynyň iň soňky durnukly goýberilişini ulanýarys. Şeýle hem bu gurnama üçin CentOS 6.5 ulanýarys, ýöne aşakda görkezilen görkezmeler CentOS/RHEL/Fedora we Ubuntu/Debian paýlamalary.

Bu ýerde IP adresi 192.168.0.125 bolan websrv.tecmintlocal.com adyna eýe bolan HAProxy serwerimiz.

Operating System	:	CentOS 6.5
IP Address		: 	192.168.0.125
Hostname		: 	websrv.tecmintlocal.com

Beýleki dört maşyn Apache ýaly web serwerleri bilen işleýär we işleýär.

Web Server #1 :	CentOS 6.5 [IP: 192.168.0.121] - [hostname: web1srv.tecmintlocal.com]
Web Server #2 :	CentOS 6.5 [IP: 192.168.0.122] - [hostname: web2srv.tecmintlocal.com]
Web Server #3 :	CentOS 6.5 [IP: 192.168.0.123] - [hostname: web3srv.tecmintlocal.com]
Web Server #4 :	CentOS 6.5 [IP: 192.168.0.124] - [hostname: web4srv.tecmintlocal.com]

1-nji ädim: Müşderi maşynlaryna Apache gurmak

1. Ilki bilen dört serweriň hemmesine Apache gurnamaly we islendik sahypany paýlaşmaly, Apache-ni dört serweriň hemmesine gurmak üçin aşakdaky buýrugy ulanarys.

# yum install httpd		[On RedHat based Systems]
# apt-get install apache2	[On Debian based Systems]

2. Apache web serwerini dört müşderi maşynynyň hemmesine guranyňyzdan soň, brauzerdäki IP adresi arkaly girip, Apache-iň işleýändigini ýa-da ýokdugyny barlap bilersiňiz.

http://192.168.0.121

2-nji ädim: HAProxy serwerini gurmak

3. Häzirki zaman Linux paýlamalarynyň köpüsinde HAPRoxy deslapky paket dolandyryjysy yum ýa-da apt-get ulanyp, esasy ammardan aňsatlyk bilen gurnalyp bilner.

Mysal üçin, RHEL/CentOS/Fedora we Debian/Ubuntu wersiýalarynda HAProxy gurmak üçin aşakdaky buýrugy işlediň. Bu ýerde men openssl paketini hem goşdum, sebäbi SSL we NON-SSL goldawy bilen HAProxy gurarys.

# yum install haproxy openssl-devel	[On RedHat based Systems]
# apt-get install haproxy		[On Debian based Systems]

Bellik: Debian Whezzy 7.0-de aşakdaky mazmunly “/etc/apt/sources.list.d/” katalogynyň aşagyna täze backports.list faýly goşup, arka ammar ammaryny işjeňleşdirmeli.

# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list

Ondan soň, ammar maglumatlar bazasyny täzeläň we HAProxy guruň.

# apt-get update
# apt-get install haproxy -t wheezy-backports

3-nji ädim: HAProxy surnallaryny sazlaň

4. Ondan soň, geljekki düzedişler üçin HAProxy-da hasaba alyş aýratynlygyny işjeňleşdirmeli. HAProxy konfigurasiýa faýlyny//etc/haproxy/haproxy.cfg redaktoryňyzy saýlaň.

# vim /etc/haproxy/haproxy.cfg

Ondan soň, HAProxy-da hasaba alyş aýratynlygyny sazlamak üçin distro-ýörite görkezmelere eýeriň.

# Global sazlamalar aşagynda aşakdaky setiri işlediň.

log         127.0.0.1 local2

# Global sazlamalar aşagynda aşakdaky setirleri çalyşyň,

log /dev/log        local0
log /dev/log        local1 notice 

Bilen,

log         127.0.0.1 local2

5. Ondan soň, /etc/rsyslog.conf konfigurasiýa faýlynda UDP syslog kabul edişini /var/log katalogynyň aşagyndaky HAProxy üçin gündelik faýllary bölmek üçin işjeňleşdirmeli. Redaktoryňyzy saýlap, “rsyslog.conf” faýlyňyzy açyň.

# vim /etc/rsyslog.conf

Uncommnet ModLoad we UDPServerRun, Bu ýerde Serwerimiz syslogda ýazgylary ýygnamak üçin Port 514-i diňlär.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Ondan soň, aýratyn gündelik faýllaryny düzmek üçin /etc/rsyslog.d/ katalogynyň aşagynda aýratyn haproxy.conf faýly döretmeli.

# vim /etc/rsyslog.d/haproxy.conf

Täze döredilen faýla aşakdaky setiri goşuň.

local2.*	/var/log/haproxy.log

Ahyrynda, täze üýtgeşmeleri täzelemek üçin rsyslog hyzmatyny täzeden açyň.

# service rsyslog restart