

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

# 查詢
<a name="panel-queries"></a>

****  
本文件主題專為支援 Grafana **8.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 10.x 版的 Grafana 工作區，請參閱[使用 Grafana 第 10 版](using-grafana-v10.md)。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。

 Grafana 工作區面板使用*查詢*與資料來源通訊，以取得視覺化資料。查詢是以資料來源所使用的查詢語言撰寫的問題。如果查詢格式正確，資料來源會回應。在面板資料來源選項中，您可以調整查詢傳送至資料來源的頻率，以及收集的資料點數量。

 Grafana 工作區每個面板最多支援 26 個查詢。

## 查詢編輯器
<a name="query-editors"></a>

 查詢編輯器是可協助您撰寫查詢的表單。根據您的資料來源，查詢編輯器可能會提供自動完成、指標名稱或變數建議。

 由於查詢語言之間的差異，資料來源可能會有看起來不同的查詢編輯器。

## 查詢語法
<a name="query-syntax"></a>

 資料來源具有不同的查詢語言和語法來請求資料。以下是兩個查詢範例。

 **PostgreSQL** 

```
SELECT hostname FROM host WHERE region IN($region)
```

 **PromQL** 

```
query_result(max_over_time(<metric>[${__range_s}s]) != <state>)
```

 如需為資料來源撰寫查詢的詳細資訊，請參閱該資料來源的文件。資料來源列於 中[連線至資料來源](AMG-data-sources.md)。

## 查詢索引標籤 UI
<a name="query-tab-ui"></a>

 **查詢**索引標籤包含下列元素：
+  資料來源選取器 
+  查詢選項 
+  查詢檢查器按鈕 
+  查詢編輯器清單 

### 資料來源選取器
<a name="data-source-selector"></a>

 資料來源選取器是下拉式清單。選擇它以選取您已新增的資料來源。當您建立面板時，Amazon Managed Grafana 會自動選取您的預設資料來源。如需資料來源的詳細資訊，請參閱 [連線至資料來源](AMG-data-sources.md)。

 除了您在 Grafana 工作區中設定的資料來源之外，還有三個特殊資料來源可用。
+ **TestDataDB** – 產生隨機行走資料的內建資料來源。Grafana 資料來源適用於測試視覺化效果和執行實驗。
+  **混合** – 用於查詢相同面板中多個資料來源的資料來源。選取此資料來源時，您可以為您新增的每個新查詢選取資料來源。
  +  第一個查詢將使用在您選取**混合**之前選取的資料來源。
  +  您無法將現有的查詢變更為使用混合資料來源。
+ **儀表板** – 用於使用相同儀表板中另一個面板之結果集的資料來源。

### 查詢選項
<a name="query-options"></a>

 若要查看所選資料來源的設定，請選擇資料來源選取器旁的**查詢選項**。您在此處所做的變更只會影響在此面板中所做的查詢。

 Amazon Managed Grafana 會設定以深灰色文字顯示的預設值。變更會以白色文字顯示。若要將欄位傳回預設設定，請從 欄位刪除白色文字。

 您可以使用下列面板資料來源查詢選項：
+  **最大資料點** – 如果資料來源支援， 會設定傳回的每個序列的資料點數目上限。如果查詢傳回的資料點超過最大資料點設定，則資料來源會合併資料點 （透過依平均值或最大或其他函數彙總它們來減少傳回的點數）。

   限制點數量有兩個主要原因：效能和平滑線條。預設值是圖形的寬度 （或像素數），可避免比圖形面板可顯示的資料點更多。

   使用串流資料時，滾動緩衝區會使用最大資料點值。（串流是資料的連續流程，緩衝是將串流分割成區塊的一種方式）。
