を使用した Application Signals の例 AWS CLI - AWS SDK コードの例

Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 AWS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Application Signals の例 AWS CLI

次のコード例は、Application Signals AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次の例は、batch-get-service-level-objective-budget-report を使用する方法を説明しています。

AWS CLI

1 つ以上のサービスレベル目標 (SLO) 予算レポートを取得するには。

次の のbatch-get-service-level-objective-budget-report例では、1 つ以上のサービスレベル目標 (SLO) 予算レポートを取得します。

aws application-signals batch-get-service-level-objective-budget-report \ --timestamp 1735059869 \ --slo-ids "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1" "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2"

出力:

{ "Timestamp": "2024-12-24T22:34:29+05:30", "Reports": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1", "Name": "Your SLO Name", "EvaluationType": "PeriodBased", "BudgetStatus": "OK", "Attainment": 100.0, "TotalBudgetSeconds": 6048, "BudgetSecondsRemaining": 6048, "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e098765432522" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } }, { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2", "Name": "test", "EvaluationType": "PeriodBased", "BudgetStatus": "BREACHED", "Attainment": 97.39583275, "TotalBudgetSeconds": 86, "BudgetSecondsRemaining": -2154, "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "cwMetric", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e12345678922" }] }, "Period": 300, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 5.0, "ComparisonOperator": "GreaterThan" }, "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 1 } }, "AttainmentGoal": 99.9, "WarningThreshold": 30.0 } } ], "Errors": [] }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

次の例は、create-service-level-objective を使用する方法を説明しています。

AWS CLI

サービスレベル目標 (SLO) を作成するには

次のcreate-service-level-objective例では、サービスレベル目標 (SLO) を作成します。これにより、重要なビジネスオペレーションが顧客の期待を満たしていることを確認することができます。

aws application-signals create-service-level-objective \ --name "SLOName" \ --description "Description of your SLO" \ --sli-config file://sli-config.json

sli-config.json の内容:

