本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連線至 OpenSearch 資料來源
注意
在支援第 9 版或更新版本的工作區中,此資料來源可能需要您安裝適當的外掛程式。如需詳細資訊,請參閱使用外掛程式擴充工作區。
使用 Amazon Managed Grafana,您可以將開放原始碼 OpenSearch
新增 OpenSearch 做為資料來源
注意
若要能夠新增 OpenSearch 資料來源,您需要將 Grafana IAM 帳戶新增至 ALL_ACCESS 和 SECURITY_MANAGER 角色。
-
選擇頂端標頭中的 Grafana 圖示,開啟側邊選單。
-
在儀表板連結下的側邊選單中,您應該會找到名為 的資料來源連結。
-
選擇頂端標頭中的 + 新增資料來源按鈕。
-
從類型下拉式清單中選取 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
僅顯示錯誤日誌訊息。