日誌投遞功能是AI 網關結合阿里雲Log ServiceSLS提供的服務。開啟日誌投遞後,您可以通過分析AI 網關的訪問日誌瞭解使用者行為和地區分布,以便排查問題。本文介紹如何為AI 網關開啟日誌投遞。
前提條件
已開通Log Service,若未開通,請使用阿里雲帳號登入Log Service控制台進行開通。
開啟日誌投遞
AI產品不收取日誌費用,但Log ServiceSLS將根據您的使用量收費。關於SLS的計費方式,請參見隨用隨付。
開啟AI網關控制台執行個體頁面,在頂部功能表列選擇目標執行個體所在地區,並單擊目標執行個體ID。
AI 網關提供了兩種開啟日誌投遞方式:
方式一:通過日誌中心
在左側導覽列,單擊。
單擊立即開啟日誌投遞功能,在開啟日誌投遞功能對話方塊,選擇使用預設Log ServiceProject,或選擇使用已有的Log ServiceProject,然後單擊確定。
方式二:通過參數配置
在左側導覽列,單擊參數配置。
在可觀測性參數地區,單擊訪問日誌投遞配置右側的
表徵圖,在訪問日誌投遞配置對話方塊,開啟網關訪問日誌(AccessLog)。選擇開啟輸出日誌相容 Nginx Ingress 格式,使輸出日誌與Nginx Ingress的格式保持一致,以便於統一日誌分析和提高跨系統相容性。
選擇使用預設,或選擇使用已有的Log ServiceProject,然後單擊確定。
說明選擇使用預設Log ServiceProject,Log Service會為您建立一個預設的Log ServiceProject。
開啟日誌投遞以後,在可觀測性參數地區,單擊Project右側的連結,系統會自動跳轉到該網關對應投遞的日誌庫。更多內容,請參見查詢與分析快速指引。
日誌投遞欄位說明
網關日誌投遞涉及到的欄位說明如下。
欄位名 | 類型 | 含義 |
__time__ | long | 日誌產生的時間。 |
cluster_id | string | 購買的網關執行個體。 |
ai_log | json | 針對Model API/Agent API/MCP API設計的日誌欄位,欄位格式為json。其他類型的API此欄位為空白。
|
authority | string | 請求報文中的Host Header。 |
bytes_received | long | 請求的Body大小(不包含Header)。 |
bytes_sent | long | 響應的Body大小(不包含Header)。 |
downstream_local_address | string | 網關Pod地址。 |
downstream_remote_address | string | 串連到網關的Client端地址。 |
duration | long | 請求的整體耗時。包含從網關收到來自下遊的第一個位元組開始,到發送出最後一個響應位元組為止的時間段。單位毫秒。 |
method | string | HTTP方法。 |
path | string | HTTP請求中的Path。 |
protocol | string | HTTP的協議版本。 |
request_duration | long | 從網關收到來自下遊的第一個位元組開始,到收到來自下遊的最後一個位元組為止的時間段。單位毫秒。 |
request_id | string | 網關會為每次請求產生一個ID,並放在Header的 |
requested_server_name | string | SSL串連時使用的Server Name。 |
response_code_details | string | 提供與響應碼相關的額外資訊。例如via_upstream表示響應碼是由後端服務返回的,route_not_found表示請求沒有匹配的路由。 |
response_tx_duration | long | 從網關收到來自上遊的第一個位元組開始,到給下遊發送出最後一個位元組為止的時間段。單位毫秒。 |
route_name | string | 路由名。 |
start_time | string | 請求開始時間。格式:UTC。 |
trace_id | string | Trace ID。 |
upstream_cluster | string | 上遊叢集。 |
upstream_host | string | 上遊IP。 |
upstream_local_address | string | 本地串連上遊的地址。 |
upstream_service_time | long | 上遊服務處理請求的耗時(毫秒),包括網關訪問上遊服務的網路耗時和上遊服務自身處理耗時兩部分。 |
upstream_transport_failure_reason | string | 上遊連結失敗的原因。 |
user_agent | string | HTTP Header中的UserAgent。 |
x_forwarded_for | string | HTTP Header中的 |
請求失敗原因說明
請求失敗的原因主要通過日誌中Response_Flag的值判斷。以下是關於Response_Flag不同值的說明。
下遊指用戶端,上遊指後端服務。
UH:上遊叢集中,沒有健康的上遊主機。
UF:上遊串連失敗。
NR:給定請求未配置路由。
URX:請求被拒絕,因為達到了上遊重試限制(HTTP)或最大串連嘗試次數(TCP)。
NC:無法找到上遊叢集。
DT:請求或串連超過了
max_connection_duration或max_downstream_connection_duration。DC:下遊串連終止。
LH:本地服務未通過健全狀態檢查請求。
UT:上遊請求逾時。
LR:串連本地重設。
UR:上遊遠程重設。
UC:上遊串連終止。
DI:請求處理被延遲一段時間,該延遲時間由故障注入指定。
FI:請求被故障注入指定的響應碼中止。
RL:請求在本地被HTTP速率限制過濾器限制,除了429響應碼之外。
UAEX:請求被外部授權服務拒絕。
RLSE:請求被拒絕,因為速率限制服務出現錯誤。
IH:請求被拒絕,因為在嚴格檢查的標題中設定了無效值。
SI:Stream流空閑逾時。
DPE:下遊請求存在HTTP協議錯誤。
UPE:上遊響應存在HTTP協議錯誤。
UMSDR:上遊請求達到了最大流程期間。
OM:超負荷管理器終止了請求。