+  **最小間隔** – 設定自動計算間隔的最小限制，通常是最小抓取間隔。如果資料點每 15 秒儲存一次，則不需要間隔低於該資料點。另一個使用案例是將其設定為高於抓取間隔的最小值，以取得更粗細、功能良好的查詢。
+  **間隔** – 您可以在依時間彙總或分組資料點時使用的時間範圍。

   Amazon Managed Grafana 會自動計算適當的間隔，做為範本查詢中的變數。變數以秒為單位：`$__interval`；或以毫秒為單位：`$__interval_ms`。它通常用於彙總函數，例如 `sum`或 `average`。例如，這是使用間隔變數 的 Prometheus 查詢`rate(http_requests_total[$__interval])`。

   此自動間隔是根據圖形的寬度計算。如果使用者大幅縮小，間隔會變大，導致更粗細的彙總。如果使用者放大，間隔會減少，導致更精細的彙總。

   如需詳細資訊，請參閱[全域變數](variables-types.md#global-variables)。
+  **相對時間** – 覆寫個別面板的相對時間範圍，導致它們與儀表板右上角儀表板時間選擇器中選取的時間範圍不同。這可讓您在相同的儀表板上顯示不同時段或天數的指標。
+  **時間轉移** – 提供另一種方法來覆寫個別面板的時間範圍。此函數僅適用於相對時間範圍，而且您可以調整時間範圍。

   例如，您可以將面板的時間範圍變更為早於儀表板時間挑選器 2 小時。如需詳細資訊，請參閱[時間範圍控制項](dashboard-time-range-controls.md)。
+  **快取逾時** – （只有在資料來源中可用時，才會顯示此欄位。) 如果您的時間序列存放區具有查詢快取，則覆寫預設快取逾時。它以秒為單位指定為數值。

### 查詢檢查器按鈕
<a name="query-inspector-button"></a>

 您可以選擇**查詢檢查器**來開啟面板檢查器的**查詢**索引標籤。在**查詢**索引標籤上，您可以看到面板傳送的查詢請求和回應。

 選擇**重新整理**以查看此面板傳送至伺服器之請求的全文。

**注意**  
 您需要至少新增一個查詢，查詢檢查器才能傳回結果。

 如需面板檢查器的詳細資訊，請參閱 [檢查面板](inspect-a-panel.md)。

### 查詢編輯器清單
<a name="query-editor-list"></a>

 在 UI 中，查詢會整理成可摺疊的查詢列。每個查詢列都包含查詢編輯器，並以字母 (A、B、C 等） 識別。

## 在面板之間共用查詢結果
<a name="share-query-results-between-panels"></a>

 使用 Amazon Managed Grafana，您可以將一個面板的查詢結果用於儀表板中的任何其他面板。跨面板共用查詢結果可減少對資料來源進行的查詢數量，這可以改善儀表板的效能。

 儀表板資料來源可讓您選取儀表板中的面板，其中包含您要共用結果的查詢。Amazon Managed Grafana 不會為每個面板傳送個別查詢，而是傳送一個查詢，而其他面板會使用查詢結果來建構視覺化效果。

 例如，當您有數個面板視覺化相同的資料時，此策略可以大幅減少要進行的查詢數量。

**與其他面板共用資料來源查詢**

1.  建立儀表板。如需詳細資訊，請參閱[建立儀表板](getting-started-grafanaui.md#create-a-dashboard)。

1.  新增面板。如需詳細資訊，請參閱[新增面板](add-a-panel-to-a-dashboard.md)。

1.  將標題變更為 **Source panel**。您將使用此面板作為其他面板的來源。定義將共用的查詢。如果您目前沒有可用的資料來源，您可以使用 **Grafana** 資料來源，這會傳回一個隨機的時間序列，供您用於測試。

1.  新增第二個面板，然後在查詢編輯器中選取**儀表板**資料來源。

1.  在**使用面板清單中的結果**中，選取您建立的第一個面板。

 來源面板中定義的所有查詢現在可供新面板使用。在來源面板中進行的查詢可以與多個面板共用。

 若要前往定義查詢的面板，請選擇該查詢。