

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon OpenSearch Service 中的異常偵測
<a name="ad"></a>

Amazon OpenSearch Service 中的異常偵測功能會使用 Random Cut Forest (隨機分割森林，簡稱 RCF) 演算法，以近乎即時的速度自動偵測 OpenSearch 資料中的異常。RCF 是一種非監督式的機器學習演算法，它會為傳入資料串流的草圖建立模型。該演算法會為每個傳入資料點計算 `anomaly grade` 和 `confidence score` 值。異常偵測使用這些值來區分資料中的異常與正常變化。

您可以將異常偵測外掛程式與[警示外掛程式](alerting.md)配對，以便在偵測到異常後立即通知您。

在執行任何 OpenSearch 版本或 Elasticsearch 7.4 或更新版本的網域上均可使用異常偵測。除了 `t2.micro` 和 `t2.small` 外，所有執行個體類型都支援異常偵測。

**注意**  
本文件提供 Amazon OpenSearch Service 內容中異常偵測的簡短概觀。如需完整的文件，包括詳細步驟、API 參考、所有可用設定的參考，以及建立視覺化和儀表板的步驟，請參閱開放原始碼 OpenSearch 文件中的[異常偵測](https://opensearch.org/docs/latest/monitoring-plugins/ad/index/)。

## 先決條件
<a name="ad-prereq"></a>

異常偵測具有以下先決條件：
+ 異常偵測需要 OpenSearch 或 Elasticsearch 7.4 或更新版本。
+ 異常偵測在 Elasticsearch 版本 7.9 和更新版本以及所有版本的 OpenSearch 上僅支援[精細存取控制](fgac.md)。在 Elasticsearch 7.9 之前，只有管理員使用者可以建立、檢視和管理偵測器。
+ 如果您的網域使用精細存取控制，則非系統管理員使用者必須在 OpenSearch Dashboards 中[映射](fgac.md#fgac-mapping)到 `anomaly_read_access` 角色來檢視偵測器，或映射到 `anomaly_full_access` 來建立和管理偵測器。

## 開始使用異常偵測
<a name="ad-example-es"></a>

若要開始使用，請在 OpenSearch Dashboards 中選擇**異常偵測**。

### 步驟 1：建立偵測器
<a name="ad-example-1"></a>

偵測器是個別的異常偵測任務。您可以建立多個偵測器，且所有偵測器皆可同時執行，而每個偵測器會分析來自不同來源的資料。

### 步驟 2：將功能新增至偵測器
<a name="ad-example-2"></a>

功能是您檢查異常之索引中的欄位。偵測器可在一或多個功能中探索異常。您必須針對每個功能選擇以下其中一個彙總：`average()`、`sum()`、`count()`、`min()` 或 `max()`。

**注意**  
`count()` 彙總方法只能在 OpenSearch 和 Elasticsearch 7.7 或更新版本中使用。對於 Elasticsearch 7.4，請使用如下所示的自訂表達式：  

```
{
  "aggregation_name": {
     "value_count": {
        "field": "field_name"
     }
  }
}
```

彙總方法會決定構成異常的內容。例如，如果您選擇， `min()`，偵測器會專注於根據功能的最小值來尋找異常。如果您選擇 `average()`，偵測器會根據功能的平均值來尋找異常。每個偵測器最多可以新增五個功能。

您可以配置下列選用設定 (在 Elastisearch 7.7 及更新版本中可用)：
+ **類別欄位**-使用 IP 地址、產品 ID、國家/地區代碼等維度來分類或分割資料。
+ **時段大小**-設定要在偵測時段中考量的資料串流彙總間隔數。

設定功能後，請預覽範例異常，並視需要調整功能設定。

### 步驟 3：觀察結果
<a name="ad-example-3"></a>

![\[異常偵測儀表板上提供下列視覺效果：\]](http://docs.aws.amazon.com/zh_tw/opensearch-service/latest/developerguide/images/ad.png)

+ **Live anomalies** (即時異常) - 顯示最後 60 個間隔的即時異常結果。例如，如果間隔設為 10，則會顯示最後 600 分鐘的結果。此圖表每隔 30 秒重新整理一次。
+ **Anomaly history** (異常歷程記錄) - 會使用對應可信度測量來繪製異常分數。
+ **Feature breakdown** (功能明細) - 根據彙總方法來繪製功能。您可以呈現偵測器的日期時間範圍差異。
+ **Anomaly occurrence** (異常出現次數) - 顯示每個偵測到的異常的 `Start time`、`End time`、`Data confidence` 和 `Anomaly grade`。

  如果您設定類別欄位，您會看到額外的**熱度圖**圖表，它會關聯異常實體的結果。選擇填滿的矩形以查看異常的更詳細檢視。

### 步驟 4：設定提醒
<a name="ad-example-4"></a>

若要建立監控以在偵測到任何異常時傳送通知，請選擇 **Set up alerts (設定提醒)**。外掛程式會將您重新導向至 [Add monitor](https://docs.opensearch.org/latest/observing-your-data/alerting/monitors/) (新增監控) 頁面，您可在此設定提醒。