通過邊緣指令碼的監控功能,您可以查詢加速網域名稱下每個指令碼的執行情況,協助您瞭解指令碼是否正常運行。

背景信息

EdgeScript即邊緣指令碼,簡稱ES,用於支援CDN的可程式化化配置。當CDN控制台上的標準化功能無法滿足您的配置需求時,可使用EdgeScript自助編程實現您的配置需求,以實現對用戶端請求進行較複雜的邏輯處理。EdgeScript提供了大量的預置函數,您不需要有專業的開發能力,只需要通過簡單的ES文法和簡單的邏輯判斷調用預置函數即可完成自助編程。詳細資料,請參見 EdgeScript概述

功能介紹

邊緣指令碼的監控頁面可供您查詢每個指令碼的執行情況,目前支援查詢指令碼的運行情況和異常情況,最長可以查詢近3個月中某1個月的資料。
監控項 說明
運行情況 ES指令碼的運行情況。當您為CDN加速網域名稱配置了EdgeScript時,則一個用戶端請求到達CDN節點後有以下四種狀態:
  • 未執行(NonExecution)

    指令碼沒有被執行。例如您的ES指令碼執行位置為foot,即在CDN控制台上的其他配置後面執行ES指令碼,如果請求被其他配置(例如防盜鏈、重新導向等)直接結束了,此時將不會再執行foot階段的指令碼。

  • 執行且命中(ExecutedAndHit)

    指令碼被執行並命中了代碼邏輯,且正常以 return true 結束了指令碼代碼。

  • 執行未命中(ExecutedButNotHit)

    指令碼被正常執行完畢,但沒有命中代碼邏輯,即沒有以 return true 結束指令碼代碼。例如您的代碼中沒有 return true 語句或指令碼代碼主動 return false

  • 執行異常(Exception)
    指令碼執行過程中出現了異常。常見於您的指令碼代碼中出現了邏輯錯誤或逾時,例如傳入的參數錯誤、執行時間超過了50ms等。您可以在ES配置的 擴充項 中增加_es_dbg配置,並通過CDN控制台EdgeScript頁面右上方的調試工具查看代碼調試資訊,具體定位異常代碼。增加_es_dbg配置,請參見 EdgeScript快速入門
    说明 _es_dbg=任意值,用戶端請求時需攜帶相同的值。例如,您在CDN控制台上設定了_es_dbg=123,用戶端請求時也需要攜帶參數_es_dbg=123。
異常情況 指令碼執行過程中出現了異常並返回了錯誤碼。錯誤碼如下:
  • 400:含不支援的函數。
  • 401:函數期望的參數個數錯誤。
  • 402:函數參數未匹配的字串類型。
  • 403:函數參數未匹配的數字類型。
  • 404:函數參數未匹配的字典類型。
  • 405:函數參數未匹配的布爾類型。
  • 406:函數參數未匹配的函數類型。
  • 407:規則執行逾時。
  • 408:超過最大調用次數。
  • 409:超過最大迴圈次數。
  • 410:超過最大迴圈次數。
  • 499:未知類型錯誤。

操作步驟

  1. 登入 CDN控制台
  2. 在左側導覽列,選擇 监控查询 > 边缘脚本监控
  3. 邊緣指令碼 頁面,單擊 運行情況 異常情況 頁簽。
  4. 選擇網域名稱和查詢時間,單擊 查詢
    系統會根據您選擇的查詢條件,顯示ES在運行情況下的四種狀態或異常情況下的錯誤碼資訊。