

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

# 連線至 OpenSearch 資料來源
<a name="using-opensearch-in-AMG"></a>

**注意**  
在支援第 9 版或更新版本的工作區中，此資料來源可能需要您安裝適當的外掛程式。如需詳細資訊，請參閱[使用外掛程式擴展您的工作區](grafana-plugins.md)。

使用 Amazon Managed Grafana，您可以將開放原始碼 [OpenSearch](https://opensearch.org/docs/) （或舊版 Elasticsearch) 新增為資料來源。您可以執行許多類型的簡單或複雜的 OpenSearch 查詢，以視覺化儲存在 OpenSearch 中的日誌或指標。您也可以使用儲存在 OpenSearch 中的日誌事件來註釋圖表。

## 新增 OpenSearch 做為資料來源
<a name="opensearch-adding-the-data-source"></a>

**注意**  
若要能夠新增 OpenSearch 資料來源，您需要將 Grafana IAM 帳戶新增至 ALL\_ACCESS 和 SECURITY\_MANAGER 角色。

1.  選擇頂端標頭中的 Grafana 圖示，開啟側邊選單。

1.  在**儀表板**連結下的側邊選單中，您應該會找到具名**資料來源**連結。

1.  選擇頂端標頭中的 **\+ 新增資料來源**按鈕。

1.  從**類型**下拉式清單中選取 **OpenSearch**。

**注意**  
 如果您在側邊選單中沒有看到**資料來源**連結，這表示您目前的使用者沒有 `Admin`角色。


|  名稱  |  描述  | 
| --- | --- | 
|  Name  |  資料來源名稱。這是您在面板和查詢中看到資料來源的方式。 | 
|  Default  |  預設資料來源表示新面板會預先選取。 | 
|  Url  |  OpenSearch 伺服器的 HTTP 通訊協定、IP 和連接埠。 | 
|  Access  |  伺服器 （預設） = URL 必須可從 Grafana 後端/伺服器存取。瀏覽器 = URL 必須可從瀏覽器存取。 | 

 存取模式控制將如何處理對資料來源的請求。如果未說明其他項目，伺服器應該是偏好的方式。

### 伺服器存取模式 （預設）
<a name="opensearch-server-access-mode-default"></a>

 所有請求都是從瀏覽器向 Grafana 後端或伺服器提出，其會將請求轉送至資料來源，以規避可能的跨來源資源共享 (CORS) 要求。如果您選擇此存取模式，則必須從 Grafana 後端或伺服器存取 URL。

### 瀏覽器 （直接） 存取
<a name="opensearch-browser-direct-access"></a>

 Amazon Managed Grafana 不支援 OpenSearch 資料來源的瀏覽器直接存取。

### 索引設定
<a name="opensearch-index-settings"></a>

 您可以在這裡為 指定預設值，`time field`並指定 OpenSearch 索引的名稱。您可以使用索引名稱或萬用字元的時間模式。

### OpenSearch/Elasticsearch 版本
<a name="opensearch-version"></a>

在版本下拉式選單中指定您的 OpenSearch 或舊版 Elasticsearch 版本。版本很重要，因為每個版本的查詢撰寫方式有所不同。目前，Grafana 支援 OpenSearch 1.0.x。支援的 Elasticsearch 版本為 `2.0+`、`5.0+`、`6.0+`、 `5.6+`和 `7.0+`。此值`5.6+`表示 5.6 版或更新版本，但低於 6.0。此值`6.0+`表示 6.0 版或更新版本，但低於 7.0。最後， `7.0+`表示 7.0 版或更新版本，但低於 8.0。

### 最短時間間隔
<a name="opensearch-min-time-interval"></a>

 依時間間隔分類的自動群組下限。建議設定為寫入頻率；例如，`1m`如果您的資料每分鐘寫入一次。也可以在資料來源選項下的儀表板面板中覆寫/設定此選項。此值的格式**必須是**數字，後面接著有效的時間識別符；例如 `1m`(1 分鐘） 或 `30s`(30 秒）。支援下列時間識別碼。


|  識別符  |  Description  | 
| --- | --- | 
|  y  |  年  | 
|  M  |  月  | 
|  w  |  週  | 
|  d  |  天  | 
|  h  |  小時  | 
|  m  |  分鐘  | 
|  s  |  秒  | 
|  ms  |  毫秒  | 

### 日誌
<a name="opensearch-logs-beta"></a>

在 中視覺化日誌時`Level field name`，可以從資料來源設定頁面選擇性地設定兩個參數 `Message field name`和 ，以決定哪些欄位將用於日誌訊息和日誌層級[探索](explore.md)。

 例如，如果您使用 Filebeat 的預設設定將日誌運送到 OpenSearch，則下列組態應該可以運作。
+  **訊息欄位名稱：**訊息 
+  **層級欄位名稱：**Fields.level 

### 資料連結
<a name="opensearch-data-links"></a>

 資料連結會從可在探索日誌檢視中存取的指定欄位建立連結。

 每個資料連結組態都包含下列項目：
+ **欄位** – 資料連結所使用的欄位名稱。
+ **URL/查詢 ** – 如果連結是外部連結，請輸入完整的連結 URL。如果連結是內部連結，則此輸入會做為目標資料來源的查詢。在這兩種情況下，您可以將 欄位的值插入`${__value.raw }`巨集。
+ **內部連結** – 如果連結是內部或外部，請選取此選項。如果連結是內部連結，則資料來源選取器可讓您選取目標資料來源。僅支援追蹤資料來源。

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

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

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

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

 您可以透過`Alias`輸入欄位控制時間序列的名稱。


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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