本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 個值清單) 排序的字詞清單,請加入的orderBy
doc_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
僅顯示錯誤日誌消息。