CloudWatch 使用网络监控示例 AWS CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

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

CloudWatch 使用网络监控示例 AWS CLI

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

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

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

主题

操作

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

AWS 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 网络监控器的工作原理

以下代码示例演示如何使用 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" } }

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

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

AWS CLI

删除监视器

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

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

此命令不生成任何输出。

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

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

AWS CLI

删除探测器

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

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

此命令不生成任何输出。

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

以下代码示例演示如何使用 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" }

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

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

AWS 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 网络监控器的工作原理

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

AWS 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 网络监控器的工作原理

以下代码示例演示如何使用 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" } }

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

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

AWS 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 网络监控器的工作原理

以下代码示例演示如何使用 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-keys Environment Application

此命令不生成任何输出。

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

以下代码示例演示如何使用 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" } }

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

以下代码示例演示如何使用 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" } }

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