全部產品
Search
文件中心

Server Load Balancer:ALB訪問日誌

更新時間:Dec 11, 2024

如果您需要通過訪問日誌分析使用者行為,瞭解使用者的地區分布及排查問題等,您可以通過ALB聯合Log Service(SLS)推出的訪問日誌功能來實現。

背景資訊

ALB作為訪問入口,承載著海量的訪問請求,ALB支援將訪問日誌投遞到Log Service,結合Log Service強大的巨量資料計算能力,您可以通過訪問日誌分析使用者行為、瞭解使用者的地區分布、進行問題排查等。ALB日誌訪問功能具有以下優勢:

  • 簡單:將開發、營運人員從Tlog的繁瑣耗時中解放出來,將更多的精力集中到業務開發和技術探索上。

  • 海量:負載平衡的訪問日誌資料規模通常很大,處理訪問日誌需要考慮效能和成本問題。Log Service可以一秒鐘分析一億條日誌,相較於自建開源方案有明顯成本優勢和效能優勢。

  • 即時:DevOps、監控、警示等情境要求日誌資料的即時性。Log Service強大的巨量資料計算能力,可秒級分析處理即時產生的日誌。

  • 彈性:按Server Load Balancer執行個體層級開通或關閉訪問日誌功能,Logstore容量可動態伸縮滿足業務增長需求。

費用說明

ALB將日誌投遞到Log Service後,Log Service根據儲存空間、讀取流量、請求數量、資料加工、資料投遞等進行計費,更多資訊,請參見Log Service計費

前提條件

使用訪問日誌功能前,請確保您已開通Log Service。具體操作,請參見開通Log Service

建立訪問日誌

  1. 登入應用型負載平衡ALB控制台
  2. 在頂部功能表列,選擇ALB執行個體所屬的地區。

  3. 執行個體頁面,單擊目標執行個體ID。

  4. 執行個體詳情頁簽,單擊訪問日誌頁簽,在訪問日誌頁簽單擊建立訪問日誌

  5. 建立訪問日誌對話方塊,配置專案Project日誌庫Logstore,然後單擊確定

    配置

    說明

    項目Project

    Log Service中的資源嵌入式管理單元,用於資源隔離和控制。

    • 選擇現有Project:在下拉框中選擇一個Project。

    • 建立Project:在文字框中輸入建立Project名稱。

    日誌庫Logstore

    Log Service中日誌資料的採集、儲存和查詢單元。

    • 選擇現有Logstore:在下拉框中選擇一個Logstore。

    • 建立Logstore:在文字框中輸入建立Logstore名稱。Project選擇建立時,Logstore也需選擇建立。

    服務關聯角色建立須知

    執行此操作時,系統將會為您自動建立一個服務關聯角色,以完成相應功能。

  6. 在彈出的對話方塊中,確認提示資訊,然後單擊確定

    • 選擇建立日誌庫Logstore時,配置完成後,Log Service預設為該Logstore建立索引及開啟儀錶盤。

    • 選擇現有日誌庫Logstore時,配置完成後,Log Service會自動開啟儀錶盤。如果該Logstore已設定索引,配置不會被覆蓋,如需新的索引,請至Log Service控制台調整。

查看訪問日誌

  1. 訪問日誌頁簽,單擊SLS日誌儲存右側的連結,前往Log Service查看原始日誌等資訊。

  2. 訪問日誌頁簽,您可以分別單擊監控中心訪問中心秒級監控頁簽,輸入篩選條件,查詢相關指標資訊。

    模組分類

    指標說明

    監控中心

    展示ALB執行個體的即時監控資料,包括訪問PV、請求成功率、平均延遲、4xx請求數、Status分布、流量、P50延遲、P90延遲、P99延遲、P9999延遲、TOP請求Host、TOP延遲Host、TOP失敗率Host、TOP請求URL、TOP延遲URL、TOP失敗率URL、TOP請求後端、TOP延遲後端、TOP失敗率後端等指標。

    訪問中心

    展示ALB執行個體的訪問狀態資料,包括PV對比昨日、PV對比上周、UV對比昨日、UV對比上周、PV分布、UV分布、今日訪問PV、7天訪問PV、TOP10訪問省份、移動端佔比、TOP10訪問Host、TOP10訪問UserAgent、TOP訪問IP等指標。

    秒級監控

    以秒級粒度展示監控資訊,便於發現瞬時抖動的異常情況,包括QPS、訪問延遲、Upstream延遲、成功率、請求流量、返回Body流量、2xx狀態代碼、3xx狀態代碼、錯誤狀態代碼、Upstream2xx狀態代碼、Upstream3xx狀態代碼、Upstream錯誤狀態代碼等指標。

    • 監控中心訪問中心秒級監控頁簽右上方,您可以單擊更多報表前往CloudLens for ALB頁面,查看更多ALB資料報表資訊。更多資訊,請參見查看資料報表

    • 監控中心訪問中心秒級監控頁簽右上方,您可以單擊警示設定前往CloudLens for ALB頁面,查看ALB執行個體警示事務。

    • 關於監控中心訪問中心秒級監控頁簽右上方的更多功能介紹:

      • SQL獨享版:開啟SQL增強。更多資訊,請參見開啟SQL獨享版

      • Log Service採集到訪問日誌後,您可以執行查詢分析、下載、投遞、加工日誌、建立警示等操作。具體操作,請參見雲產品日誌通用操作