{ "SliMetricConfig": { "MetricDataQueries": [ { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0e5a1234561522" } ] }, "Period": 60, "Stat": "Average" }, "ReturnData": true } ] }, "MetricThreshold": 200, "ComparisonOperator": "LessThanOrEqualTo" }

出力:

{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-27T08:16:09.032000+05:30", "LastUpdatedTime": "2024-12-27T08:16:09.032000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [ { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0e59876543234522" } ] }, "Period": 60, "Stat": "Average" }, "ReturnData": true } ] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } } }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateServiceLevelObjective」を参照してください。

次の例は、delete-service-level-objective を使用する方法を説明しています。

AWS CLI

指定されたサービスレベルの目標を削除します。

次の のdelete-service-level-objective例では、指定されたサービスレベルの目標を削除します。

aws application-signals delete-service-level-objective \ --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"

このコマンドでは何も出力されません。

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteServiceLevelObjective」を参照してください。

次の例は、get-service-level-objective を使用する方法を説明しています。

AWS CLI

アカウントで作成された 1 つの SLO に関する情報を返すには

次の のget-service-level-objective例では、アカウントで作成された 1 つの SLO に関する情報を返します。

aws application-signals get-service-level-objective \ --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"

出力:

{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-24T22:19:18.624000+05:30", "LastUpdatedTime": "2024-12-24T22:19:55.280000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e0987654321522" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } } }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のGetServiceLevelObjective」を参照してください。

次の例は、get-service を使用する方法を説明しています。

AWS CLI

Application Signals によって検出されたサービスに関する情報を返すには

次の のget-service例では、Application Signals によって検出されたサービスに関する情報を返します。

aws application-signals get-service \ --start-time 1732704000 \ --end-time 1732714500 \ --key-attributes Environment=lambda:default,Name=hello-world-python,Type=Service

出力:

{ "Service": { "KeyAttributes": { "Environment": "lambda:default", "Name": "hello-world-python", "Type": "Service" }, "AttributeMaps": [{ "Lambda.Function.Name": "hello-world-python", "PlatformType": "AWS::Lambda" }], "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Error" }], "LogGroupReferences": [{ "Identifier": "/aws/lambda/hello-world-python", "ResourceType": "AWS::Logs::LogGroup", "Type": "AWS::Resource" }] }, "StartTime": "2024-11-27T10:00:00+00:00", "EndTime": "2024-11-27T14:00:01+00:00", "LogGroupReferences": [{ "Identifier": "/aws/lambda/hello-world-python", "ResourceType": "AWS::Logs::LogGroup", "Type": "AWS::Resource" }] }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetService」を参照してください。

次の例は、list-service-dependencies を使用する方法を説明しています。

AWS CLI

指定したサービスのサービス依存関係のリストを返すには

次の のlist-service-dependencies例では、指定したサービスのサービス依存関係のリストを返します。

aws application-signals list-service-dependencies \ --start-time 1732021200 \ --end-time 1732107600 \ --key-attributes Environment=api-gateway:prod, Name=PetAdoptionStatusUpdater,Type=Service

出力:

{ "ServiceDependencies": [{ "OperationName": "PUT /prod", "DependencyKeyAttributes": { "Environment": "lambda:default", "Name": "Services-name", "Type": "Service" }, "DependencyOperationName": "Invoke", "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Error" }] }], "StartTime": "2024-11-19T13:00:00+00:00", "EndTime": "2024-11-20T13:00:01+00:00" }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListServiceDependencies」を参照してください。

次の例は、list-service-dependents を使用する方法を説明しています。

AWS CLI

指定された時間範囲内に指定されたサービスを呼び出した依存関係のリストを返すには

次の のlist-service-dependents例では、指定された時間範囲で指定されたサービスを呼び出した依存関係のリストを返します。

aws application-signals list-service-dependents \ --start-time 1732021200 \ --end-time 1732107600 \ --key-attributes Environment=generic:default,Name=PetSite,Type=Service

出力:

{ "ServiceDependents": [{ "OperationName": "", "DependentKeyAttributes": { "Identifier": "pet-api-canary-hao", "ResourceType": "AWS::Synthetics::Canary", "Type": "AWS::Resource" }, "DependentOperationName": "", "MetricReferences": [] }, { "OperationName": "", "DependentKeyAttributes": { "Identifier": "PetSite", "ResourceType": "AWS::Synthetics::Canary", "Type": "AWS::Resource" }, "DependentOperationName": "", "MetricReferences": [] }], "StartTime": "2024-12-24T05:00:00+00:00", "EndTime": "2024-12-25T06:00:01+00:00" }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListServiceDependents」を参照してください。

次の例は、list-service-level-objectives を使用する方法を説明しています。

AWS CLI

このアカウントで作成された SLOs のリストを返すには。

次の のlist-service-level-objectives例では、このアカウントで作成された SLOs のリストを返します。

aws application-signals list-service-level-objectives

出力:

{ "SloSummaries": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/test", "Name": "test", "CreatedTime": "2024-12-24T22:01:21.116000+05:30" }] }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListServiceLevelObjectives」を参照してください。

次の例は、list-service-operations を使用する方法を説明しています。

AWS CLI

Application Signals によって検出されたこのサービスのオペレーションのリストを返すには

次の のlist-service-operations例では、Application Signals によって検出されたこのサービスのオペレーションのリストを返します。

aws application-signals list-service-operations \ --start-time 1735017423 \ --end-time 1735103823 \ --key-attributes Environment=generic:default,Name=payforadoption,Type=Service

出力:

{ "ServiceOperations": [{ "Name": "POST /api", "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Error" }] }], "StartTime": "2024-12-24T05:00:00+00:00", "EndTime": "2024-12-25T06:00:01+00:00" }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のListServiceOperations」を参照してください。

次の例は、list-services を使用する方法を説明しています。

AWS CLI

Application Signals によって検出されたサービスのリストを返すには

次の のlist-services例では、Application Signals によって検出されたサービスのリストを返します。

aws application-signals list-services \ --start-time 1734918791 \ --end-time 1734965591

出力:

{ "ServiceSummaries": [{ "KeyAttributes": { "Environment": "lambda:default", "Name": "hello-world-python", "Type": "Service" }, "AttributeMaps": [{ "Lambda.Function.Name": "hello-world-python", "PlatformType": "AWS::Lambda" }], "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Error" }] }], "StartTime": "2024-11-27T10:00:00+00:00", "EndTime": "2024-11-27T14:00:01+00:00" }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「ListServices」を参照してください。

次の例は、list-tags-for-resource を使用する方法を説明しています。

AWS CLI

CloudWatch リソースに関連付けられたタグを表示するには

次の のlist-tags-for-resource例では、CloudWatch リソースに関連付けられたタグを表示します。

aws application-signals list-tags-for-resource \ --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"

出力:

{ "Tags": [{ "Key": "test", "Value": "value" }] }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次の例は、start-discovery を使用する方法を説明しています。

AWS CLI

この Amazon Web Services アカウントが CloudWatch Application Signals を使用できるようにするには

次のstart-discovery例では、CloudWatch サービスにリンクされたロールを作成して、この Amazon Web Services アカウントが CloudWatch Application Signals を使用できるようにします。 AWS ServiceRoleForCloudWatchApplicationSignals

aws application-signals start-discovery

このコマンドでは何も出力されません。

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のStartDiscovery」を参照してください。

次の例は、tag-resource を使用する方法を説明しています。

AWS CLI

サービスレベルの目標など、指定された CloudWatch リソースに 1 つ以上のタグ (キーと値のペア) を割り当てるには

次の のtag-resource例では、サービスレベルの目標など、指定された CloudWatch リソースに 1 つ以上のタグ (キーと値のペア) を割り当てます。

aws application-signals tag-resource \ --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" \ --tags '{"Key":"test","Value":"value"}'

このコマンドでは何も出力されません。

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「TagResource」を参照してください。

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

指定したリソースから 1 つ以上のタグを削除するには

次の のuntag-resource例では、指定されたリソースから 1 つ以上のタグを削除します。

aws application-signals untag-resource \ --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" \ --tag-keys "test"

このコマンドでは何も出力されません。

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次の例は、update-service-level-objective を使用する方法を説明しています。

AWS CLI

既存のサービスレベル目標 (SLO) を更新するには

次の のupdate-service-level-objective例では、既存のサービスレベル目標 (SLO) を更新します。

aws application-signals update-service-level-objective \ --cli-input-json file://update-slo.json

update-slo.json の内容:

{ "id": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 90.0, "WarningThreshold": 50.0 } }

出力:

{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-24T22:19:18.624000+05:30", "LastUpdatedTime": "2024-12-27T08:51:38.278000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-00987654345222" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 90.0, "WarningThreshold": 50.0 } } }

詳細については、Amazon CloudWatch ユーザーガイド」の「Application Signals」を参照してください。

  • API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateServiceLevelObjective」を参照してください。