本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
API 監控的主要用途之一,是讓您掌握異常事件或模式,例如流量或延遲時間突然增加。如要追蹤這類事件,您可以設定快訊,在發生指定事件時觸發快訊。觸發快訊的實際事件稱為「事件」。
您可以為快訊設定特定規則,例如,當 Proxy 發生 500 回應代碼 (內部服務錯誤) 時,系統可能會觸發快訊。如果發生快訊事件,您可以在「快訊」頁面的「事件」窗格中查看詳細資料。 Google Cloud console
如要在特定快訊觸發時收到通知,可以為該快訊設定通知。發生事件時,Apigee 會傳送通知,其中包含事件摘要,以及 Google Cloud console 和 Apigee UI 的連結,方便您進一步調查。
API 監控提供兩種快訊:
- 以指標為準的快訊,這類快訊會在 API 指標發生變化時觸發。
- 記錄檔警報:根據 Cloud Logging 儲存的 API 資料發出警報。
以指標為準的快訊
當 API 資料的指標達到指定層級或開始快速變更時,系統就會觸發指標型快訊。您可以使用兩項主要屬性定義快訊規則:
- 指標:觸發快訊的數量,例如要求數量。
- 門檻:指標必須達到這個層級,才會觸發快訊。
下列各節提供以指標為準的快訊範例。
Proxy 上的回應代碼 500 警告
下例會在傳回回應代碼 500 (內部伺服器錯誤) 時建立快訊。您可以為任何回應代碼建立類似的快訊。
如要建立快訊,請先執行下列步驟:
-
在 Google Cloud 控制台中,依序前往「Monitoring」(監控) >「Alerting」(快訊) >「Policies」(政策) 頁面。
- 按一下「選取指標」。
- 取消選取「Active」按鈕。
注意:如果貴機構沒有最近的 API 流量資料,除非取消選取這個選項,否則系統不會顯示下一個步驟中的指標。
- 選取指標,步驟如下:
- 如果您使用 Apigee Hybrid 1.12 版,請複製下列內容並貼到「選取指標」欄位中:
apigee.googleapis.com/proxy/response_count
- 選取「Apigee Proxy」。
- 在右側開啟的窗格中,選取「Proxy」。
- 在右側的下一個窗格中,選取「Apigee proxy response count」(Apigee 代理伺服器回應計數)。
- 按一下 [套用]。
- 如果您使用 Apigee Hybrid 1.12 版,請複製下列內容並貼到「選取指標」欄位中:
- 新增回應代碼的篩選器,如下所示:
- 按一下「+ 新增篩選器」。
- 點選「篩選器」欄位,然後從下拉式選單中選取「response_code」response_code。
- 在「比較子」中選取「=」。
- 在「Value」(值) 欄位中,輸入 500。
- 按一下 [完成]。
設定快訊觸發條件
如要設定觸發快訊的事件,請先按一下左側窗格中的「設定觸發條件」。然後執行下列步驟:
- 在「Condition type」(條件類型) 下方,選取「Threshold」(門檻)。
- 在「Alert trigger」(快訊觸發條件) 欄位中,選取「Any time series violates」(任何時間序列違反條件時)。
- 在「Threshold position」(門檻位置) 欄位中,選取「Above threshold」(高於門檻)。
- 在「Threshold value」(門檻值) 欄位中輸入 1。
設定完成後,只要系統傳回代碼 500 的回應,就會觸發快訊。
按一下「下一步」,開啟「設定通知並完成快訊」窗格。
設定快訊通知
在「Configure notifications and finalize alert」(設定通知並完成快訊) 窗格中,您可以設定在觸發快訊時傳送的通知。方法如下:
按一下「Notification Channels」(通知管道) 欄位。如果已建立通知管道 (例如電子郵件地址或簡訊號碼),可以選取「通知管道」下方的管道。
否則,您必須選取「管理通知管道」來新增管道。系統隨即會開啟「通知管道」窗格,您可以在其中新增一或多個管道。詳情請參閱「 管理通知管道」。完成後,請返回「設定通知並完成快訊」窗格。
注意:建立新管道後,您可能需要點選「管理通知管道」旁的重新整理按鈕,才能顯示新管道。 選取一或多個通知管道後,請按一下「確定」。
- 您可以在「說明文件」欄位中新增訊息,這會隨通知一併傳送。舉例來說,訊息可能會說明警示原因,並提供說明文件連結,解釋如何處理警示。
- 按一下「下一步」查看快訊詳細資料。如果滿意這些設定,請按一下「建立政策」建立快訊政策。
新增條件:針對 Proxy 上的 HTTP POST 要求,在回應代碼為 500 時發出快訊
您可以為快訊建立多個條件。舉例來說,在上一節所述的 Proxy 500 回應代碼警報中,您可能會想新增條件,只針對 HTTP POST 要求觸發警報。如要這麼做,請按照上一個範例中的相同步驟操作,但在步驟 8 之後,請新增另一個篩選器,如下所示:
- 按一下「+ 新增篩選器」。
- 點選「Filter」(篩選器) 欄位,然後在下拉式清單中選取「method HTTP method」(方法 HTTP 方法)。
- 在「Comparator」(比較子) 欄位中,選取「=」。
- 在「Value」(值) 欄位中,輸入 POST。
- 按一下 [完成]。
然後繼續進行「設定快訊觸發條件」一節中的步驟。完成後,當 Proxy 收到 HTTP POST 要求的 500 回應碼時,就會觸發快訊。
如需相關範例,請參閱 回應代碼和 HTTP 方法組合的快訊。
查看事件詳細資料
觸發快訊的 API 事件稱為「事件」。 您可以在 Google Cloud console「快訊」 頁面中查看近期事件的詳細資料。
指標和篩選器
指標是觸發快訊的數量,例如要求數量。 本節說明可用於建立指標型快訊的指標和篩選器。 指標分為兩種類型:
- 新指標:新版 Apigee 指標,效能和可靠性均有所提升。這些指標目前適用於 Apigee 和 Apigee Hybrid 1.12 以上版本。建議您盡可能使用新指標。
- 原始指標:系統仍支援原始指標,可搭配 Apigee Hybrid 1.10 和 1.11 版使用。
新指標
下表列出新的指標。
指標 | 說明 |
---|---|
apigee.googleapis.com/proxy/details |
部署至 Apigee 環境的 Proxy 相關詳細資料。 |
apigee.googleapis.com/proxy/request_count |
自上次記錄樣本以來,對 Apigee Proxy 發出的要求數。 |
apigee.googleapis.com/proxy/response_count |
Apigee API Proxy 傳送的回應數量。 |
apigee.googleapis.com/proxy/latencies |
延遲時間分布情形,計算方式是從 Apigee Proxy 收到要求的時間,到 Apigee Proxy 將回應傳送給用戶端的時間。 |
apigee.googleapis.com/target/request_count |
自上次記錄樣本以來,傳送至 Apigee 目標的要求數量。 |
apigee.googleapis.com/target/response_count |
自上次記錄樣本以來,從 Apigee 目標收到的回應數量。 |
apigee.googleapis.com/target/latencies |
延遲時間分布情形,計算方式是從要求傳送至 Apigee 目標的時間,到 Apigee Proxy 接收回應的時間。時間不包含 Apigee API Proxy 的額外負荷。 |
原始指標
下表列出上述表格中顯示的原始指標版本,這些版本仍支援與 Apigee Hybrid 1.10 和 1.11 版搭配使用。
指標 | 說明 |
---|---|
apigee.googleapis.com/proxyv2/details |
部署至 Apigee 環境的 Proxy 相關詳細資料。 |
apigee.googleapis.com/proxyv2/request_count |
Apigee API Proxy 收到的要求總數。 |
apigee.googleapis.com/proxyv2/response_count |
Apigee API Proxy 傳回的回應總數。 |
apigee.googleapis.com/proxyv2/latencies_percentile |
所有 API Proxy 要求回應的百分位數。 |
apigee.googleapis.com/targetv2/request_count |
Apigee API 目標收到的要求總數。 |
apigee.googleapis.com/targetv2/response_count |
Apigee API 目標傳回的回應總數。 |
apigee.googleapis.com/targetv2/latencies_percentile |
所有 API 目標對要求的百分位數回應。 |
篩選器
篩選器可讓您為 API 資料子集建立快訊。篩選器會指定定義子集的條件。舉例來說,您可以根據單一 Proxy 的資料建立快訊。
可選用的篩選條件如下:
篩選器 | 說明 | 可套用篩選器的指標 |
---|---|---|
env |
資料環境。 | 全部 |
location |
資料位置。 | 全部 |
proxy_name |
資料的 Proxy。 | 全部 |
proxy_deployment_type |
Apigee Proxy 的部署類型 | apigee.googleapis.com/proxy/details apigee.googleapis.com/proxyv2/details |
runtime_version |
資料的執行階段版本。 | 原始指標 |
instance_id |
資料的執行個體 ID。 | 原始指標 |
method |
資料的 HTTP 方法。 | 全部 |
response_code |
資料的 HTTP 回應代碼。 | apigee.googleapis.com/proxy/response_count apigee.googleapis.com/proxyv2/response_count |
fault_code |
資料的錯誤代碼。 | apigee.googleapis.com/proxy/response_count apigee.googleapis.com/proxyv2/response_count |
fault_source |
資料的錯誤來源。 | apigee.googleapis.com/proxy/response_count apigee.googleapis.com/proxyv2/response_count |
percentile |
Apigee 代理伺服器回應延遲時間百分位數。 | apigee.googleapis.com/proxyv2/latencies_percentile |
記錄檔型快訊
除了上一節所述的指標型快訊,您也可以建立記錄型快訊,監控 Cloud Logging 儲存的 API 資料。
設定記錄型快訊
下一個範例說明如何設定以記錄為準的快訊。詳情請參閱「透過 Logs Explorer 建構查詢」。
- 在 Google Cloud console中開啟 Logs Explorer。
- 選取「Logs Explorer」右側的「顯示查詢」。
- 在「Query」(查詢) 窗格中,輸入如下例所示的查詢。
resource.type="apigee.googleapis.com/Environment" logName="projects/<project_id>/logs/apigee.googleapis.com%2Fanomaly_event"
- 按一下 [Run query] (執行查詢)。結果會顯示在「Query results」(查詢結果) 窗格中。確認查詢會傳回您想收到快訊的記錄項目。
- 按一下「Query」(查詢) 窗格下方的「建立快訊」。
- 按照「建立以記錄為基礎的警告政策」對話方塊中的程序建立警告。 詳情請參閱「設定記錄檔型快訊」。