Metrics Insights のサンプルクエリ - Amazon CloudWatch

Metrics Insights のサンプルクエリ

このセクションでは、コピーして直接使用することも、クエリエディタで編集して使用することもできる、有用な CloudWatch Metrics Insights クエリの例を紹介します。これらの例の内のいくつかは、コンソールで既に利用可能な状態であり、[Metrics] (メトリクス) ビューで [Add query] (クエリを追加) をクリックしてアクセスすることができます。

Application Load Balancer での例

すべてのロードバランサーでのリクエストの合計数

SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer)

最もアクティブな上位 10 個のロードバランサー

SELECT MAX(ActiveConnectionCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer) GROUP BY LoadBalancer ORDER BY SUM() DESC LIMIT 10

AWS API の使用状況に関する例

アカウント内の呼び出し数で上位 20 の AWS API

SELECT COUNT(CallCount) FROM SCHEMA("AWS/Usage", Class, Resource, Service, Type) WHERE Type = 'API' GROUP BY Service, Resource ORDER BY COUNT() DESC LIMIT 20

呼び出しごとにソートされた CloudWatch API

SELECT COUNT(CallCount) FROM SCHEMA("AWS/Usage", Class, Resource, Service, Type) WHERE Type = 'API' AND Service = 'CloudWatch' GROUP BY Resource ORDER BY COUNT() DESC

DynamoDB での例

実行された読み取り数で上位 10 のテーブル

SELECT SUM(ProvisionedWriteCapacityUnits) FROM SCHEMA("AWS/DynamoDB", TableName) GROUP BY TableName ORDER BY MAX() DESC LIMIT 10

返されたバイト数で上位 10 のテーブル

SELECT SUM(ReturnedBytes) FROM SCHEMA("AWS/DynamoDB", TableName) GROUP BY TableName ORDER BY MAX() DESC LIMIT 10

ユーザーエラー数で上位 10 のテーブル

SELECT SUM(UserErrors) FROM SCHEMA("AWS/DynamoDB", TableName) GROUP BY TableName ORDER BY MAX() DESC LIMIT 10

Amazon Elastic Block Store での例

書き込まれたバイト数で上位 10 のAmazon EBSボリューム

SELECT SUM(VolumeWriteBytes) FROM SCHEMA("AWS/EBS", VolumeId) GROUP BY VolumeId ORDER BY SUM() DESC LIMIT 10

Amazon EBS ボリュームでの平均書き込み時間

SELECT AVG(VolumeTotalWriteTime) FROM SCHEMA("AWS/EBS", VolumeId)

Amazon EC2 での例

最も高い順にソートされた EC2 インスタンスの CPU 使用量

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId ORDER BY AVG() DESC

フリート全体での平均 CPU 使用量

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)

CPU の最高使用量で上位 10 のインスタンス

SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId ORDER BY MAX() DESC LIMIT 10

このケースでは、CloudWatch エージェントはアプリケーションごとに CPUUtilization メトリクスを収集しています。このクエリは、特定のアプリケーション名について、このメトリクスの平均によるフィルタリングを行います。

SELECT AVG(CPUUtilization) FROM "AWS/CWAgent" WHERE ApplicationName = 'eCommerce'

Amazon Elastic Container Service での例

すべての ECS クラスタでの平均 CPU 使用量

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/ECS", ClusterName)

メモリ使用量で上位 10 のクラスタ

SELECT AVG(MemoryUtilization) FROM SCHEMA("AWS/ECS", ClusterName) GROUP BY ClusterName ORDER BY AVG() DESC LIMIT 10

CPU 使用量で上位 10 のサービス

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/ECS", ClusterName, ServiceName) GROUP BY ClusterName, ServiceName ORDER BY AVG() DESC LIMIT 10

実行中のタスク (Container Insights) 数で上位 10 のサービス

SELECT AVG(RunningTaskCount) FROM SCHEMA("ECS/ContainerInsights", ClusterName, ServiceName) GROUP BY ClusterName, ServiceName ORDER BY AVG() DESC LIMIT 10

Amazon Elastic Kubernetes Service Container Insights での例

すべての EKS クラスタでの平均 CPU 使用量

SELECT AVG(pod_cpu_utilization) FROM SCHEMA("ContainerInsights", ClusterName)

ノードの CPU 使用量で上位 10 のクラスタ

SELECT AVG(node_cpu_utilization) FROM SCHEMA("ContainerInsights", ClusterName) GROUP BY ClusterName ORDER BY AVG() DESC LIMIT 10

ポッドのメモリ使用量で上位 10 のクラスター

SELECT AVG(pop_memory_utilization) FROM SCHEMA("ContainerInsights", ClusterName) GROUP BY ClusterName ORDER BY AVG() DESC LIMIT 10

CPU 使用量で上位 10 のノード

SELECT AVG(node_cpu_utilization) FROM SCHEMA("ContainerInsights", ClusterName, NodeName) GROUP BY ClusterName, NodeName ORDER BY AVG() DESC LIMIT 10

メモリ使用量で上位 10 のポッド

