連線至 OpenSearch 資料來源 - Amazon Managed Grafana

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

連線至 OpenSearch 資料來源

注意

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

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

新增 OpenSearch 做為資料來源

注意

若要能夠新增 OpenSearch 資料來源,您需要將 Grafana IAM 帳戶新增至 ALL_ACCESS 和 SECURITY_MANAGER 角色。

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

  2. 儀表板連結下的側邊選單中,您應該會找到名為 的資料來源連結。

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

  4. 類型下拉式清單中選取 OpenSearch

注意

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

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

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

伺服器存取模式 (預設)

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

瀏覽器 (直接) 存取

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

索引設定

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

OpenSearch/Elasticsearch 版本

在版本下拉式功能表中指定您的 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。

最短時間間隔

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

識別符 描述
y
M
w
d
h 小時
m 分鐘
s
ms 毫秒

日誌

有兩種參數 Message field name和 ,可以選擇從資料來源設定頁面設定Level field name,以決定在 中視覺化日誌時,哪些欄位將用於日誌訊息和日誌層級探索

例如,如果您使用 Filebeat 的預設設定將日誌傳送至 OpenSearch,則下列組態應該可以運作。

  • 訊息欄位名稱:訊息

  • 層級欄位名稱:Field.level

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

每個資料連結組態都包含下列項目:

  • 欄位 – 資料連結所使用的欄位名稱。

  • URL/查詢 – 如果連結是外部連結,請輸入完整的連結 URL。如果連結是內部連結,則此輸入會做為目標資料來源的查詢。在這兩種情況下,您可以將 欄位的值與${__value.raw }巨集插補。

  • 內部連結 – 如果連結是內部或外部,請選取此選項。如果連結是內部連結,則資料來源選擇器可讓您選取目標資料來源。僅支援追蹤資料來源。

使用 OpenSearch 資料來源

指標查詢編輯器

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

系列命名和別名模式

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

模式 描述
{{term fieldname}} 以 Group By 一詞的值取代。
{{metric}} 以指標名稱取代 (例如 平均值、最小值、最大值)。
{{field}} 以指標欄位名稱取代。

管道指標

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

範本

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

如需範本變數和範本變數的詳細資訊,請參閱模板和變量

查詢變數

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

Query 描述
{"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"}

在查詢中使用變數

有兩種語法:

  • $<varname> 範例:@hostname:$hostname

  • [[varname]] 範例:@hostname:【【hostname】】

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

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

註釋

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

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

查詢 日誌

探索中提供了從 OpenSearch 查詢和顯示日誌資料。若要顯示日誌,請選取 OpenSearch 資料來源,然後選擇性地輸入 Lucene 查詢。如需詳細資訊,請參閱探索

日誌查詢

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

篩選日誌訊息

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