本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
布林值、比較、數值、日期時間和其他函數
CloudWatch 日誌見解支援查詢中的許多其他操作和功能,如以下各節所述。
算術運算子
算術運算子可接受以數值資料類型作為引數,而且會傳回數值結果。算術運算子可用於 filter
和 fields
命令,也可以作為其他函數的引數使用。
作業 | 描述 |
---|---|
|
加法 |
|
減法 |
|
乘法 |
|
除法 |
|
指數 ( |
|
餘數或模數 ( |
布林值運算子
使用布林值運算子 and
、or
和 not
。
注意
布林值運算子僅限用於會傳回 TRUE 或 FALSE 的函數。
比較運算子
比較運算子可接受以所有資料類型作為引數,而且會傳回布林值結果。比較運算子可用於 filter
命令,也可以作為其他函數的引數使用。
運算子 | 描述 |
---|---|
|
等於 |
|
不等於 |
|
小於 |
|
大於 |
|
小於或等於 |
|
大於或等於 |
數值運算子
數值運算接受數值資料類型作為引數,並傳回數值結果。數值運算可用於 filter
和 fields
命令,也可以作為其他函數的引數使用。
作業 | 結果類型 | 描述 |
---|---|---|
|
數字 |
絕對值 |
|
number |
無條件進位到上限 (大於 |
|
number |
無條件捨去到下限 (小於 |
|
number |
傳回最大值 |
|
number |
傳回最小值 |
|
number |
自然對數 |
|
number |
平方根 |
日期時間函數
日期時間函數
日期時間函數可用於 fields
和 filter
命令,也可以作為其他函數的引數使用。如果查詢中使用了彙總函數,您可以使用這些函數來建立時段。使用由數字和下列其中一項組成的時間週期:
ms
毫秒s
幾秒鐘m
幾分鐘h
數小時
例如,10m
是 10 分鐘,1h
是 1 小時。
注意
為您的日期時間函數使用最合適的時間單位。 CloudWatch 記錄會根據您選擇的時間單位來限制您的要求。例如,它上限為 60 作為使用的任何請求的最大值s
。因此,如果您指定bin(300s)
, CloudWatch Logs 實際上將其實現為 60 秒,因為 60 是一分鐘內的秒數,因此 CloudWatch 日誌不會使用大於 60 的數字s
。若要建立 5 分鐘的值區,請bin(5m)
改用。
的上限ms
是 1000,s
和的帽子m
是 60,上限h
是 24。
下表列出您可以在查詢命令中使用的不同日期時間函數。該表列出了每個函式的結果類型,並包含對每個函式的說明。
提示
建立查詢命令時,您可以使用時間間隔選擇器,來選取您要查詢的時間段。例如:您可以設定 5 分鐘到 30 分鐘的間隔;1 小時、3 小時和 12 小時的間隔;或是自訂的時間範圍。您也可以在特定日期之間設定時間段。
函式 | 結果類型 | 描述 |
---|---|---|
|
時間戳記 |
將 您可以使用此操作在查詢中將多筆日誌條目分組在一起。以下範例傳回每小時的例外情況計數。
|
|
時間戳記 |
將時間戳記截斷為指定的期間。例如, |
|
時間戳記 |
將時間戳記無條件進位到指定期間,然後截斷。例如, |
|
時間戳記 |
解譯輸入欄位為自 Unix epoch 以來的毫秒數,並將其轉換為時間戳記。 |
|
number |
將指定欄位中找到的時間戳記轉換為數字,代表自 Unix epoch 以來的毫秒數。例如: |
注意
目前, CloudWatch 日誌深入解析不支援使用人類可讀的時間戳記篩選記錄。
一般函數
一般函數
一般函數可用於 fields
和 filter
命令,也可以作為其他函數的引數使用。
函式 | 結果類型 | 描述 |
---|---|---|
|
Boolean |
如果欄位存在,傳回 |
|
LogField |
傳回清單中的第一個非空值 |
IP 地址字串函數
IP 地址字串函數
IP 地址字串函數可用於 filter
和 fields
命令,也可以作為其他函數的引數使用。
函式 | 結果類型 | 描述 |
---|---|---|
|
布林值 |
如果欄位是有效的 IPv4 或 IPv6 地址,則會傳回 |
|
boolean |
如果欄位是有效的 IPv4 地址,則傳回 |
|
boolean |
如果欄位是有效的 IPv6 地址,則傳回 |
|
boolean |
如果欄位是指定 v4 或 v6 子網路內的有效 IPv4 或 IPv6 地址,則傳回 |
|
boolean |
如果欄位是指定 v4 子網路內的有效 IPv4 地址,則傳回 |
|
boolean |
如果欄位是指定 v6 子網路內的有效 IPv6 地址,則傳回 |
字串函數
字串函數
字串函數可用於 fields
和 filter
命令,也可以作為其他函數的引數使用。
函式 | 結果類型 | 描述 |
---|---|---|
|
Number |
如果欄位遺失或是空白字串,傳回 |
|
Number |
如果欄位遺失、是空白字串或只包含空格,傳回 |
|
string |
串連字串。 |
|
string |
如果函數沒有第二個引數,則會移除字串左側的空格。如果函數有第二個字串引數,則不會移除空格。而是從 |
|
string |
如果函數沒有第二個引數,則會移除字串右側的空格。如果函數有第二個字串引數,則不會移除空格。而是從 |
|
string |
如果函數沒有第二個引數,則會移除字串兩側的空格。如果函數有第二個字串引數,則不會移除空格。而是從 |
|
number |
以 Unicode 字碼指標傳回字串的長度。 |
|
string |
將字串轉換成大寫。 |
|
string |
將字串轉換成小寫。 |
|
string |
傳回從數字引數指定的索引到字串結尾的子字串。如果函數有第二個數字引數,則是包含要擷取的子字串長度。例如, |
|
string |
以 例如:函式 |
|
number |
如果 |