CloudWatch 検索式の例 - Amazon CloudWatch

CloudWatch 検索式の例

次の例は、検索式の使用方法と構文を示しています。リージョン内のすべてのインスタンスで CPUUtilization を検索してから、バリエーションを見てみましょう。

この例では、リージョン内の各インスタンスの 1 行が表示されており、CPUUtilization 名前空間の AWS/EC2 メトリクスを示します。

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

InstanceIdInstanceType に変更すると、リージョンで使用された各インスタンスタイプの 1 行を示すようにグラフが変更されます。各タイプのすべてのインスタンスのデータは、そのインスタンスタイプの 1 行に集約されます。

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

次の例では、CPUUtilization をインスタンスタイプ別に集計しており、文字列 micro を含む各インスタンスタイプの 1 行が表示されます。

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

この例は、前の例を絞り込んでおり、InstanceType は、t2.micro instance の完全一致検索に変更されます。

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

次の検索では、クエリの {metric schema} 部分が削除されるため、すべての名前空間の CPUUtilization メトリクスがグラフに表示されます。これにより、グラフには、さまざまなディメンションに沿って計算された、AWS の各サービスの CPUUtilization メトリクスの複数の行が含まれるため、多くの結果が返ることがあります。

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

これらの結果を絞り込むために、2 つの特定のメトリクス名前空間を指定できます。

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

各クエリに指定できるメトリクスキーマは 1 つのみであるため、前の例は、1 つの検索クエリで特定の複数の名前空間の検索を実行する唯一の方法です。ただし、構造をさらに追加するには、次の例のようにグラフで 2 つのクエリを使用できます。また、この例では、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 メトリクスと、ProjectA または ProjectB を含む名前の関数の 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 の 2 つのアカウントから 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')