本文档仅适用于 Amazon CLI 版本 1。有关 Amazon CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 Amazon CLI 的 CloudWatch 网络监控示例
以下代码示例演示了如何通过将 Amazon Command Line Interface与 CloudWatch 网络监控结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 create-monitor。
- Amazon 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将为PENDING,直到监测仪为ACTIVE。这可能需要几分钟,当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将为PENDING,直到监测仪为ACTIVE。这可能需要几分钟,当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 详细信息,请参阅《Amazon CLI 命令参考》中的 CreateMonitor
。
-
以下代码示例演示了如何使用 create-probe。
- Amazon CLI
-
示例 1:创建使用 TCP 的探测器并将其添加到网络监测仪中
以下
create-probe示例创建一个使用TCPprotocol的探测器并将该探测器添加到名为Example_NetworkMonitor的监测仪中。创建后,带有探测器的监测仪的state将为PENDING,直到监测仪为ACTIVE。这可能需要几分钟,当 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将为PENDING,直到监测仪为ACTIVE。这可能需要几分钟,当 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 详细信息,请参阅《Amazon CLI 命令参考》中的 CreateProbe
。
-
以下代码示例演示了如何使用 delete-monitor。
- Amazon CLI
-
删除监测仪
以下
delete-monitor示例删除名为Example_NetworkMonitor的监测仪。aws networkmonitor delete-monitor \ --monitor-nameExample_NetworkMonitor此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 网络状况监测仪的工作方式。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 DeleteMonitor
。
-
以下代码示例演示了如何使用 delete-probe。
- Amazon CLI
-
删除探测器
以下
delete-probe示例从名为Example_NetworkMonitor的网络监测仪中删除 ID 为probe-12345的探测器。aws networkmonitor delete-probe \ --monitor-nameExample_NetworkMonitor\ --probe-idprobe-12345此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 网络状况监测仪的工作方式。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 DeleteProbe
。
-
以下代码示例演示了如何使用 get-monitor。
- Amazon 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 详细信息,请参阅《Amazon CLI 命令参考》中的 GetMonitor
。
-
以下代码示例演示了如何使用 get-probe。
- Amazon CLI
-
查看探测器的详细信息
以下
get-probe示例返回与名为Example_NetworkMonitor的监测仪相关且probeID为probe-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 详细信息,请参阅《Amazon CLI 命令参考》中的 GetProbe
。
-
以下代码示例演示了如何使用 list-monitors。
- Amazon 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 详细信息,请参阅《Amazon CLI 命令参考》中的 ListMonitors
。
-
以下代码示例演示了如何使用 list-tags-for-resource。
- Amazon 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 详细信息,请参阅《Amazon CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示了如何使用 tag-resource。
- Amazon CLI
-
标记资源
以下
tag-resource示例使用Environment=Dev和Application=PetStore标签标记名为Example_NetworkMonitor的监测仪。aws networkmonitor tag-resource \ --resource-arnarn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor\ --tagsEnvironment=Dev,Application=PetStore此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 网络状况监测仪的工作方式。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 TagResource
。
-
以下代码示例演示了如何使用 untag-resource。
- Amazon CLI
-
取消标记资源
以下
untag-resource示例将键-值对为Environment Application的tag-keys参数从它与名为Example_NetworkMonitor的监测仪的关联中移除。aws networkmonitor untag-resource \ --resource-arnarn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor\ --tag-keysEnvironmentApplication此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 网络状况监测仪的工作方式。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 UntagResource
。
-
以下代码示例演示了如何使用 update-monitor。
- Amazon 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 详细信息,请参阅《Amazon CLI 命令参考》中的 UpdateMonitor
。
-
以下代码示例演示了如何使用 update-probe。
- Amazon 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 详细信息,请参阅《Amazon CLI 命令参考》中的 UpdateProbe
。
-