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