本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
查詢和轉換資料
本文件主題是針對支援 Grafana 9.x 版的 Grafana 工作區所設計。
如需支援 Grafana 10.x 版的 Grafana 工作區,請參閱。在 Grafana 第 10 版工作
如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱。在 Grafana 第 8 版中工作
Grafana 支援多種類型的資料來源。資料來源查詢會傳回 Grafana 可以轉換和視覺化的資料。每個資料來源都使用自己的查詢語言,而資料來源外掛程式則會實作稱為查詢編輯器的查詢建置使用者介面。
關於查詢
Grafana 面板透過查詢與資料來源通訊,這些查詢會擷取資料以供視覺效果使用。查詢是以資料來源使用的查詢語言撰寫的問題。
您可以在面板的資料來源選項中設定查詢頻率和資料收集限制。Grafana 最多支持每個面板 26 查詢。
您可以在 [資料來源] 區段中找到有關每個資料來源查詢語言的詳細資訊。
查詢編輯器
每個資料來源的查詢編輯器都提供自訂的使用者介面,可協助您撰寫利用其獨特功能的查詢。
由於查詢語言之間的差異,每個資料來源查詢編輯器的外觀和功能都不同。根據您的資料來源,查詢編輯器可能會提供自動完成功能、量度名稱、變數建議或視覺化查詢建置介面。
如需特定資料來源唯一查詢編輯器功能的詳細資訊,請參閱其文件:
-
對於 Grafana 隨附的資料來源,請參閱內建資料來源。
-
如需 Grafana 企業版所包含的資料來源,請參閱。Connect 至企業資料來源
查詢語法
資料來源使用不同的查詢語言來請求資料。如需特定資料來源唯一查詢語言的詳細資訊,請參閱其文件。
PostgreSQL:
SELECT hostname FROM host WHERE region IN($region)
問題範例:
query_result(max_over_time(<metric>[${__range_s}s]) != <state>)
特殊資料來源
Grafana 還包括三個特殊數據源:Grafana,混合和儀表板。如需詳細資訊,請參閱資料來源
導覽查詢頁籤
面板的「查詢」頁籤包含下列元素:
-
資料來源選取器 — 選取要查詢的資料來源。
-
查詢選項:— 設定最大資料擷取參數和查詢執行時間間隔。
-
查詢檢閱器按鈕:— 開啟查詢檢查器面板,您可以在其中檢視及最佳化查詢。
-
查詢編輯器清單:— 列出您撰寫的查詢。
-
運算式:— 使用運算式建立器建立警示運算式。如需運算式的相關資訊,請參閱寫入運算式查詢。
新增查詢
查詢會傳回 Grafana 在儀表板面板中視覺化的資料。當您建立面板時,Grafana 會自動選取預設資料來源。
若要加入查詢
-
編輯要新增查詢的面板。
-
選擇 Queries (查詢) 索引標籤。
-
選擇「資料來源」下拉式功能表,然後選取資料來源。
-
選擇「查詢」選項以設定所需資料點的最大數量。如需查詢選項的更多資訊,請參閱查詢選項。
-
使用查詢編輯器撰寫查詢。
-
選擇套用。
Grafana 會查詢資料來源並將資料視覺化。
管理查詢
Grafana 會以可摺疊的查詢列來組織查詢。每個查詢列都包含一個查詢編輯器,並以字母 (A、B、C 等) 來識別。
若要管理查詢,您可以複製查詢、隱藏查詢、移除查詢、重新排序查詢,以及切換查詢編輯器的說明。
查詢選項
選擇資料來源選取器旁邊的「查詢」選項,以查看所選資料來源的設定。您在此處所做的變更只會影響在此面板中進行的查詢。
Grafana 會設定以深灰色文字顯示的預設值。變更會以白色文字顯示。若要將欄位恢復為預設設定,請從欄位中刪除白色文字。
面板資料來源查詢選項包括:
-
最大資料點數 — 如果資料來源支援,這會設定傳回的每個序列的最大資料點數。如果查詢傳回的資料點多於最大資料點設定,則資料來源會透過平均值、最大值或其他函數將它們彙總在一起,減少傳回的點數。
您可以限制點數以改善查詢效能或使視覺化的線條變得平滑。預設值是圖表的寬度 (或像素數),因為您只能視覺化圖表面板有顯示空間的資料點。
對於串流資料,Grafana 會使用滾動緩衝區的最大資料點值。串流是一種連續的資料流,而緩衝會將資料流劃分為區塊。例如,Loki 以即時拖尾模式串流資料。
-
最小間隔 — 設定自動計算間隔的最小限制,通常為最小抓取間隔。如果每 15 秒儲存一次資料點,您將不會因為間隔低於此值而受益。您還可以將其設置為比抓取間隔更高的最小值,以檢索更粗糙且功能良好的查詢。
-
Interval — 設定依時間彙總或分組資料點時可使用的時間範圍。
Grafana 會自動計算適當的間隔,您可以在範本化查詢中當做變數使用。變數的測量單位為秒 (
$__interval
) 或毫秒 ($__interval_ms
)。間隔通常用於彙總函數 (例如總和或平均值)。例如,這是使用間隔變數:的 Prometheus 查詢。
rate(http_requests_total[$__interval])
此自動間隔是根據圖形的寬度計算的。當使用者縮小視覺效果時,間隔會增加,進而產生更粗糙的彙總。同樣地,如果使用者放大,間隔會減少,進而產生更精細的彙總。
如需詳細資訊,請參閱 全域變數。
-
相對時間 — 取代個別面板的相對時間範圍,這會使其與管控面板右上角的儀表板時間選取器中選取的內容不同。您可以使用此功能在同一儀表板上顯示來自不同時段或日期的指標。
注意
當儀表板的時間範圍是絕對的時間範圍時,面板時間取代不起作用。
範例 相對時間欄位 最近 5 分鐘
now-5m
到目前為止的一天
now/d
最近 5 天
now-5d/d
本週到目前為止
now/w
最近 2 年
now-2y/y
-
時移 — 相對於時間選擇器移動個別面板的開始和結束時間,以覆寫個別面板的時間範圍。例如,您可以將面板的時間範圍調整為比儀表板時間選擇器早兩小時。
注意
當儀表板的時間範圍是絕對的時間範圍時,面板時間取代不起作用。
範例 時間偏移字段 最後一個星期
1w/w
整整兩個星期前
2w/w
最後一個月
1M/M
這一整年
1d/y
最後一整年
1y/y
-
快取逾時 — (只有在資料來源中可用時才可見) 如果您的時間序列存放區具有查詢快取快取,則會覆寫預設快取逾時。將此值指定為以秒為單位的數值。