CloudWatch 使用網路監控範例 AWS CLI - AWS Command Line Interface

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

CloudWatch 使用網路監控範例 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 與 CloudWatch 網路監控搭配使用來執行動作和實作常見案例。

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

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

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

主題

動作

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

AWS CLI

範例 1:建立具有聚總期間的網路監視器

下列create-monitor範例會建立名為 Example_NetworkMonitor30秒」的aggregationPeriod監視器。監視器state的初始值將是INACTIVE因為沒有與之相關聯的探查。只有在加入探測時,狀態ACTIVE才會變更為。您可以使用更新監視器或創建探查命令將探查添加到此監視器。

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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

下列create-monitor範例會建立名為的監視器Example_NetworkMonitor。此指令也會建立一個使用ICMP通訊協定並包含標籤的探查。由於在請求中傳遞 noaggregationPeriod,因此將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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

範例 3:使用 ICMP 建立具有探查的網路監視器,同時也包含標籤

下列create-monitor範例會建立一個以30秒為命名Example_NetworkMonitoraggregationPeriod的監視器。此指令也會建立一個使用ICMP通訊協定並包含標籤的探查。由於在請求中傳遞 noaggregationPeriod,因此將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 使用者指南中的 Amazon 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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

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

AWS CLI

若要刪除監視器

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

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 Amazon 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 使用者指南中的 Amazon 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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

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

AWS CLI

檢視探測詳細資料

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

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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

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

AWS CLI

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

下列list-monitors範例只會傳回單一監視器的清單。顯示器stateACTIVE,它有一aggregationPeriod個 60 秒。

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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

下列list-monitors範例會傳回三個監視器的清單。一state個監視器是ACTIVE並生成 CloudWatch 指標。其他兩個監視器的狀態不INACTIVE會產生 CloudWatch 指標。所有三台顯示器aggregationPeriod都使用 60 秒。

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 使用者指南中的 Amazon 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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

AWS CLI

若要標記資源

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

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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

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

AWS CLI

若要取消標記資源

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

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 Amazon 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 使用者指南中的 Amazon 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 使用者指南中的 Amazon CloudWatch 網路監視器如何運作

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