在使用CLB的七層負載平衡(HTTP/HTTPS監聽)期間,如果您需要通過負載平衡日誌進行業務開發測試、故障處理、用戶端使用者行為資料分析等,您可使用CLB訪問日誌功能分析負載平衡日誌。CLB結合阿里雲Log Service提供的訪問日誌功能,可協助您大幅提升日誌資料分析、故障定位處理的效率。
使用限制
僅CLB的七層負載平衡(HTTP/HTTPS監聽)支援訪問日誌功能。
前提條件
已建立CLB執行個體。具體操作,請參見建立和管理CLB執行個體。
已建立虛擬伺服器組,具體操作,請參見建立和管理CLB虛擬伺服器組。在伺服器組中已添加後端伺服器,並在後端伺服器中部署了應用服務。
您已經開通了Log Service。具體操作,請參見開通Log Service。
設定訪問日誌
- 登入傳統型負載平衡CLB控制台。
在左側導覽列,選擇
。在頂部功能表列,選擇CLB執行個體所屬地區。
如果您是首次使用該功能,需要進行帳號授權。單擊立即授權,在彈出的雲資源訪問授權頁面單擊同意授權。
說明該操作只有在首次配置時需要執行。
如果您使用的是RAM使用者,需要阿里雲帳號進行授權。具體操作,請參見授權RAM使用者(子帳號)使用CLB訪問日誌。
在訪問日誌(7層)頁面,找到目標CLB執行個體,在操作列單擊設定。
在日誌設定面板,設定專案Project和日誌庫Logstore,然後單擊確定。
專案Project:專案(Project)Log Service中的資源嵌入式管理單元,用於資源隔離和控制。
日誌庫Logstore:日誌庫(Logstore)是Log Service中日誌資料的採集、儲存和查詢單元。
說明確保Project的名稱全域唯一,且Project的地區和Server Load Balancer執行個體的地區相同。
配置負載平衡訪問日誌後,您可以在Log Service中查詢、檢索以下欄位的日誌資訊。
欄位
說明
body_bytes_sent
發送給用戶端的http body的位元組數。
client_ip
請求用戶端IP地址。
client_port
請求用戶端連接埠。
host
優先從請求參數中擷取host,如果擷取不到則從host header取值,如果還是擷取不到則以處理請求的後端伺服器IP地址作為host。
http_host
請求報文host header的內容。
http_referer
負載平衡收到的請求報文中HTTP的referer header的內容。
http_user_agent
負載平衡收到的請求報文中http_user_agent header的內容。
http_x_forwarded_for
負載平衡收到的請求報文中x-forwarded-for header的內容。
http_x_real_ip
用戶端真實的IP地址。
read_request_time
負載平衡讀取請求的時間,單位:毫秒。
request_length
請求報文的長度,包括startline、http header和http body。
request_method
請求報文的方法。
request_time
負載平衡收到第一個請求報文的時間到SLB返回應答之間的間隔時間,單位:秒。
request_uri
負載平衡收到的請求報文的URI。
scheme
請求的scheme,包括http、https。
server_protocol
負載平衡收到的HTTP協議的版本,例如HTTP/1.0或HTTP/1.1。
slb_vport
負載平衡的監聽連接埠。
slbid
Server Load Balancer執行個體ID。
ssl_cipher
建立SSL串連使用的密碼,例如ECDHE-RSA-AES128-GCM-SHA256等。
ssl_protocol
建立SSL串連使用的協議,例如TLSv1.2。
status
負載平衡應答報文的狀態。
tcpinfo_rtt
用戶端TCP連線時間,單位:微秒。
time
日誌記錄時間。
upstream_addr
後端伺服器的IP地址和連接埠。
upstream_response_time
從與後端建立串連開始到接受完資料然後關閉串連為止的時間,單位:秒。
upstream_status
負載平衡收到的後端伺服器的響應狀態代碼。
vip_addr
虛擬IP地址。
write_response_time
負載平衡寫的回應時間,單位:毫秒。
查詢訪問日誌
訪問日誌配置完成後,您可以通過Log Service控制台查詢日誌。
- 登入傳統型負載平衡CLB控制台。
在左側導覽列,選擇
。在頂部功能表列,選擇CLB執行個體所屬地區。
在訪問日誌(7層)頁面,在目標執行個體操作列單擊查看日誌,跳轉到Log Service頁面。
Log Service配置完成後,如有用戶端訪問過CLB執行個體可查看到對應的日誌資訊。
輸入SQL語句查詢特定的訪問日誌。
例如,輸入如下SQL語句查詢Top20的用戶端,用於分析請求訪問來源,輔助商業決策。
* | select http_user_agent, count(*) as pv group by http_user_agent order by pv desc limit 20
分析訪問日誌
您可以通過Log Service的儀錶盤分析訪問日誌,儀錶盤提供更豐富的資料資訊。
在上述Log Service頁面,在左側導覽列選擇,然後單擊儀錶盤列表。
單擊CLB對應訪問日誌的名稱slb_layer7_access_center_en,查看分析報表。
關閉訪問日誌
您可以通過關閉訪問日誌,不再收集CLB的訪問日誌。
CLB執行個體關閉日誌記錄後,對應的日誌Project和Logstore不會被刪除,該執行個體的歷史日誌資訊也不會立即刪除,您仍可以在SLS中管理歷史日誌。
- 登入傳統型負載平衡CLB控制台。
在左側導覽列,選擇
。在頂部功能表列,選擇CLB執行個體所屬地區。
在訪問日誌(7層)頁面,找到目標執行個體,然後在目標執行個體操作列單擊關閉日誌記錄。
在彈出的對話方塊中,單擊確定,關閉該執行個體的訪問日誌。
相關文檔
Log Service產品詳細介紹可參考什麼是Log Service。
CLB訪問日誌功能介紹可參考CLB訪問日誌功能簡介。
在使用CLB的七層負載平衡(HTTP/HTTPS監聽)期間,如果您遇到業務故障或異常,懷疑是後端伺服器問題,您可通過CLB訪問日誌功能快速定位異常後端伺服器。CLB結合阿里雲Log Service提供的訪問日誌功能,可協助您大幅提升故障定位與處理的效率。詳情可參考CLB使用訪問日誌快速定位異常後端伺服器。