API Gateway和Log Service實現無縫整合,通過Log Service您可以進行即時日誌查詢、下載、多維度統計分析等,您也可以將日誌投遞到OSS或者MaxCompute。

-
Log Service每個月前500MB免費,具體價格請參照:Log Service定價。
功能簡介
1. 日誌線上查詢
可根據日誌中任意關鍵字進行快速的精確、模糊檢索,可用於問題定位或者統計查詢。
2. 詳細調用日誌
您可以檢索API調用的詳細日誌包含如下表所示欄位。其中:requestQueryString、requestHeaders、requestBody、responseHeaders、responseBody 幾個欄位只有VPC專享執行個體支援,且需要在分組詳情頁面配置後支援。
|
日誌項 |
描述 |
|
apiGroupUid |
API的分組ID。 |
|
apiGroupName |
API分組名稱。 |
|
apiUid |
API的ID。 |
|
apiName |
API名稱。 |
|
apiStageUid |
API環境ID。 |
|
apiStageName |
API環境名稱。 |
|
httpMethod |
調用的HTTP方法。 |
|
path |
請求的PATH。 |
|
domain |
調用的網域名稱。 |
|
statusCode |
HttpStatusCode。 |
|
errorMessage |
錯誤資訊。 |
|
appId |
調用者應用ID。 |
|
appName |
調用者應用程式名稱。 |
|
clientIp |
調用者用戶端IP。 |
|
exception |
後端返回的具體錯誤資訊。 |
|
exchangeTimestamp |
整個請求鏈路的IO時間點。
|
|
providerAliUid |
API提供者賬戶ID。 |
|
region |
地區,如:cn-hangzhou。 |
|
requestHandleTime |
請求時間,UTC。 |
|
requestId |
請求ID,全域唯一。 |
|
requestSize |
請求大小,單位:位元組。 |
|
responseSize |
返回資料大小,單位:位元組。 |
|
serviceLatency |
訪問後端資源耗時總和,包括申請串連資源耗時,建立串連耗時,調用後端服務耗時,單位:毫秒。 |
|
errorCode |
錯誤碼code,如:X500ER。 |
|
requestProtocol |
用戶端請求協議:HTTP/HTTPS/WS。 |
|
instanceId |
API服務所在的網關執行個體ID。 |
|
initialRequestId |
API Gateway自調用時,例如API-1調用API-2 ,那麼API-2的日誌中會用initialRequestId來記錄API-1的requestId。 |
|
clientNonce |
用戶端X-Ca-Nonce頭。 |
|
requestQueryString |
用戶端請求的queryString(僅專享執行個體)。 |
|
requestHeaders |
用戶端請求的header內容(僅專享執行個體)。 |
|
requestBody |
用戶端請求的body內容,最多1024個位元組(僅專享執行個體)。 |
|
responseHeaders |
API響應的header內容(僅專享執行個體)。 |
|
responseBody |
API響應的response內容,最多1024個(僅專享執行個體)。 |
|
consumerAppKey |
API請求的appKey。 |
|
totalLatency |
API請求的總延遲,單位毫秒。 |
|
customTraceId |
全鏈路日誌的traceId。 |
|
jwtClaims |
從JWT中解析出來的Claim,可以在分組上配置。 |
|
plugin |
API請求命中的外掛程式列表及相關上下文。 |
使用Log Service查看API日誌
配置Log Service方式
目前有兩種配置方式:
-
通過Log Service頁面的“日誌審計”進行API Gateway日誌同步。這種方式所有region的日誌都會集中到日誌審計這個project下。API Gateway上不需要做額外的配置。
-
通過SLS頁面做API Gateway資料接入的方式配置,這種方式每個region都需要做一次同步配置。
下面將分別介紹這兩種配置方法。
政務雲和金融雲的SLS日誌同步,目前僅支援用第1種方法配置。
1. 通過日誌審計方式配置
-
開啟sls日誌審計服務配置頁面,選擇中心region,根據自己需要選擇對應的region,後續所有的API Gateway日誌都會投遞到這個region。
在全域配置頁面頂部可查看中心Project所在地區及名稱。下方以表格形式展示各雲產品(Action Trail、OSS、RDS、VPC、DNS、PolarDB、SLB、ALB等)的日誌採集開關、儲存方式(中心化或地區化)、保留天數、同步到中心及N天后轉冷存等配置項。根據需要開啟對應雲產品的日誌採集開關,完成後單擊右上方儲存。在採集同步授權地區,若提示當前帳號尚未授權Log Service採集同步處理記錄,可選擇手動授權或通過帳號密鑰輔助授權完成授權。
-
然後選擇授權方式,根據文檔提示操作。本樣本選擇“手動授權”。
-
授權完成後,根據本頁面的中心project下的apigateway_log查看API Gateway的調用日誌。
API Gateway調用日誌包含
apiGroupName、apiGroupUid、apiName、apiStageName、apiStageUid、apiUid等欄位,可在 原始日誌 標籤頁中查看各條日誌的詳細索引值對資訊。
2. 在API Gateway控制台配置
1)請確保您已經開通了Log Service,然後在SLS控制台選擇對應的region,建立Project 和 Logstore。以華東1(杭州) region為例。
在建立Project彈窗中,填寫Project名稱(如 gateway-t***),資源群組保持預設,開通日誌地區勾選作業記錄和全域日誌,單擊確認完成建立。Project 建立成功後,在彈出的對話方塊中單擊建立Logstore。建立 Logstore 時,設定 Logstore 名稱為 gateway_log,類型選擇 Standard,計費模式選擇 按寫入資料量計費,資料儲存時間設定為 30 天,Shard 數目設定為 2,開啟 自動分裂 Shard(最大分裂數為 64),開啟 記錄外網 IP,然後單擊 確定。Logstore 建立成功後,在彈出的提示對話方塊中單擊資料接入嚮導。
2)配置API Gateway資料接入,選擇API Gateway產品。
選擇 API Gateway產品後進入資料來源配置頁面,確認RAM 授權已完成(頁面顯示"您已授權Log Service分發日誌"),在建立分發規則地區確認將 API Gateway訪問日誌匯入目標日誌庫,然後單擊下一步建立分發規則。然後一直“下一步”,直到成功為止。
查看日誌
您可以登入Log Service控制台查看日誌,根據Log Service的查詢文法,線上檢索調用日誌。
查詢結果中,每條日誌包含 apiGroupName、apiGroupUid、apiName、__source__、__tag__:__receive_time__、__topic__ 等欄位。您可通過左側快速分析欄按欄位篩選日誌,也可在頂部查詢輸入框中使用查詢文法進行精確檢索。
自訂查詢報表
您可以根據自身業務需要自訂查詢報表,請參照定義方法:建立儀錶盤。