REST Resource: anomalies

資源:Anomaly

代表資料集中偵測到的異常狀況。

異常偵測系統會標記時間序列中超出預期範圍的資料點 (預期範圍是根據歷來資料推導而來)。雖然預期範圍有上下限,但只有在資料意外變差時,我們才會標示異常狀況,這通常表示指標超出上限。

時間軸中超出預期範圍的多個連續資料點會歸類為單一異常狀況。因此,異常狀況實際上代表指標時間軸的某個區段。系統會使用 timelineSpecdimensionsmetric 中儲存的資訊,擷取時間範圍較廣的完整時間軸,以提供背景資訊。

必要權限:如要存取這項資源,呼叫使用者必須具備應用程式的「查看應用程式資訊 (唯讀)」權限。

JSON 表示法
{
  "name": string,
  "metricSet": string,
  "timelineSpec": {
    object (TimelineSpec)
  },
  "dimensions": [
    {
      object (DimensionValue)
    }
  ],
  "metric": {
    object (MetricValue)
  }
}
欄位
name

string

ID。異常狀況的名稱。

格式:apps/{app}/anomalies/{anomaly}

metricSet

string

偵測到異常狀況的指標集資源。

timelineSpec

object (TimelineSpec)

涵蓋異常期間的時間軸規格。

dimensions[]

object (DimensionValue)

偵測到異常狀況的維度組合。

metric

object (MetricValue)

偵測到異常狀況的指標,以及異常值。

TimelineSpec

時間軸的時間相關匯總參數規格。

時間軸有匯總週期 (DAILYHOURLY 等),可定義指標中事件的匯總方式。

時間軸中的點是由匯總週期的開始 DateTime 所定義。時間長度隱含於 AggregationPeriod 中。

如果指標集支援每小時匯總期間,系統一律會以世界標準時間指定,避免日光節約時間轉換時出現不明確的情況 (採用日光節約時間時會跳過一小時,停用日光節約時間時則會重複一小時)。舉例來說,時間戳記「2021-11-07 01:00:00 America/Los_Angeles」可能對應到「2021-11-07 08:00:00 UTC」或「2021-11-07 09:00:00 UTC」,因此意義不明。

每日匯總期間需要指定時區,以判斷一天的開始和結束時間。並非所有指標集都支援所有時區,因此請務必檢查要查詢的指標集支援哪些時區。

JSON 表示法
{
  "aggregationPeriod": enum (AggregationPeriod),
  "startTime": {
    object (DateTime)
  },
  "endTime": {
    object (DateTime)
  }
}
欄位
aggregationPeriod

enum (AggregationPeriod)

時間軸中資料點的匯總週期類型。

間隔的識別依據是間隔開始時的日期和時間。

startTime

object (DateTime)

時間軸的起始資料點 (含)。必須與匯總週期對齊,如下所示:

  • HOURLY:必須取消設定「minutes」、「seconds」和「nanos」欄位。您可以不設定 timeZone (預設為 UTC),或明確設定為「UTC」。設定其他 utcOffset 或時區 ID 會導致驗證錯誤。
  • DAILY:必須取消設定「hours」、「minutes」、「seconds」和「nanos」欄位。不同的指標集支援不同的時區。您可以將這項設定留空,使用指標集指定的預設時區。

端點的時區必須與起點的時區相符。

endTime

object (DateTime)

時間軸的結束資料點 (不含)。如需相關限制,請參閱 startTime。端點的時區必須與起點的時區相符。

DimensionValue

代表單一維度的值。

JSON 表示法
{
  "dimension": string,
  "valueLabel": string,

  // Union field value can be only one of the following:
  "stringValue": string,
  "int64Value": string
  // End of list of possible types for union field value.
}
欄位
dimension

string

維度名稱。

valueLabel

string

(選用步驟) 值的易讀標籤,一律為英文。例如,國家/地區代碼「ES」的名稱為「西班牙」。

維度值不會變動,但這個值標籤可能會變更。請勿假設 (value, valueLabel) 關係穩定,舉例來說,ISO 國家/地區代碼「MK」最近更名為「北馬其頓」。

聯集欄位 value。維度的實際值。視類型而定。value 只能是下列其中一項:
stringValue

string

實際值,以字串表示。

int64Value

string (int64 format)

實際值,以 int64 表示。

MetricValue

代表指標的值。

JSON 表示法
{
  "metric": string,

  // Union field value can be only one of the following:
  "decimalValue": {
    object (Decimal)
  }
  // End of list of possible types for union field value.

  // Union field confidence_interval can be only one of the following:
  "decimalValueConfidenceInterval": {
    object (DecimalConfidenceInterval)
  }
  // End of list of possible types for union field confidence_interval.
}
欄位
metric

string

指標名稱。

聯集欄位 value。指標的實際值。視類型而定。value 只能是下列其中一項:
decimalValue

object (Decimal)

實際值,以十進位數字表示。

聯集欄位 confidence_interval。如有提供,代表值的信賴區間。confidence_interval 只能是下列其中一項:
decimalValueConfidenceInterval

object (DecimalConfidenceInterval)

類型為 type.Decimal 的值的信賴區間。

DecimalConfidenceInterval

代表指標的信賴區間。

JSON 表示法
{
  "lowerBound": {
    object (Decimal)
  },
  "upperBound": {
    object (Decimal)
  }
}
欄位
lowerBound

object (Decimal)

信賴區間的下限。

upperBound

object (Decimal)

信賴區間的上限。

方法

list

列出任何資料集中的異常狀況。