天天看點

阿裡雲SLB健康檢查的日志特殊處理

slb健康檢查的頻率比較高,每秒都有好幾個。日積月累就帶來了大量web service的日志。一來浪費存儲空間,二來消耗磁盤性能。除了官方建議的降低健康檢查頻率外,或許有一些變通的思維

1、如果對http或者tcp轉發協定不挑剔,換成tcp轉發并不開啟http健康檢查就ok了。

優勢:友善,控制台操作下就好了。

劣勢:隻是這樣也失去了應用層異常的發現能力。

2、為健康檢查單獨建立一個沒有開啟日志的virtualhost,通過不同的端口或者hostname,讓健康檢查請求不會請求到業務host。

優勢:web service級别的異常依然能夠被健康檢查發現。

劣勢:virtualhost級别的異常,slb健康檢查就無法發現了。

3、利用nginx等web伺服器的規則,為健康檢查的檔案名(uri)做單獨的日志配置,以nginx為例:

如下配置,健康檢查配置一個業務上無意義的check.html。針對這個檔案做的請求,不記錄日志。

1

2

3

4

5

location ~ /check.html

        {

              access_log off; #關閉日志

              #access_log  /var/log/nginx/access/health_check.log main;或者健康檢查的日志配置到單獨的檔案

        }

優勢:健康檢查日志可以随意配置,且不會損失健康檢查的特性。

繼續閱讀