CloudWatch 使用网络监控示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CloudWatch 使用网络监控示例 Amazon CLI

以下代码示例向您展示了如何使用 CloudWatch 网络监控来执行操作和实现常见场景。 Amazon Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 create-monitor

Amazon CLI

示例 1:创建具有聚合周期的网络监视器

以下create-monitor示例创建了一个名为Example_NetworkMonitor30秒的aggregationPeriod监视器。监视state器的初始值将是INACTIVE由于没有与之关联的探测器。ACTIVE只有在添加探测器后,状态才会更改为。您可以使用 update-monitor 或 create-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": {} }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

示例 3:使用 ICMP 创建带有探测器的网络监视器,还包括标签

以下create-monitor示例创建了一个名为Example_NetworkMonitor30aggregationPeriod的监视器。该命令还会创建一个使用该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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateMonitor中的。

以下代码示例演示如何使用 create-probe

Amazon 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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateProbe中的。

以下代码示例演示如何使用 delete-monitor

Amazon CLI

删除显示器

以下delete-monitor示例删除名为的监视器Example_NetworkMonitor

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

此命令不生成任何输出。

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteMonitor中的。

以下代码示例演示如何使用 delete-probe

Amazon CLI

删除探测器

以下delete-probe示例probe-12345从名为的网络监视器中删除 ID 为的探测器Example_NetworkMonitor

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

此命令不生成任何输出。

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteProbe中的。

以下代码示例演示如何使用 get-monitor

Amazon 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" }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetMonitor中的。

以下代码示例演示如何使用 get-probe

Amazon 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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetProbe中的。

以下代码示例演示如何使用 list-monitors

Amazon CLI

示例 1:列出所有显示器(单个显示器)

以下list-monitors示例仅返回一个显示器的列表。显示器stateACTIVE,它有 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" } } ] }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 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": {} } ] }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListMonitors中的。

以下代码示例演示如何使用 list-tags-for-resource

Amazon 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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

以下代码示例演示如何使用 tag-resource

Amazon CLI

为资源添加标签

以下tag-resource示例Example_NetworkMonitor使用Environment=DevApplication=PetStore标签标记了名为的监视器。

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

此命令不生成任何输出。

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagResource中的。

以下代码示例演示如何使用 untag-resource

Amazon 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

此命令不生成任何输出。

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagResource中的。

以下代码示例演示如何使用 update-monitor

Amazon 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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateMonitor中的。

以下代码示例演示如何使用 update-probe

Amazon 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" } }

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的亚马逊 CloudWatch 网络监控器的工作原理

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateProbe中的。