擷取服務等級目標資料

SLO 資料會儲存在時間序列中。如要擷取 SLO 時間序列,請在 timeSeries.list 方法的 filter 參數中指定時間序列選取器,或在指標探索工具中使用直接篩選模式

以服務等級目標為準的快訊政策

如果您使用 Cloud Monitoring API 建立快訊政策,請在政策的門檻條件中,使用時間序列選取器做為欄位來指定篩選器。如要瞭解如何使用 Monitoring API 建立以 SLO 為基礎的快訊政策,請參閱「建立快訊政策」。

只有部分適用於 SLO 的時間序列選取器,可用於快訊政策。此外,使用 Google Cloud 控制台建立的以服務等級目標為準的快訊政策,一律會使用 select_slo_burn_rate 選取器。

在篩選器中使用時間序列選取器

如要擷取 SLO 的時間序列資料,篩選器必須指定時間序列選取器。SLO 資料不會與指標類型一起儲存,也無法使用指定指標和受監控資源類型配對的篩選器擷取。

名稱和引數

時間序列選取器採用下列其中一種形式:

SELECTOR_NAME(SLO_NAME)
SELECTOR_NAME(SLO_NAME, LOOKBACK_PERIOD)

選取器的名稱開頭為 select_slo_,並會採用一或兩個引數:

  • 選取器的第一個引數是 SLO 的資源名稱,如下所示:

    projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID
    

    前一個運算式包含三個變數:

    • PROJECT_ID: Google Cloud 專案的名稱或編號。
    • SERVICE_ID:服務名稱。
    • SLO_ID:為服務定義的 SLO ID。

    如要瞭解如何找出 Google Cloud 專案的 SERVICE_IDSLO_ID 欄位值,請參閱「使用 API」。

  • 如果支援第二個引數,則為回溯期。如要瞭解回溯期,請參閱「錯誤預算警告類型」。有效時間單位為「ns」、「us」、「ms」、「s」、「m」、「h」。

舉例來說,select_slo_budget 選取器會採用 SLO_NAME 引數,因此使用這個選取器的篩選器如下所示:

select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")

相較之下,select_slo_burn_rate 選取器需要 SLO_NAMELOOKBACK_PERIOD 引數,因此使用這個選取器的篩選器如下所示:

select_slo_burn_rate("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID", "3600s")

如需所有選取器的清單和說明,請參閱時間序列選取器

使用選取器擷取資料

如要查詢時間序列資料,其中一種方法是使用 timeSeries.list 方法參考資料頁面上的 APIs Explorer 工具。如要瞭解這項工具,請參閱 API Explorer

舉例來說,如要擷取有關 SLO 預算的資訊,請在 APIs Explorer 工具中填寫下列欄位:

  • 名稱projects/PROJECT_ID
  • filterselect_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")
  • interval.startTime2021-10-07T13:00:20-04:00
  • interval.endTime2021-10-08T13:00:20-04:00

以一個系統為例,將 PROJECT_ID 等變數替換為值並執行方法後,系統會傳回下列時間序列資料:

擷取的時間序列摘錄

時間序列選取器

本節列出適用於 SLO 的時間序列選取器,並說明這些選取器代表的意義。所有選取器都可以在篩選器中使用 timeSeries.list 方法,擷取時間序列資料。但並非所有這些條件都支援用於警告政策。

select_slo_burn_rate

語法select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)

「消耗率」時間序列選取器會傳回目前失敗率 (回溯間隔中的錯誤要求率) 與服務水準目標可維持的失敗率比率。持續性失敗率是指服務等級目標的達成率。

這個時間序列中的值可以介於 0 到無限大:

  • 值為 1 表示服務的失敗率理想,既不會太冒險,也不會太保守。
  • 如果值大於 1,表示失敗率超過可接受的範圍。值越高,服務等級目標就越快不符合規定。
  • 如果值小於 1,表示目前的失敗率低於可持續的失敗率。

建議您使用兩項快訊政策監控消耗率:一項是快速消耗政策,用於在消耗率飆升時發出快訊;另一項是緩慢消耗政策,用於在消耗率逐漸增加時發出快訊。

您可以使用 API 或 Google Cloud 控制台,根據這個時間序列選取器建立及編輯快訊政策。

使用 Google Cloud 控制台建立的所有服務等級目標快訊政策,都會使用這個選取器擷取服務等級目標資料。

select_slo_health

語法select_slo_health(SLO_NAME)

「服務水準目標健康狀態」時間序列會回答「在指定的對齊週期內,良好要求與要求總數的比率為何?」這個問題。服務的服務水準指標會定義何謂良好要求。如要進一步瞭解 SLI,請參閱總覽

這個時間序列會測量服務效能:如果對服務的每項要求都良好,這個時間序列中的資料點值就會是 1。隨著錯誤要求數量增加,資料點的值會下降。

select_slo_compliance

語法select_slo_compliance(SLO_NAME)

「SLO 達標」時間序列會回答「自評估時間範圍開始以來,良好單位與總單位的比率為何?」這個問題。SLO 會將評估時間範圍定義為滾動時間範圍或日曆時間範圍。單位可以是要求或時間範圍。詳情請參閱「Compliance in request- and windows-based SLOs」。

這項時間序列可讓您大致瞭解服務達成服務等級目標的程度。不會產生作業緊急訊號。

請勿在快訊政策中使用這個時間序列選取器。

select_slo_budget

語法select_slo_budget(SLO_NAME)

「服務等級目標預算」時間序列會回答「評估時剩餘的錯誤預算有多少?」這個問題。錯誤預算可以要求或分鐘為單位計算,而剩餘量會根據評估期間是以日曆時間還是滾動視窗計算而定。詳情請參閱「錯誤預算」。

這個時間序列會評估服務穩定性的風險。如果錯誤預算小於零,可能就無法在目前週期內達到 SLO。視機構管理可靠性的方式而定,未達 SLO 可能會對機構的生產環境造成實際影響。

請勿在快訊政策中使用這個時間序列選取器。

select_slo_budget_fraction

語法select_slo_budget_fraction(SLO_NAME)

「SLO 預算比例」時間序列會回答「此時剩餘的錯誤預算,以負無限大到 1 的比例表示」這個問題。

請勿在快訊政策中使用這個時間序列選取器。

select_slo_budget_total

語法select_slo_budget_total(SLO_NAME)

「SLO 總預算」時間序列會根據服務在評估時間範圍開始後的行為,回答「目前預計可用的錯誤預算總額 (以要求或分鐘為單位) 為何?」這個問題。SLO 會將評估時間範圍定義為滾動式時間視窗或日曆時間範圍。

請勿在快訊政策中使用這個時間序列選取器。

select_slo_counts

語法select_slo_counts(SLO_NAME)

「SLO counts」時間序列會回答「在指定對齊期間內,良好和不良要求的數量各是多少?」這個問題。這個選取器會提供記錄一般健康狀態的時間序列,適合用於長期儲存系統。

請勿在快訊政策中使用這個時間序列選取器。