使用 Amazon OpenSearch 服務資料來源 - Amazon Managed Grafana

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

使用 Amazon OpenSearch 服務資料來源

度量查詢編輯器

OpenSearch 查詢編輯器可讓您選取多個量度,並依據多個字詞或篩選器分組。使用右側的加號和減號圖示來新增/移除量度或依子句分組。某些量度和依子句分組有選項。選擇選項文字以展開\ 列以檢視和編輯量度或依選項分組。

使用管道處理語言 (PPL)

Amazon OpenSearch 服務資料來源支援管道處理語言 (PPL),可實現更簡單但功能強大的查詢和視覺化功能。 OpenSearchPPL 可讓客戶探索和尋找資料,而不必撰寫冗長的 OpenSearch 網域特定語言 (DSL) 陳述式或使用 JSON 物件撰寫查詢。使用 PPL,您可以將查詢寫入為一組由類似於 UNIX 管道的管道分隔的命令。

以下列 DSL 查詢範例為範例:

GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>

前面的 DSL 查詢可以用下面的 PPL 命令來替換,該命令簡潔且易於閱讀。

source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count

如需 PPL 的詳細資訊,請參閱使用管道處理語言查詢 Amazon OpenSearch 服務資料

系列命名和別名模式

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

模式 描述
{{term fieldname}} 替換為術語「群組依據」的值。
{{metric}} 替換為度量名稱(例如。 平均值,最小值,最大值)。
{{field}} 取代為量度欄位名稱。

管道指標

某些指標彙總稱為管線彙總,例如移動平均值和導數。 OpenSearch 管線指標需要以其他量度為基礎。使用量度旁的眼睛圖示可隱藏量度,使其不會出現在圖表中。這對於查詢中僅用於管線指標的量度非常有用。

模板

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

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

查詢變數

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

Query 描述
{"find": "fields", "type": "keyword"} 傳回具有索引類型的欄位名稱清單keyword
{"find": "terms", "field": "@hostname", "size": 1000} 返回使用術語彙總的字段值的列表。查詢將使用當前儀表板時間範圍作為查詢的時間範圍。
{"find": "terms", "field": "@hostname", "query": '<lucene query>'} 使用術語彙總和指定的 Lucene 查詢篩選器傳回欄位的值清單。查詢將使用當前儀表板時間範圍作為查詢的時間範圍。

術語查詢的預設大小限制為 500。若要設定自訂限制,請在查詢中設定 size 屬性。您可以在查詢中使用其他變數。下列程式碼範例顯示名為的變數的查詢定義$host

{"find": "terms", "field": "@hostname", "query": "@source:$source"}

在前$source面的例子中,我們使用查詢定義中的另一個名為的變量。每當你改變,使用下拉列表中,$source變量的當前值,它啟動$host變量的更新。更新之後,$host變數只會包含由此例中的 @source document 屬性篩選的主機名稱。

默認情況下,這些查詢返回結果在術語順序(然後可以按字母順序或數字排序,就像任何變量一樣)。若要產生按文件計數 (前 N 個值清單) 排序的字詞清單,請加入的orderBydoc_count屬性。這會自動選取遞減排序。使asc用 doc_count(底部 N 個列表)可以通過設置來完成order: "asc",但是不鼓勵使用,因為它會增加文檔計數的錯誤。若要將字詞保留在文件計數順序中,請將變數的「排序」下拉式清單設定為「停用」。或者,您可能仍然希望使用按字母順序對它們進行重新排序。

{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}

在查詢中使用變數

有兩種語法:

  • $<varname>範例:@hostname:$ 主機名稱

  • [[varname]]範例:@hostname: [[主機名稱]]

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

在前面的例子中,我們有一個 lucene 查詢,該查詢使用名為的變量根據@hostname屬性過濾文檔。$hostname它也使用在條款組通過字段輸入框中的變量。這可讓您使用變數來快速變更資料的分組方式。

註釋

註釋允許您在圖形頂部覆蓋豐富的事件信息。您可以使用「圖標板」選單或「註釋」檢視新增註釋查詢 Grafana 可以查詢註釋事件的任何 OpenSearch 索引。如需更多詳細資訊,請參閱 註釋

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

查詢 日誌

您可以在「瀏覽器」中 OpenSearch 查詢和顯示記錄檔資料。若要顯示記錄,請選取 OpenSearch 服務資料來源,然後選擇性地輸入 Lucene 查詢。如需詳細資訊,請參閱 探索

記錄查詢

傳回結果之後,記錄面板會顯示記錄資料列的清單,以及橫條圖,其中 x 軸顯示時間,y 軸顯示頻率或計數。

篩選記錄訊息

選擇性地在查詢欄位中輸入 Lucene 查詢,以篩選記錄訊息。例如,使用默認的 Filebeat 設置,您應該能夠使用fields.level:error僅顯示錯誤日誌消息。