CloudWatch 検索式の例
次の例は、検索式の使用方法と構文を示しています。リージョン内のすべてのインスタンスで CPUUtilization
を検索してから、バリエーションを見てみましょう。
この例では、リージョン内の各インスタンスの 1 行が表示されており、CPUUtilization
名前空間の AWS/EC2
メトリクスを示します。
SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" ', 'Average')
InstanceId
を InstanceType
に変更すると、リージョンで使用された各インスタンスタイプの 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
は一致しますが、ConnectionErrors
や errors
という名前のメトリクスには一致しません。
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')