CloudWatch 搜尋表達式範例 - Amazon CloudWatch

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

CloudWatch 搜尋表達式範例

以下範例會示範更多的搜尋表達式用法和語法。讓我們開始在區域所有執行個體中搜尋 CPUUtilization,然後查看變化。

此範例一行顯示區域中一個執行個體,顯示 AWS/EC2 命名空間的 CPUUtilization 指標。

SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" ', 'Average')

InstanceId 變更成 InstanceType 會變更圖形,一行顯示區域中使用的一個執行個體類型。每種類型的所有執行個體資料都會彙總至該執行個體類型的一行。

SEARCH(' {AWS/EC2,InstanceType} MetricName="CPUUtilization" ', 'Average')

以下範例依執行個體類型彙總 CPUUtilization,一行顯示一種包括字串 micro 的執行個體類型。

SEARCH('{AWS/EC2,InstanceType} InstanceType=micro MetricName="CPUUtilization" ', 'Average')

此範例會縮小前一個範例的結果,將 InstanceType 變更為 t2.micro 執行個體的完全相符搜尋。

SEARCH('{AWS/EC2,InstanceType} InstanceType="t2.micro" MetricName="CPUUtilization" ', 'Average')

以下搜尋會移除查詢的 {metric schema} 部分,所以所有命名空間的 CPUUtilization 指標會出現在圖形中。這可能會傳回相當多的結果,因為圖形包含CPUUtilization每個 AWS 服務指標的多行,並沿著不同的維度彙總。

SEARCH('MetricName="CPUUtilization" ', 'Average')

若要略微縮小這些結果,您可以指定兩個特定指標命名空間。

SEARCH('MetricName="CPUUtilization" AND ("AWS/ECS" OR "AWS/ES") ', 'Average')

前一個範例是使用一個搜尋查詢搜尋特定多個命名空間的唯一方式,因為每個查詢中只能指定一個指標結構描述。不過,您可以在圖形中使用兩個查詢以新增更多結構,如以下範例所示。此範例還可指定使用某個維度來彙總 Amazon ECS 資料,以新增更多結構。

SEARCH('{AWS/ECS ClusterName}, MetricName="CPUUtilization" ', 'Average') SEARCH(' {AWS/EBS} MetricName="CPUUtilization" ', 'Average')

以下範例會傳回名為 ConsumedLCUs 的 Elastic Load Balancing 指標,以及所有包含字符 flow 的 Elastic Load Balancing 指標或維度。

SEARCH('{AWS/NetworkELB, LoadBalancer} "ConsumedLCUs" OR flow ', 'Maximum')

以下範例使用巢狀分組。它會傳回所有函數中 Errors 的 Lambda 指標,以及名稱中包含字串 ProjectAProjectB 之函數的 Invocations

SEARCH('{AWS/Lambda,FunctionName} MetricName="Errors" OR (MetricName="Invocations" AND (ProjectA OR ProjectB)) ', 'Average')

以下範例顯示您所有的自訂指標,不包含 AWS 服務產生的指標。

SEARCH('NOT Namespace=AWS ', 'Average')

以下範例顯示的指標,其指標名稱、命名空間、維度名稱和維度值中包含字串 Errors 做為名稱的一部分。

SEARCH('Errors', 'Average')

以下範例會將搜尋縮小至完全相符搜尋。例如,此搜尋會尋找指標名稱 Errors,但不尋找名為 ConnectionErrorserrors 的指標。

SEARCH(' "Errors" ', 'Average')

以下範例示範如何指定在搜尋詞的指標結構描述部分中,包含空格或特殊字元彙的名稱。

SEARCH('{"Custom-Namespace", "Dimension Name With Spaces"}, ErrorCount ', 'Maximum')

CloudWatch 跨帳戶觀察功能搜尋表達式範例

CloudWatch 跨帳戶觀察功能範例

如果您登入的帳戶已設定為 CloudWatch 跨帳戶觀察功能中的監控帳戶,則可使用 SEARCH 函數從指定來源帳戶傳回指標。如需詳細資訊,請參閱CloudWatch 跨帳戶觀察功能

下列範例使用帳戶 ID 111122223333 從帳戶擷取所有 Lambda 指標。

SEARCH(' AWS/Lambda :aws.AccountId = 111122223333 ', 'Average')

下列範例從兩個帳戶 111122223333 和 777788889999 擷取所有 AWS/EC2 指標。

SEARCH(' AWS/EC2 :aws.AccountId = (111122223333 OR 777788889999) ', 'Average')

下列範例從來源帳戶 111122223333 和監控帳戶本身擷取所有 AWS/EC2 指標。

SEARCH(' AWS/EC2 :aws.AccountId = (111122223333 OR 'LOCAL') ', 'Average')

下列範例從具有 InstanceId 維度的帳戶 444455556666 擷取 MetaDataToken 指標的 SUM

SEARCH('{AWS/EC2,InstanceId} :aws.AccountId=444455556666 MetricName=\"MetadataNoToken\"','Sum')