本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OpenSearch PPL 語言
本節包含使用 OpenSearch PPL 查詢 CloudWatch Logs 的基本簡介。透過 PPL,您可以使用管道整合命令擷取、查詢和分析資料,讓您更輕鬆地了解和編寫複雜的查詢。其語法是以 Unix 管道為基礎,並啟用命令鏈結來轉換和處理資料。使用 PPL,您可以篩選和彙總資料,並使用一組豐富的數學、字串、日期、條件式和其他函數進行分析。
您只能將 OpenSearch PPL 用於標準日誌類別中的日誌群組查詢。當您選取要查詢的日誌群組時,您可以選取單一日誌群組、共用字首的一組日誌群組,或選取所有日誌群組
注意
如需 CloudWatch Logs 中支援的所有 OpenSearch PPL 查詢命令的相關資訊,以及語法和限制的詳細資訊,請參閱 OpenSearch Service 開發人員指南中的支援 PPL 命令。
命令或函數 | 查詢範例 | 描述 |
---|---|---|
fields |
|
顯示一組需要投影的欄位。 |
join |
|
將兩個資料集聯結在一起。 |
where |
|
根據您指定的條件篩選資料。 |
統計資料 |
|
執行彙總和計算 |
parse |
|
從字串擷取規則表達式 (regex) 模式,並顯示擷取的模式。擷取的模式可以進一步用來建立新的欄位或篩選資料。 |
sort |
|
依欄位名稱排序顯示的結果。使用 sort -FieldName 以遞減順序排序。 |
評估 |
|
修改或處理欄位的值,並將其存放在不同的欄位中。這有助於以數學方式修改資料欄、將字串函數套用至資料欄,或將日期函數套用至資料欄。 |
重新命名 |
|
重新命名搜尋結果中的一個或多個欄位。 |
head |
|
將顯示的查詢結果限制為前 N 列。 |
top |
|
尋找欄位最常見的值。 |
dedup |
|
根據您指定的欄位移除重複的項目。 |
很少見 |
|
尋找欄位清單中所有欄位頻率最低的值。 |
subquery |
|
在您的 PPL 陳述式中執行複雜的巢狀查詢。 |
趨勢線 |
|
計算欄位的移動平均值。 |
eventStats |
|
使用計算的摘要統計資料來豐富您的事件資料。它會分析事件中的指定欄位、運算各種統計指標,然後將這些結果做為新欄位附加到每個原始事件。 |
展開 |
|
將包含多個值的欄位細分為不同的資料列,為指定欄位中的每個值建立新的資料列。 |
fillnull |
|
使用您提供的值填入 null 欄位。它可用於一個或多個欄位。 |
flatten |
|
扁平化欄位。欄位必須屬於此類型: |
cidrmatch |
|
檢查指定的 IP 地址是否在指定的 CIDR 範圍內。 |
欄位摘要 |
|
計算每個欄位的基本統計資料 (計數、相異計數、最小值、最大值、平均值、標準差和平均值)。 |
grok |
|
剖析具有 grok 模式的文字欄位,並將結果附加到搜尋結果。 |
字串函數 |
|
PPL 中的內建函數,可以操作和轉換 PPL 查詢中的字串和文字資料。例如,轉換案例、結合字串、擷取部分和清理文字。 |
日期時間函數 |
|
用於處理和轉換 PPL 查詢中日期和時間戳記資料的內建函數。例如,date_add、date_format、datediff、date-sub、timestampadd、timestampdiff、current_timezone、utc_timestamp 和 current_date。 |
條件函數 |
|
檢查特定欄位條件,並依條件評估表達式的內建函數。例如,如果 field1 為 null,則傳回 field2。 |
數學函數 |
|
用於在 PPL 查詢中執行數學計算和轉換的內建函數。例如,abs (絕對值)、圓 (圓數)、sqrt (平方根)、pow (功率計算) 和 ceil (四捨五入至最接近的整數)。 |
CryptoGraphic 函數 |
|
計算指定欄位的雜湊 |
JSON 函數 |
|
處理 JSON 的內建函數,包括陣列、擷取和驗證。例如,json_object、json_array、to_json_string、json_array_length、json_extract、json_keys 和 json_valid。 |