記錄自訂header

除常用的header外,slb_headers用來記錄請求中其餘header的header name和header value,以便完整地記錄請求和更好地分析日誌。

訪問日誌的自訂header長度預設支援1 KB,最大可以提升到4KB,如需提升請聯絡您的客戶經理申請。更多資訊,請參見ALB轉寄請求的長度限制是多少?是否支援調整?

  1. 訪問日誌頁簽,在基本資料地區單擊記錄自訂header設定

  2. 日誌中記錄自訂HTTP頭設定對話方塊,在下拉框中選擇該ALB執行個體已添加的監聽。

    如需建立監聽,在下拉框中單擊建立監聽。更多資訊,請參見添加HTTP監聽添加HTTPS監聽添加QUIC監聽

  3. 在彈出的對話方塊中,確認提示資訊,單擊確定

    設定完成後,日誌中的slb_headers欄位會記錄請求中除以下header之外的header_name和header_value:

    #自訂header不會記錄以下欄位資訊
    host
    referer
    user-agent
    x-forwarded-for
    x-readtime
    x-real-ip
    uber-trace-id
    X-B3-TraceId
    X-B3-SpanId
    X-B3-ParentSpanId
    X-B3-Sampled

刪除日誌

  1. 訪問日誌頁簽,在基本資料地區單擊關閉日誌記錄

  2. 在彈出的對話方塊中,確認提示資訊,然後單擊確定

日誌欄位說明

欄位

說明

app_lb_id

Server Load Balancer執行個體ID。

__topic__

日誌主題,固定為alb_layer7_access_log。

body_bytes_sent

發送給用戶端的HTTP Body的位元組數。

client_ip

請求用戶端IP地址。當未開啟“尋找真實用戶端源IP”功能時,該欄位為負載平衡的上一跳IP地址;開啟後,該欄位為真實用戶端源IP地址。

host

網域名稱或IP地址。優先從請求參數中擷取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

負載平衡收到的請求報文中HTTP的x-forwarded-for的內容。

http_x_real_ip

負載平衡收到的請求報文中HTTP的x-real-ip的內容。

read_request_time

負載平衡讀取請求的時間,單位:毫秒。

request_length

請求報文的長度,包括startline、HTTP頭報文和HTTP body。

request_method

請求報文的方法。

request_time

負載平衡收到第一個請求報文的時間到返回應答之間的時間間隔,單位:秒。

request_uri

負載平衡收到的請求報文的URI。

scheme

請求的schema:HTTP或HTTPS。

server_protocol

負載平衡收到的HTTP協議的版本,例如HTTP/1.0或HTTP/1.1。

slb_vport

負載平衡的監聽連接埠。

ssl_cipher

建立SSL串連使用的密碼,例如ECDHE-RSA-AES128-GCM-SHA256等。

ssl_protocol

建立SSL串連使用的協議,例如TLSv1.2。

status

負載平衡應答報文的狀態。

tcpinfo_rtt

用戶端TCP連線時間,單位:微秒。

time

日誌記錄時間。時間格式為YYYY-MM-DDThh:mm:ssZ

upstream_addr

後端伺服器的IP地址和連接埠。

upstream_response_time

從負載平衡向後端伺服器建立串連開始到接收完資料然後關閉串連為止的時間,單位:秒。

upstream_status

負載平衡收到的後端伺服器的響應狀態代碼。

vip_addr

虛擬IP地址。

write_response_time

負載平衡寫的回應時間,單位:毫秒。

client_port

請求用戶端連接埠。

slb_headers

自訂headers,需開啟對應功能才能使用,用於存放請求的自訂header。