haproxy配置日誌策略
預設情況下,haproxy是沒有配置日誌的
在centos6.3下預設管理日誌的是rsyslog,可以實現udp日誌的接收,將日誌寫入檔案,寫入資料庫
先檢測rsyslog是否安裝
rpm -q rsyslog
安後在/etc/rsyslog.d/下建立haproxy.conf,內容如下:
1$modload imudp
2 $udpserverrun 514
3 local3.* /usr/local/haproxy/logs/haproxy.log
4 local10.* /usr/local/haproxy/logs/haproxy.log
說明下:
imup是模組名,支援udp協議
第二行准許514埠接收使用udp和tcp協議**過來的日誌,rsyslog預設514埠監聽udp,也可以將上面的內容寫入/etc/rsyslog檔案中
然後修改下/etc/sysconfig/rsyslog檔案,修改為:
syslogd_options='-c 2 -r -m 0'
-r接收遠端日誌
重啟即可 service rsyslog restart
通過haproxy的acl規則實現智慧型負載均衡主要兩個功能
1,通過設定acl規則檢查客戶端請求是否合法,符合acl規則,放行,不符合直接中斷請求.
2,符合acl要求的請求將被提交到後端的backend伺服器集群,進而實現基於acl規則的負載均衡
haproxy的acl規則經常使用在frontend段中,語法如下
1 acl 自定義acl名稱 acl方法 -i [匹配的路徑或者方法]
acl方法,haproxy定義了很多acl方法,經常使用的有hdr_reg(host),hdr_dom(host),hdr_beg(host),url_sub,url_dir,path_beg,path_end
-i表示不區分大小寫,後邊跟上匹配的路徑或檔案或正規表示式
與acl一起使用的引數還有use_backend,usebackend後面需要跟上乙個backend例項名,表示在滿足acl規則後去請求哪個backend例項,與use_backend對應的還有default_backend引數,表示在沒有滿足acl條件的時候預設使用哪個backend後端
例如:
1 acl www_policy hdr_reg(host) -i ^(www.z.cn|z.cn)2 acl bbs_policy hdr_dom(host) -i bbs.z.cn
3 acl url_sub url_sub(host) -i buy_sid=45
6 use_backend server_www if
www_policy
7 use_backend server_bbs if
bbs_policy
url_policy
9 default_backend server_cache
這裡只是列出了haproxy配置檔案中的acl部分
說明下:
這裡定義了三個acl規則第一條規則表示客戶端以www.z.cn或者z.cn開頭的網域名稱傳送請求的時候則此規則返回true,同理後兩條的意思也這樣
第四第五第六規則定義了三個acl規則返回true 的時候要排程到哪個後端的backend,例如當使用者請求滿足www_policy規則的時候haproxy會將使用者的請求直接發往名為server_www的後端,以此類推
不滿足任何乙個acl規則的時候,直接發往default_backend
第四第五第六規則定義了三個acl規則返回true 的時候要排程到哪個後端的backend,例如當使用者請求滿足www_policy規則的時候haproxy會將使用者的請求直接發往名為server_www的後端
1acl url_static path_end .gif .png .jgp .js
2 acl host_www hdr_beg(host) -i www
3 acl host_statuc hdr_beg(host) -i img.video.download.ftp.
45 use_backend static
if host_static ||host_www url_static
6 use_backend www if
host_www
7default-backend server_cache
本例項也是定義了三個acl規則,其中第一條規則通過psth_end引數定義了如果客戶端在請求的url中以.gif,.png,.jgp,.js結尾時返回true
第二條說如果以www開頭的網域名稱傳送請求時返回true,同理第三條
第四五條規則定義了滿足當前規則的時候排程到哪個後端的backend
haproxy日誌配置
aproxy配置日誌策略 預設情況下,haproxy是沒有配置日誌的 在centos6.3下預設管理日誌的是rsyslog,可以實現udp日誌的接收,將日誌寫入檔案,寫入資料庫 先檢測rsyslog是否安裝 rpm q rsyslog 安後在 etc rsyslog.d 下建立haproxy.con...
HAProxy的日誌配置策略
預設情況下,haproxy是沒有配置日誌的,在centos7.2 下預設管理日誌的是rsyslog,可以實現udp日誌的接收,將日誌寫入檔案,寫入資料庫 先檢測rsyslog是否安裝 root localhost rpm q rsyslog rsyslog 7.4.7 12.el7.x86 64 安...
HAProxy 日誌輸出及配置
正所謂,沒有軟體敢說沒有bug,人無完人,software is not perfect software。是軟體就可能存在bug,那麼如果出現bug,我們就要分析對我們業務的影響及可能如何避免bug的再現。haproxy也不例外,也可能在特殊場景下出現bug,因此我們就有必要記錄下必要的日誌資訊。...