使用 AWS CLI 的 CloudWatch 网络监控示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 CloudWatch 网络监控结合使用,来执行操作和实现常见场景。
操作 是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 create-monitor
。
- AWS CLI
-
示例 1:创建具有聚合周期的网络监测仪
以下
create-monitor
示例创建一个名为Example_NetworkMonitor
的监测仪,其中aggregationPeriod
设置为30
秒。该监测仪的初始state
将是INACTIVE
,因为没有探测器与之关联。只有在添加探测器后,状态才会变成ACTIVE
。您可以使用 update-monitor 或 create-probe 命令将探测器添加到此监测仪中。aws networkmonitor create-monitor \ --monitor-name
Example_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
将为PENDING
,直到监测仪为ACTIVE
。这可能需要几分钟,当state
变为ACTIVE
时,您就可以开始查看 CloudWatch 指标了。aws networkmonitor create-monitor \ --monitor-name
Example_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
将为PENDING
,直到监测仪为ACTIVE
。这可能需要几分钟,当state
变为ACTIVE
时,您就可以开始查看 CloudWatch 指标了。aws networkmonitor create-monitor \ --monitor-name
Example_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
示例创建一个使用TCP
protocol
的探测器并将该探测器添加到名为Example_NetworkMonitor
的监测仪中。创建后,带有探测器的监测仪的state
将为PENDING
,直到监测仪为ACTIVE
。这可能需要几分钟,当 state 变为ACTIVE
时,您就可以开始查看 CloudWatch 指标了。aws networkmonitor create-probe \ --monitor-name
Example_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
示例创建一个使用ICMP
protocol
的探测器并将该探测器添加到名为Example_NetworkMonitor
的监测仪中。创建后,带有探测器的监测仪的state
将为PENDING
,直到监测仪为ACTIVE
。这可能需要几分钟,当 state 变为ACTIVE
时,您就可以开始查看 CloudWatch 指标了。aws networkmonitor create-probe \ --monitor-name
Example_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-name
Example_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-name
Example_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-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_NetworkMonitor
的监测仪相关且probeID
为probe-12345
的探测器的详细信息。aws networkmonitor get-probe \ --monitor-name
Example_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
,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 网络状况监测仪的工作方式。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示了如何使用 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
\ --tagsEnvironment=Dev,Application=PetStore
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon 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-keysEnvironment
Application
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 网络状况监测仪的工作方式。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagResource
。
-
以下代码示例演示了如何使用 update-monitor
。
- AWS CLI
-
更新监测仪
以下
update-monitor
示例将监测仪的aggregationPeriod
从60
秒改为30
秒。aws networkmonitor update-monitor \ --monitor-name
Example_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
示例更新探测器的原始destination
IP 地址,并将packetSize
更新为60
。aws networkmonitor update-probe \ --monitor-name
Example_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
。
-