SELECT AVG(pod_memory_utilization) FROM SCHEMA("ContainerInsights", ClusterName, PodName) GROUP BY ClusterName, PodName ORDER BY AVG() DESC LIMIT 10

EventBridge での例

呼び出し数で上位10 のルール

SELECT SUM(Invocations) FROM SCHEMA("AWS/Events", RuleName) GROUP BY RuleName ORDER BY MAX() DESC LIMIT 10

失敗した呼び出し数で上位 10 のルール

SELECT SUM(FailedInvocations) FROM SCHEMA("AWS/Events", RuleName) GROUP BY RuleName ORDER BY MAX() DESC LIMIT 10

一致したルール数で上位 10 のルール

SELECT SUM(MatchedEvents) FROM SCHEMA("AWS/Events", RuleName) GROUP BY RuleName ORDER BY MAX() DESC LIMIT 10

Kinesis での例

書き込まれたバイト数で上位 10 のストリーム

SELECT SUM("PutRecords.Bytes") FROM SCHEMA("AWS/Kinesis", StreamName) GROUP BY StreamName ORDER BY SUM() DESC LIMIT 10

ストリーム内の最も早いアイテム数で上位 10 のストリーム

SELECT MAX("GetRecords.IteratorAgeMilliseconds") FROM SCHEMA("AWS/Kinesis", StreamName) GROUP BY StreamName ORDER BY MAX() DESC LIMIT 10

Lambda での例

呼び出し数で順序付けられた Lambda 関数

SELECT SUM(Invocations) FROM SCHEMA("AWS/Lambda", FunctionName) GROUP BY FunctionName ORDER BY SUM() DESC

最長実行時間で上位 10 の Lambda 関数

SELECT AVG(Duration) FROM SCHEMA("AWS/Lambda", FunctionName) GROUP BY FunctionName ORDER BY MAX() DESC LIMIT 10

エラー発生数で上位 10 のLambda 関数

SELECT SUM(Errors) FROM SCHEMA("AWS/Lambda", FunctionName) GROUP BY FunctionName ORDER BY SUM() DESC LIMIT 10

CloudWatch Logs での例

受信イベント数で上位 10 のロググループ

SELECT SUM(IncomingLogEvents) FROM SCHEMA("AWS/Logs", LogGroupName) GROUP BY LogGroupName ORDER BY SUM() DESC LIMIT 10

書き込まれたバイト数で上位 10 のロググループ

SELECT SUM(IncomingBytes) FROM SCHEMA("AWS/Logs", LogGroupName) GROUP BY LogGroupName ORDER BY SUM() DESC LIMIT 10

Amazon RDS での例

CPU の最大使用量で上位 10 の Amazon RDS インスタンス

SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/RDS", DBInstanceIdentifier) GROUP BY DBInstanceIdentifier ORDER BY MAX() DESC LIMIT 10

書き込み量で上位 10 の Amazon RDS クラスター

SELECT SUM(WriteIOPS) FROM SCHEMA("AWS/RDS", DBClusterIdentifier) GROUP BY DBClusterIdentifier ORDER BY MAX() DESC LIMIT 10

Amazon Simple Storage Service での例

バケット別の平均レイテンシー

SELECT AVG(TotalRequestLatency) FROM SCHEMA("AWS/S3", BucketName, FilterId) WHERE FilterId = 'EntireBucket' GROUP BY BucketName ORDER BY AVG() DESC

ダウンロードされたバイト数で上位 10 のバケット

SELECT SUM(BytesDownloaded) FROM SCHEMA("AWS/S3", BucketName, FilterId) WHERE FilterId = 'EntireBucket' GROUP BY BucketName ORDER BY SUM() DESC LIMIT 10

Amazon Simple Notification Service での例

SNS トピックによって発行されたメッセージの総数

SELECT SUM(NumberOfMessagesPublished) FROM SCHEMA("AWS/SNS", TopicName)

発行されたメッセージ数で上位 10 のトピック

SELECT SUM(NumberOfMessagesPublished) FROM SCHEMA("AWS/SNS", TopicName) GROUP BY TopicName ORDER BY SUM() DESC LIMIT 10

メッセージ配信の失敗数で上位 10 のトピック

SELECT SUM(NumberOfNotificationsFailed) FROM SCHEMA("AWS/SNS", TopicName) GROUP BY TopicName ORDER BY SUM() DESC LIMIT 10

Amazon SQS での例

表示可能なメッセージ数で上位 10 のキュー

SELECT AVG(ApproximateNumberOfMessagesVisible) FROM SCHEMA("AWS/SQS", QueueName) GROUP BY QueueName ORDER BY AVG() DESC LIMIT 10

最もアクティブな上位 10 のキュー

SELECT SUM(NumberOfMessagesSent) FROM SCHEMA("AWS/SQS", QueueName) GROUP BY QueueName ORDER BY SUM() DESC LIMIT 10

最も初期のメッセージからの経過時間で上位 10 のキュー

SELECT AVG(ApproximateAgeOfOldestMessage) FROM SCHEMA("AWS/SQS", QueueName) GROUP BY QueueName ORDER BY AVG() DESC LIMIT 10