使用 AWS CLI 的 CloudWatch Observability Access Monitor 範例 - AWS Command Line Interface

使用 AWS CLI 的 CloudWatch Observability Access Monitor 範例

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 CloudWatch Observability Access Monitor 來執行動作,並實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始程式碼的連結,您可在連結中找到如何在內容中設定和執行程式碼的相關指示。

主題

動作

以下程式碼範例顯示如何使用 create-link

AWS CLI

建立連結

下列 create-link 範例在來源帳戶與您在監控帳戶中建立的接收器之間,建立連結。

aws oam create-link \ --label-template sourceAccount \ --resource-types AWS::CloudWatch::Metric \ --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

輸出:

{ "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Label": "sourceAccount", "LabelTemplate": "sourceAccount", "ResourceTypes": [ "AWS::CloudWatch::Metric" ], "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "Tags": {} }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateLink

以下程式碼範例顯示如何使用 create-sink

AWS CLI

建立接收器

下列 create-sink 範例在目前帳戶中建立接收器,以用作 CloudWatch 跨帳戶可觀測性的監控帳戶。

aws oam create-sink \ --name DemoSink

輸出:

{ "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "Id": "a1b2c3d4-5678-90ab-cdef-example12345", "Name": "DemoSink", "Tags": {} }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateSink

以下程式碼範例顯示如何使用 delete-link

AWS CLI

刪除連結

下列 delete-link 範例刪除監控帳戶接收器和來源帳戶之間的連結。

aws oam delete-link \ --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteLink

以下程式碼範例顯示如何使用 delete-sink

AWS CLI

刪除接收器

下列 delete-sink 範例刪除接收器。您必須先刪除接收器的所有連結,才能刪除該接收器。

aws oam delete-sink \ --identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteSink

以下程式碼範例顯示如何使用 get-link

AWS CLI

傳回一個連結的完整資訊

以下 get-link 範例傳回有關連結的完整資訊。

aws oam get-link \ --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111

輸出:

{ "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Label": "sourceAccount", "LabelTemplate": "sourceAccount", "ResourceTypes": [ "AWS::CloudWatch::Metric" ], "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "Tags": {} }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetLink

以下程式碼範例顯示如何使用 get-sink-policy

AWS CLI

傳回連接到接收器的目前接收器政策

下列 get-sink-policy 範例傳回連接到接收器的目前接收器政策。

aws oam get-sink-policy \ --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

輸出:

{ "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "SinkId": "a1b2c3d4-5678-90ab-cdef-example12345", "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789111:root\"},\"Action\":[\"oam:CreateLink\",\"oam:UpdateLink\"],\"Resource\":\"*\",\"Condition\":{\"ForAllValues:StringEquals\":{\"oam:ResourceTypes\":[\"AWS::Logs::LogGroup\",\"AWS::CloudWatch::Metric\",\"AWS::XRay::Trace\",\"AWS::ApplicationInsights::Application\"]}}}]}" }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetSinkPolicy

以下程式碼範例顯示如何使用 get-sink

AWS CLI

傳回有關一個監控帳戶接收器的完整訊息

下列 get-sink 範例傳回有關監控帳戶接收器的完整訊息。

aws oam get-sink \ --identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

輸出:

{ "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "Id": "a1b2c3d4-5678-90ab-cdef-example12345", "Name": "DemoSink", "Tags": {} }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetSink

以下程式碼範例顯示如何使用 list-attached-links

AWS CLI

傳回連結至此監控帳戶接收器的來源帳戶連結清單

下列 list-attached-links 範例傳回連結至此監控帳戶接收器的來源帳戶連結清單。

aws oam list-attached-links \ --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

輸出:

{ "Items": [{ "Label": "Monitoring account", "LinkArn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", "ResourceTypes": [ "AWS::ApplicationInsights::Application", "AWS::Logs::LogGroup", "AWS::CloudWatch::Metric", "AWS::XRay::Trace" ] }] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListAttachedLinks

以下程式碼範例顯示如何使用 list-links

AWS CLI

傳回一個監控帳戶接收器的連結清單

下列 list-links 範例傳回一個監控帳戶接收器的連結清單。在來源帳戶中執行此操作,以傳回此來源帳戶具有的監控帳戶接收器的連結清單。

aws oam list-links

輸出:

{ "Items": [{ "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Label": "sourceAccount", "ResourceTypes": [ "AWS::CloudWatch::Metric" ], "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345" }] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListLinks

以下程式碼範例顯示如何使用 list-sinks

AWS CLI

傳回在監控帳戶中建立的接收器清單

下列 list-sinks 範例傳回監控帳戶中建立的接收器清單。在監控帳戶中執行此操作。

aws oam list-sinks

輸出:

{ "Items": [ { "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "Id": "a1b2c3d4-5678-90ab-cdef-example12345", "Name": "DemoSink" } ] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListSinks

以下程式碼範例顯示如何使用 list-tags-for-resource

AWS CLI

顯示與資源相關聯的標籤

下列 list-tags-for-resource 範例顯示與接收器相關聯的標籤。

aws oam list-tags-for-resource \ --resource-arn arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

輸出:

{ "Tags": { "Team": "Devops" } }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

以下程式碼範例顯示如何使用 put-sink-policy

AWS CLI

建立或更新資源政策

下列 put-sink-policy 範例建立的資源政策授權給來源帳戶,讓其連結至監控帳戶接收器。

aws oam put-sink-policy \ --policy '{"Version":"2012-10-17", "Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789111:root"},"Action":["oam:CreateLink","oam:UpdateLink"],"Resource":"*","Condition":{"ForAllValues:StringEquals":{"oam:ResourceTypes":["AWS::Logs::LogGroup","AWS::CloudWatch::Metric","AWS::XRay::Trace","AWS::ApplicationInsights::Application"]}}}]}' \ --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

輸出:

{ "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "SinkId": "a1b2c3d4-5678-90ab-cdef-example12345", "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789111:root\"},\"Action\":[\"oam:CreateLink\",\"oam:UpdateLink\"],\"Resource\":\"*\",\"Condition\":{\"ForAllValues:StringEquals\":{\"oam:ResourceTypes\":[\"AWS::Logs::LogGroup\",\"AWS::CloudWatch::Metric\",\"AWS::XRay::Trace\",\"AWS::ApplicationInsights::Application\"]}}}]}" }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutSinkPolicy

以下程式碼範例顯示如何使用 tag-resource

AWS CLI

將一或多個標籤指派給指定的資源

下列 tag-resource 範例標記接收器 arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345

aws oam tag-resource \ --resource-arn arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 \ --tags team=Devops

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource

以下程式碼範例顯示如何使用 untag-resource

AWS CLI

從指定的資源移除一或多個標籤。

下列 untag-resource 範例從接收器 arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 移除具有索引鍵 team 的標籤。

aws oam untag-resource \ --resource-arn arn:aws:oam:us-east-2:123456789012:sink/f3f42f60-f0f2-425c-1234-12347bdd821f \ --tag-keys team

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource

以下程式碼範例顯示如何使用 update-link

AWS CLI

將來源帳戶共用的資料類型,變更為其連結的監控帳戶接收器

下列 update-link 範例使用資源類型 AWS::CloudWatch::MetricAWS::Logs::LogGroup 更新連結 arn:aws:oam:us-east-2:123456789111:link/0123e691-e7ef-43fa-1234-c57c837fced0

aws oam update-link \ --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111 \ --resource-types "AWS::CloudWatch::Metric" "AWS::Logs::LogGroup"

輸出:

{ "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Label": "sourceAccount", "LabelTemplate": "sourceAccount", "ResourceTypes": [ "AWS::CloudWatch::Metric", "AWS::Logs::LogGroup" ], "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", "Tags": {} }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 CloudWatch 跨帳戶可觀測性

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateLink