使用 的 CloudWatch Network Monitoring 範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 CloudWatch Network Monitoring 範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface with CloudWatch Network Monitoring 來執行動作和實作常見案例。

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

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

主題

動作

下列程式碼範例示範如何使用 create-monitor

AWS CLI

範例 1:使用彙總期間建立網路監視器

下列create-monitor範例會建立名為 Example_NetworkMonitor的監視器,並將 aggregationPeriod 設定為 30 秒。監視器state的初始 將是 ,INACTIVE因為沒有與其相關聯的探查。ACTIVE 只有在新增探查時,狀態才會變更為 。您可以使用 update-monitorcreate-probe 命令,將探查新增至此監視器。

aws networkmonitor create-monitor \ --monitor-name Example_NetworkMonitor \ --aggregation-period 30

輸出:

{ "monitorArn": "arn:aws:networkmonitor:region:111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "INACTIVE", "aggregationPeriod": 30, "tags": {} }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

範例 2:使用 TCP 建立具有探查的網路監視器,並包含標籤

下列create-monitor範例會建立名為 的監視器Example_NetworkMonitor。命令也會建立一個使用ICMP通訊協定並包含標籤的探查。由於請求中aggregationPeriod未傳遞任何 ,60因此秒會設定為預設值。具有探查的監視器state的 將是 ,PENDING直到監視器是 為止ACTIVE。這可能需要幾分鐘的時間,此時 state會變更為 ACTIVE,而且您可以開始檢視 CloudWatch 指標。

aws networkmonitor create-monitor \ --monitor-name Example_NetworkMonitor \ --probes sourceArn=arn:aws:ec2:region:111122223333:subnet/subnet-id,destination=10.0.0.100,destinationPort=80,protocol=TCP,packetSize=56,probeTags={Name=Probe1} \ --tags Monitor=Monitor1

輸出:

{ "monitorArn": "arn:aws:networkmonitor:region111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "PENDING", "aggregationPeriod": 60, "tags": { "Monitor": "Monitor1" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

範例 3:使用 ICMP 使用探查建立網路監視器,並包含標籤

下列create-monitor範例會建立名為 aggregationPeriod的監視器,Example_NetworkMonitor名稱為 秒的 30。命令也會建立使用ICMP通訊協定並包含標籤的探查。由於請求中aggregationPeriod未傳遞任何 ,因此60秒會設定為預設值。具有 探查的監視器state的 將是 ,PENDING直到監視器是 為止ACTIVE。這可能需要幾分鐘的時間,此時 state會變更為 ACTIVE,而且您可以開始檢視 CloudWatch 指標。

aws networkmonitor create-monitor \ --monitor-name Example_NetworkMonitor \ --aggregation-period 30 \ --probes sourceArn=arn:aws:ec2:region111122223333:subnet/subnet-id,destination=10.0.0.100,protocol=ICMP,packetSize=56,probeTags={Name=Probe1} \ --tags Monitor=Monitor1

輸出:

{ "monitorArn": "arn:aws:networkmonitor:region:111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "PENDING", "aggregationPeriod": 30, "tags": { "Monitor": "Monitor1" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 create-probe

AWS CLI

範例 1:建立使用 TCP 的探查並將其新增至網路監視器

下列create-probe範例會建立使用 的探查,TCPprotocol並將探查新增至名為 的監視器Example_NetworkMonitor。建立後,具有探查的監視器state的 將PENDING一直持續到監視器為 為止ACTIVE。這可能需要幾分鐘的時間,此時狀態會變更為 ACTIVE,而且您可以開始檢視 CloudWatch 指標。

aws networkmonitor create-probe \ --monitor-name Example_NetworkMonitor \ --probe sourceArn=arn:aws:ec2:region:111122223333:subnet/subnet-id,destination=10.0.0.100,destinationPort=80,protocol=TCP,packetSize=56,tags={Name=Probe1}

輸出:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:111122223333:probe/probe-12345", "destination": "10.0.0.100", "destinationPort": 80, "packetSize": 56, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "PENDING", "createdAt": "2024-03-29T12:41:57.314000-04:00", "modifiedAt": "2024-03-29T12:41:57.314000-04:00", "tags": { "Name": "Probe1" } }

範例 2:使用 ICMP 建立使用探查並將其新增至網路監視器的探查

下列create-probe範例會建立使用 的探查,ICMPprotocol並將探查新增至名為 的監視器Example_NetworkMonitor。建立後,具有探查的監視器state的 將PENDING一直持續到監視器為 為止ACTIVE。這可能需要幾分鐘的時間,此時狀態會變更為 ACTIVE,而且您可以開始檢視 CloudWatch 指標。

aws networkmonitor create-probe \ --monitor-name Example_NetworkMonitor \ --probe sourceArn=arn:aws:ec2:region:012345678910:subnet/subnet-id,destination=10.0.0.100,protocol=ICMP,packetSize=56,tags={Name=Probe1}

輸出:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:111122223333:probe/probe-12345", "destination": "10.0.0.100", "packetSize": 56, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "PENDING", "createdAt": "2024-03-29T12:44:02.452000-04:00", "modifiedAt": "2024-03-29T12:44:02.452000-04:00", "tags": { "Name": "Probe1" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 delete-monitor

AWS CLI

若要刪除監視器

下列delete-monitor範例會刪除名為 的監視器Example_NetworkMonitor

aws networkmonitor delete-monitor \ --monitor-name Example_NetworkMonitor

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 delete-probe

AWS CLI

若要刪除探查

下列delete-probe範例probe-12345會從名為 的網路監視器中刪除 ID 為 的探查Example_NetworkMonitor

aws networkmonitor delete-probe \ --monitor-name Example_NetworkMonitor \ --probe-id probe-12345

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 get-monitor

AWS CLI

若要取得監視器資訊

下列get-monitor範例取得名為 的監視器相關資訊Example_NetworkMonitor

aws networkmonitor get-monitor \ --monitor-name Example_NetworkMonitor

輸出:

{ "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "ACTIVE", "aggregationPeriod": 60, "tags": {}, "probes": [], "createdAt": "2024-04-01T17:58:07.211000-04:00", "modifiedAt": "2024-04-01T17:58:07.211000-04:00" }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 get-probe

AWS CLI

檢視探查詳細資訊

下列get-probe範例會傳回與名為 的監視器probeIDprobe-12345相關聯的 探查的詳細資訊Example_NetworkMonitor

aws networkmonitor get-probe \ --monitor-name Example_NetworkMonitor \ --probe-id probe-12345

輸出:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:012345678910:probe/probe-12345", "sourceArn": "arn:aws:ec2:region:012345678910:subnet/subnet-12345", "destination": "10.0.0.100", "destinationPort": 80, "protocol": "TCP", "packetSize": 56, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "ACTIVE", "createdAt": "2024-03-29T12:41:57.314000-04:00", "modifiedAt": "2024-03-29T12:42:28.610000-04:00", "tags": { "Name": "Probe1" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 list-monitors

AWS CLI

範例 1:列出所有監視器 (單一監視器)

下列list-monitors範例只會傳回單一監視器的清單。監視器的 state 是 ,ACTIVE且其具有 60 秒aggregationPeriod的 。

aws networkmonitor list-monitors

輸出:

{ "monitors": [{ "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "ACTIVE", "aggregationPeriod": 60, "tags": { "Monitor": "Monitor1" } } ] }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

範例 2:列出所有監視器 (多個監視器)

下列list-monitors範例會傳回三個監視器的清單。一個監視器state的 是 ACTIVE和 generating CloudWatch 指標。其他兩個監視器的狀態為 INACTIVE,而不是 generating CloudWatch 指標。所有三個監視器都使用 60 秒aggregationPeriod的 。

aws networkmonitor list-monitors

輸出:

{ "monitors": [ { "monitorArn": "arn:aws:networkmonitor:us-east-1:111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "INACTIVE", "aggregationPeriod": 60, "tags": {} }, { "monitorArn": "arn:aws:networkmonitor:us-east-1:111122223333:monitor/Example_NetworkMonitor2", "monitorName": "Example_NetworkMonitor2", "state": "ACTIVE", "aggregationPeriod": 60, "tags": { "Monitor": "Monitor1" } }, { "monitorArn": "arn:aws:networkmonitor:us-east-1:111122223333:monitor/TestNetworkMonitor_CLI", "monitorName": "TestNetworkMonitor_CLI", "state": "INACTIVE", "aggregationPeriod": 60, "tags": {} } ] }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

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

AWS CLI

列出資源的標籤

下列list-tags-for-resource範例會傳回名為 之監視器的標籤清單Example_NetworkMonitor

aws networkmonitor list-tags-for-resource \ --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor

輸出:

{ "tags": { "Environment": "Dev", "Application": "PetStore" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

AWS CLI

標記資源

下列tag-resource範例會使用 Environment=Dev和 標籤Application=PetStore來標記名為 Example_NetworkMonitor的監視器。

aws networkmonitor tag-resource \ --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \ --tags Environment=Dev,Application=PetStore

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

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

AWS CLI

若要取消標記資源

下列untag-resource範例會從Environment Application其與名為 的監視器的關聯中移除具有 鍵值對的 tag-keys 參數Example_NetworkMonitor

aws networkmonitor untag-resource \ --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \ --tag-keys Environment Application

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 update-monitor

AWS CLI

若要更新監視器

下列update-monitor範例會將監視器的 aggregationPeriod60 秒變更為 30 秒。

aws networkmonitor update-monitor \ --monitor-name Example_NetworkMonitor \ --aggregation-period 30

輸出:

{ "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "PENDING", "aggregationPeriod": 30, "tags": { "Monitor": "Monitor1" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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

下列程式碼範例示範如何使用 update-probe

AWS CLI

若要更新探查

下列update-probe範例會更新探查的原始 destination IP 地址,並將 更新packetSize60

aws networkmonitor update-probe \ --monitor-name Example_NetworkMonitor \ --probe-id probe-12345 \ --destination 10.0.0.150 \ --packet-size 60

輸出:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:012345678910:probe/probe-12345", "sourceArn": "arn:aws:ec2:region:012345678910:subnet/subnet-12345", "destination": "10.0.0.150", "destinationPort": 80, "protocol": "TCP", "packetSize": 60, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "PENDING", "createdAt": "2024-03-29T12:41:57.314000-04:00", "modifiedAt": "2024-03-29T13:52:23.115000-04:00", "tags": { "Name": "Probe1" } }

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 AmazonWord Network Monitor 如何運作 CloudWatch

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