選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

連線至 Oracle 資料庫資料來源

焦點模式
連線至 Oracle 資料庫資料來源 - Amazon Managed Grafana

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

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

注意

此資料來源僅適用於 Grafana Enterprise。如需詳細資訊,請參閱管理企業外掛程式的存取

此外,在支援第 9 版或更新版本的工作區中,此資料來源可能會要求您安裝適當的外掛程式。如需詳細資訊,請參閱使用外掛程式擴展您的工作區

新增資料來源

選取 Grafana 左側面板上的資料來源

選取新增資料來源:

輸入 oracle 以尋找資料來源。

輸入 Oracle 伺服器詳細資訊。

輸入主機名稱 (或 IP 地址) 以及連接埠號碼,以及要連線的使用者名稱和密碼。

使用 tnsnames 選項切換,可在 tnsnames.ora 組態檔案中找到的任何有效項目,以及基本身分驗證。

與先前的範例類似,但使用 Kerberos 進行身分驗證。如需如何設定作業系統或 Docker 容器以使用 kerberos 的詳細資訊,請參閱 kerberos 特定設定指南。

選擇性地變更用於連線至 Oracle 伺服器,以及由時區感知巨集使用的時區。預設設定為 UTC。

儲存並測試資料來源,您應該會看到綠色訊息,其中包含「資料庫連線正常」

用量

巨集

為了簡化語法並允許動態部分,例如日期範圍篩選條件,查詢可包含巨集。資料欄名稱必須包含在雙引號 () 中"

巨集範例 描述
*$__time(dateColumn)* | 將取代為運算式,將資料欄重新命名為 `time`。例如,`dateColumn as time` *$__timeEpoch(dateColumn)* 將由表達式取代,將資料欄重新命名為 ,time並將值轉換為 unix 時間戳記 (以毫秒為單位)。
*$__timeFilter(dateColumn)* | 將由使用指定資料欄名稱的時間範圍篩選條件取代。例如,`dateColumn BETWEEN TO_DATE('19700101','yyyymmdd') + (1/24/60/60/1000) * 1500376552001 AND TO_DATE('19700101','yyyymmdd') + (1/24/60/60/1000) * 1500376552002` *$__timeFrom()* 將取代為目前作用中時間選擇的開頭,轉換為DATE資料類型。例如:TO_DATE('19700101','yyyymmdd') + (1/24/60/60/1000) * 1500376552001
*$__timeTo()* | 將由轉換為 `DATE` 資料類型的目前作用中時間選擇結尾取代。*$__timeGroup(dateColumn,"5m")* 將替換為可用於 GROUP BY 子句的表達式。
*$__timeGroup(dateColumn,"5m"【, fillvalue】)* 將替換為可用於 GROUP BY 子句的表達式。提供 NULL 或浮點數的 fillValue 會自動以該值填入時間範圍中的空序列。例如,timeGroupcreatedAt、′1m′、0.*__timeGroup(dateColumn、"5m"、0)*。
*timeGroup(dateColumn、'5m'、NULL) * |SameasabovebutNULwilbeusedasvalueformisinpoints.*__timeGroup(dateColumn,"5m", previous)* 與上述相同,但如果尚未看到 NULL 值,則會使用該系列中的上一個值作為填充值。
*$__unixEpochFilter(dateColumn)* | 將使用指定的資料欄名稱取代為時間範圍篩選條件,時間表示為 unix 時間戳記 (以毫秒為單位)。例如,`dateColumn >= 1500376552001 AND dateColumn <= 1500376552002` *$__unixEpochFrom()* 將由目前作用中時間選擇的開頭取代為 unix 時間戳記。例如:1500376552001
*$__unixEpochTo()* 會以目前作用中時間選擇的結尾取代為 unix 時間戳記。例如:1500376552002

外掛程式也支援使用 括號 進行標記{}。當參數內需要查詢時,請使用此表示法。

注意

每個查詢使用一種表示法類型。如果查詢需要括號,則查詢中的所有巨集都必須使用括號。

$__timeGroup{"dateColumn",'5m'} $__timeGroup{SYS_DATE_UTC("SDATE"),'5m'} $__timeGroup{FROM_TZ(CAST("SDATE" as timestamp), 'UTC'), '1h'}

查詢編輯器具有產生的 SQL 連結,會在查詢執行後,在面板編輯模式下顯示。當您選擇連結時,它會展開並顯示已執行的原始插補 SQL 字串。

資料表查詢

如果將格式化為查詢選項設定為資料表,則基本上您可以執行任何類型的 SQL 查詢。資料表面板會自動顯示查詢傳回的任何資料欄和資料列的結果。您可以使用一般 as SQL 資料欄選取語法來控制資料表面板資料欄的名稱。

時間序列查詢

如果您將 Format 設定為 Time series,例如在圖形面板中使用,查詢必須傳回名為 的資料欄time,該資料欄會在幾秒內傳回 SQL datetime 或任何代表 unix epoch 的數值資料類型。Grafana 將沒有明確時區的 DATE 和 TIMESTAMP 資料欄解譯為 UTC。除了 time和 以外的任何資料欄metric都會視為值資料欄。您可以傳回名為 的資料欄metric,做為值資料欄的指標名稱。

下列程式碼範例顯示 metric欄。

SELECT $__timeGroup("time_date_time", '5m') AS time, MIN("value_double"), 'MIN' as metric FROM test_data WHERE $__timeFilter("time_date_time") GROUP BY $__timeGroup("time_date_time", '5m') ORDER BY time

更多查詢 – 使用 oracle-fake-data-gen

SELECT $__timeGroup("createdAt", '5m') AS time, MIN("value"), 'MIN' as metric FROM "grafana_metric" WHERE $__timeFilter("createdAt") GROUP BY $__timeGroup("createdAt", '5m') ORDER BY time

下列程式碼範例顯示假資料時間序列。

SELECT "createdAt", "value" FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY "createdAt" ASC
SELECT "createdAt" as time, "value" as value FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY time ASC

下列範例顯示有用的資料表結果。

select tc.table_name Table_name ,tc.column_id Column_id ,lower(tc.column_name) Column_name ,lower(tc.data_type) Data_type ,nvl(tc.data_precision,tc.data_length) Length ,lower(tc.data_scale) Data_scale ,tc.nullable nullable FROM all_tab_columns tc ,all_tables t WHERE tc.table_name = t.table_name

範本

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

查詢變數

如果您新增類型 的範本變數Query,您可以撰寫 Oracle 查詢,以傳回如測量名稱、索引鍵名稱或顯示為下拉式清單選取方塊的索引鍵值等項目。

例如,如果您在範本變數查詢設定中指定像這樣的查詢,則可以有一個變數,其中包含資料表中資料hostname欄的所有值。

SELECT "hostname" FROM host

查詢可以傳回多個資料欄,Grafana 會自動從中建立清單。例如,下列查詢將傳回來自 hostname和 的值清單hostname2

SELECT "host.hostname", "other_host.hostname2" FROM host JOIN other_host ON host.city = other_host.city

若要在查詢$__timeFilter("time_column")中使用以時間範圍為基礎的巨集,例如 ,範本變數的重新整理模式需要設定為在時間範圍變更

SELECT "event_name" FROM event_log WHERE $__timeFilter("time_column")

另一個選項是可建立索引鍵/值變數的查詢。查詢應傳回兩個名為 __text和 的資料欄__value__text 資料欄值應該是唯一的 (如果不是唯一的,則會使用第一個值)。下拉式清單中的選項會有文字和值,可讓您將易記的名稱做為文字,並將 ID 做為值。下列範例程式碼顯示 查詢,其中 hostname做為文字, id做為值。

SELECT "hostname" AS __text, "id" AS __value FROM host

您也可以建立巢狀變數。例如,如果您有另一個名為 的變數region。然後,您可以讓主機變數只顯示目前所選區域中具有類似查詢的主機 (如果 region 是多值變數,則使用IN比較運算子,而不是=比對多個值)。

SELECT "hostname" FROM host WHERE region IN('$region')

在查詢中使用變數

範本變數值只有在範本變數為 時才會引述multi-value

如果變數是多值變數,請使用IN比較運算子=,而不是比對多個值。

有兩種語法:

$<varname> 範本變數名為 的範例hostname

SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('$hostname') ORDER BY "atimestamp" ASC

[[varname]] 範本變數名為 的範例hostname

SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('[[hostname]]') ORDER BY atimestamp ASC

在本頁面

下一個主題:

Salesforce

上一個主題:

New Relic
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。