使用 AWS CLI 的 CloudWatch Network Monitoring 範例
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 CloudWatch Network Monitoring 來執行動作,並實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例均包含完整原始程式碼的連結,您可在連結中找到如何在內容中設定和執行程式碼的相關指示。
主題
動作
以下程式碼範例顯示如何使用 create-monitor。
- AWS CLI
-
範例 1:使用彙總期間建立網路監視器
下列
create-monitor範例會建立名為Example_NetworkMonitor的監視器,並將aggregationPeriod設定為30秒。監視器的初始state將是INACTIVE,因為沒有與其相關聯的探查。只有在新增探查時,狀態才會變更為ACTIVE。您可以使用 update-monitor 或 create-probe 命令,將探查新增至此監視器。aws networkmonitor create-monitor \ --monitor-nameExample_NetworkMonitor\ --aggregation-period30輸出:
{ "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通訊協定並包含標籤的探查。由於請求中未傳遞任何aggregationPeriod,因此將60秒設定為預設值。具有探查的監視器的state,直到監視器是ACTIVE之前都是PENDING。這可能需要幾分鐘時間,此時state會變更為ACTIVE,而且您可以開始檢視 CloudWatch 指標。aws networkmonitor create-monitor \ --monitor-nameExample_NetworkMonitor\ --probessourceArn=arn:aws:ec2:region:111122223333:subnet/subnet-id,destination=10.0.0.100,destinationPort=80,protocol=TCP,packetSize=56,probeTags={Name=Probe1}\ --tagsMonitor=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範例會建立名為Example_NetworkMonitor的監視器,其中aggregationPeriod為30秒。命令也會建立一個使用ICMP通訊協定並包含標籤的探查。由於請求中未傳遞任何aggregationPeriod,因此將60秒設定為預設值。具有探查的監視器的state,直到監視器是ACTIVE之前都是PENDING。這可能需要幾分鐘時間,此時state會變更為ACTIVE,而且您可以開始檢視 CloudWatch 指標。aws networkmonitor create-monitor \ --monitor-nameExample_NetworkMonitor\ --aggregation-period30\ --probessourceArn=arn:aws:ec2:region111122223333:subnet/subnet-id,destination=10.0.0.100,protocol=ICMP,packetSize=56,probeTags={Name=Probe1}\ --tagsMonitor=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直到監視器是ACTIVE之前,都是PENDING。這可能需要幾分鐘時間,此時 state 會變更為ACTIVE,而且您可以開始檢視 CloudWatch 指標。aws networkmonitor create-probe \ --monitor-nameExample_NetworkMonitor\ --probesourceArn=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直到監視器是ACTIVE之前,都是PENDING。這可能需要幾分鐘時間,此時 state 會變更為ACTIVE,而且您可以開始檢視 CloudWatch 指標。aws networkmonitor create-probe \ --monitor-nameExample_NetworkMonitor\ --probesourceArn=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-nameExample_NetworkMonitor此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 網路監視器如何運作。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteMonitor
。
-
以下程式碼範例顯示如何使用 delete-probe。
- AWS CLI
-
刪除探查
下列
delete-probe範例會從名為Example_NetworkMonitor的網路監視器中刪除 ID 為probe-12345的探查。aws networkmonitor delete-probe \ --monitor-nameExample_NetworkMonitor\ --probe-idprobe-12345此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 網路監視器如何運作。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteProbe
。
-
以下程式碼範例顯示如何使用 get-monitor。
- AWS CLI
-
取得監視器資訊
下列
get-monitor範例取得名為Example_NetworkMonitor的監視器相關資訊。aws networkmonitor get-monitor \ --monitor-nameExample_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_NetworkMonitor之監視器相關聯的probeIDprobe-12345的探查詳細資訊。aws networkmonitor get-probe \ --monitor-nameExample_NetworkMonitor\ --probe-idprobe-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範例只會傳回單一監視器的清單。監視器的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 使用者指南》中的 Amazon CloudWatch 網路監視器如何運作。
範例 2:列出所有監視器 (多個監視器)
下列
list-monitors範例會傳回三個監視器的清單。一個監視器的state是ACTIVE,並且產生 CloudWatch 指標。其他兩個監視器的狀態為INACTIVE,而不是產生 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 使用者指南》中的 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-arnarn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor輸出:
{ "tags": { "Environment": "Dev", "Application": "PetStore" } }如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 網路監視器如何運作。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListTagsForResource
。
-
以下程式碼範例顯示如何使用 tag-resource。
- AWS CLI
-
標記資源
下列
tag-resource範例標記名為Example_NetworkMonitor且具有Environment=Dev和Application=PetStore標籤的監視器。aws networkmonitor tag-resource \ --resource-arnarn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor\ --tagsEnvironment=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-arnarn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor\ --tag-keysEnvironmentApplication此命令不會產生輸出。
如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 網路監視器如何運作。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource
。
-
以下程式碼範例顯示如何使用 update-monitor。
- AWS CLI
-
更新監視器
下列
update-monitor範例將監視器的aggregationPeriod從60秒變更為30秒。aws networkmonitor update-monitor \ --monitor-nameExample_NetworkMonitor\ --aggregation-period30輸出:
{ "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範例更新探查的原始destinationIP 位址,並將packetSize更新為60。aws networkmonitor update-probe \ --monitor-nameExample_NetworkMonitor\ --probe-idprobe-12345\ --destination10.0.0.150\ --packet-size60輸出:
{ "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
。
-