

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

# 使用 Amazon OpenSearch Service 資料來源
<a name="ES-use-datasource"></a>

## 指標查詢編輯器
<a name="ES-metric-query-editor"></a>

OpenSearch 查詢編輯器可讓您依多個詞彙或篩選條件選取多個指標和群組。使用右側的加號和減號圖示，依子句新增/移除指標或群組。有些指標和依子句分組都有選項。選擇選項文字以展開\$1 列，以檢視和編輯指標或依選項分組。

## 使用管道處理語言 (PPL)
<a name="ES-PPL"></a>

Amazon OpenSearch Service 資料來源支援 Piped Processing Language (PPL)，可為 OpenSearch 啟用更簡單但強大的查詢和視覺化功能。PPL 可讓客戶探索和尋找資料，而不必撰寫冗長的 OpenSearch Domain Specific Language (DSL) 陳述式或使用 JSON 物件寫入查詢。使用 PPL，您可以將查詢撰寫為一組以類似 UNIX 管道的管道分隔的命令。

以下列範例 DSL 查詢為範例：

```
GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>
```

上述 DSL 查詢可以取代為下列 PPL 命令，該命令簡潔且可人類讀取。

```
source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count
```

如需 PPL 的詳細資訊，請參閱[使用 Piped Processing Language 查詢 Amazon OpenSearch Service 資料](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ppl-support.html)。

## 系列命名和別名模式
<a name="ES-series-naming-and-alias-patterns"></a>

 您可以使用`Alias`輸入欄位來控制時間序列的名稱。


|  模式  |  Description  | 
| --- | --- | 
|  \$1\$1term fieldname\$1\$1  |  以 Group By 一詞的值取代。 | 
|  \$1\$1metric\$1\$1  |  以指標名稱 （例如 平均值、最小值、最大值）。 | 
|  \$1\$1field\$1\$1  |  以指標欄位名稱取代。 | 

## 管道指標
<a name="ES-pipeline-metrics"></a>

有些指標彙總稱為管道彙總，例如*移動平均*和*衍生*。OpenSearch 管道指標需要根據另一個指標。使用指標旁的眼睛圖示，隱藏指標不出現在圖形中。這對於您在查詢中只有用於管道指標的指標很有用。

## 範本化
<a name="ES-templating"></a>

 您可以在指標查詢中使用變數，而不是硬式編碼，例如伺服器、應用程式和感應器名稱。變數會顯示為儀表板頂端的下拉式清單選取方塊。您可以使用這些下拉式方塊來變更儀表板中顯示的資料。

 如需範本和範本變數的詳細資訊，請參閱 [範本和變數](templates-and-variables.md)。

### 查詢變數
<a name="ES-query-variable"></a>

 OpenSearch Service 資料來源支援兩種類型的查詢，您可以在*查詢*變數的*查詢*欄位中使用。查詢是使用自訂 JSON 字串撰寫。


|  Query  |  Description  | 
| --- | --- | 
|  \$1"find": "fields", "type": "keyword"\$1  |  傳回索引類型為 的欄位名稱清單keyword。 | 
|  \$1"find": "terms", "field": "@hostname", "size": 1000\$1  |  使用詞彙彙總傳回欄位的值清單。查詢將使用目前的儀表板時間範圍做為查詢的時間範圍。 | 
|  \$1"find": "terms", "field": "@hostname", "query": '<lucene query>'\$1  |  使用詞彙彙總和指定的 Lucene 查詢篩選條件，傳回欄位的值清單。查詢將使用目前的儀表板時間範圍做為查詢的時間範圍。 | 

詞彙查詢的預設大小限制為 500。若要設定自訂限制，請在查詢中設定大小屬性。您可以在查詢內使用其他變數。下列程式碼範例顯示名為 之變數的查詢定義`$host`。

```
{"find": "terms", "field": "@hostname", "query": "@source:$source"}
```

在上一個範例中，我們使用在查詢定義`$source`內名為 的另一個變數。每當您使用下拉式清單變更`$source`變數的目前值時，就會啟動`$host`變數的更新。更新之後， `$host`變數只會包含由 篩選的主機名稱，在此情況下為`@source`文件屬性。

預設情況下，這些查詢會依詞彙順序傳回結果 （然後，任何變數都可以按字母或數字排序）。若要產生依文件計數排序的詞彙清單 （前 N 個值清單），請新增 的 `orderBy` 屬性`doc_count`。這會自動選取遞減排序。使用 `asc`搭配 doc\$1count (N 底部清單） 可以透過設定 來完成`order: "asc"`，但不建議這麼做，因為它會增加文件計數的錯誤。若要將術語保留在文件計數順序中，請將變數的**排序**下拉式清單設定為**已停用**。或者，您可能仍然想要使用**字母來**重新排序它們。

```
{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}
```

### 在查詢中使用變數
<a name="ES-using-variables-in-queries"></a>

 有兩種語法：
+  `$<varname>` 範例：@hostname：\$1hostname 
+  `[[varname]]` 範例：@hostname：【【hostname】】 

 為什麼有兩種方式？ 第一個語法更容易讀取和寫入，但不允許您在單字中間使用變數。啟用*多值*或*包含所有值*選項時，Grafana 會將標籤從純文字轉換為 Lucene 相容條件。

 在先前的範例中，我們有使用名為 的變數，根據 `@hostname` 屬性篩選文件的 lucene 查詢`$hostname`。它也在「依欄位輸入分組*」*方塊中使用變數。這可讓您使用變數來快速變更資料的分組方式。

## 註釋
<a name="ES-annotations"></a>

註釋可讓您在圖形上方疊加豐富的事件資訊。您可以使用儀表板功能表或註釋檢視來新增註釋查詢。Grafana 可以查詢註釋事件的任何 OpenSearch 索引。如需詳細資訊，請參閱[註釋](dashboard-annotations.md)。


|  名稱  |  描述  | 
| --- | --- | 
|  Query  |  您可以保持搜尋查詢空白，或指定 Lucene 查詢。 | 
|  Time  |  時間欄位的名稱；必須是日期欄位。 | 
|  Time End  |  時間結束欄位的選用名稱必須是日期欄位。如果設定，註釋將標記為時間和結束時間之間的區域。 | 
|  Text  |  事件描述欄位。 | 
|  Tags  |  用於事件標籤的選用欄位名稱 （可以是陣列或 CSV 字串）。 | 

## 查詢 日誌
<a name="ES-querying-logs-beta"></a>

 從 OpenSearch 查詢和顯示日誌資料可在探索中取得。若要顯示日誌，請選取 OpenSearch Service 資料來源，然後選擇性地輸入 Lucene 查詢。如需詳細資訊，請參閱[探索](explore.md)。

### 日誌查詢
<a name="ES-log-queries"></a>

 傳回結果後，日誌面板會顯示日誌資料列清單和長條圖，其中 x 軸顯示時間，y 軸顯示頻率或計數。

### 篩選日誌訊息
<a name="ES-filter-log-messages"></a>

 或者，在查詢欄位中輸入 Lucene 查詢來篩選日誌訊息。例如，使用預設的 Filebeat 設定，您應該能夠使用 `fields.level:error` 僅顯示錯誤日誌訊息。