将 CLI 与网络流量监测仪结合使用的示例 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 CLI 与网络流量监测仪结合使用的示例

本节包括将 Amazon Command Line Interface 与网络流量监测仪操作结合使用的示例。

开始之前,请确保您通过 Amazon 账户登录以使用 Amazon CLI,该账户可提供您想要用于监控网络流量的范围。有关将 API 操作与网络流量监测仪结合使用的更多信息,请参阅 Network Flow Monitor API Reference Guide

创建监视器

要使用 Amazon CLI 创建监测仪,请使用 create-monitor 命令。以下示例在指定账户中创建了名为 demo 的监测仪。

aws networkflowmonitor create-monitor \ --monitor-name demo \ --local-resources type="AWS::EC2::VPC",identifier="arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \ --scope-arn arn:aws:networkflowmonitor:us-east-1:111122223333:scope/sample-aaaa-bbbb-cccc-44556677889

输出:

{ "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/demo", "monitorName": "demo", "monitorStatus": "ACTIVE", "tags": {} }

有关更多信息,请参阅 在 Network Flow Monitor 中创建监测仪

查看显示器详细信息

要使用 Amazon CLI 查看有关监测仪的信息,请使用 get-monitor 命令。

aws networkflowmonitor get-monitor --monitor-name "TestMonitor"

输出:

{ "ClientLocationType": "city", "CreatedAt": "2022-09-22T19:27:47Z", "ModifiedAt": "2022-09-22T19:28:30Z", "MonitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/TestMonitor", "MonitorName": "TestMonitor", "ProcessingStatus": "OK", "ProcessingStatusInfo": "The monitor is actively processing data", "Resources": [ "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" ], "MaxCityNetworksToMonitor": 10000, "Status": "ACTIVE" }

创建范围

以下 create-scope 示例创建了一个范围,该范围是一组资源,网络流量监测仪将为这些资源生成网络流量指标。

aws networkflowmonitor create-scope \ --targets '[{"targetIdentifier":{"targetId":{"accountId":"111122223333"},"targetType":"ACCOUNT"},"region":"us-east-1"}]'

输出:

{ "scopeId": "sample-aaaa-bbbb-cccc-11112222333", "status": "IN_PROGRESS", "tags": {} }

有关更多信息,请参阅 Network Flow Monitor 的组件和功能

删除监测仪

以下 delete-monitor 示例从您的账户中删除了名为 Demo 的监测仪。

aws networkflowmonitor delete-monitor \ --monitor-name Demo

此命令不生成任何输出。

有关更多信息,请参阅 在 Network Flow Monitor 中删除监测仪

删除范围

以下 delete-scope 示例删除了指定的范围。

aws networkflowmonitor delete-scope \ --scope-id sample-aaaa-bbbb-cccc-44556677889

此命令不生成任何输出。

有关更多信息,请参阅 Network Flow Monitor 的组件和功能

获取有关监测仪的信息

以下 get-monitor 示例显示有关指定账户中名为 demo 的监测仪的信息。

aws networkflowmonitor get-monitor \ --monitor-name Demo

输出:

{ "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo", "monitorName": "Demo", "monitorStatus": "ACTIVE", "localResources": [ { "type": "AWS::EC2::VPC", "identifier": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" } ], "remoteResources": [], "createdAt": "2024-12-09T12:21:51.616000-06:00", "modifiedAt": "2024-12-09T12:21:55.412000-06:00", "tags": {} }

有关更多信息,请参阅 Network Flow Monitor 的组件和功能

检索特定查询的数据

以下部分提供了用于检索查询状态的示例 CLI 命令。

get-query-results-workload-insights-top-contributors-data

以下 get-query-results-workload-insights-top-contributors-data 示例返回了指定查询的数据。

aws networkflowmonitor get-query-results-workload-insights-top-contributors-data \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --query-id sample-dddd-eeee-ffff-44556677889

输出:

{ "datapoints": [ { "timestamps": [ "2024-12-09T19:00:00+00:00", "2024-12-09T19:05:00+00:00", "2024-12-09T19:10:00+00:00" ], "values": [ 259943.0, 194856.0, 216432.0 ], "label": "use1-az6" } ], "unit": "Bytes" }

get-query-results-workload-insights-top-contributors

以下 get-query-results-workload-insights-top-contributors 示例返回指定查询的数据。

aws networkflowmonitor get-query-results-workload-insights-top-contributors \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --query-id sample-dddd-eeee-ffff-44556677889

输出:

{ "topContributors": [ { "accountId": "111122223333", "localSubnetId": "subnet-SAMPLE1111", "localAz": "use1-az6", "localVpcId": "vpc-SAMPLE2222", "localRegion": "us-east-1", "remoteIdentifier": "", "value": 333333, "localSubnetArn": "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-2222444455556666", "localVpcArn": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" } ] }

get-query-status-monitor-top-contributors

以下 get-query-status-monitor-top-contributors 示例显示指定账户中查询的当前状态。

aws networkflowmonitor get-query-status-monitor-top-contributors \ --monitor-name Demo \ --query-id sample-dddd-eeee-ffff-44556677889

输出:

{ "status": "SUCCEEDED" }

get-query-status-workload-insights-top-contributors-data

以下 get-query-status-workload-insights-top-contributors-data 示例显示指定账户中查询的当前状态。

aws networkflowmonitor get-query-status-workload-insights-top-contributors-data \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --query-id sample-dddd-eeee-ffff-44556677889

输出:

{ "status": "SUCCEEDED" }

get-query-results-workload-insights-top-contributors

以下 get-query-results-workload-insights-top-contributors 示例显示指定账户中查询的当前状态。

aws networkflowmonitor get-query-status-workload-insights-top-contributors \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --query-id sample-dddd-eeee-ffff-44556677889

输出:

{ "status": "SUCCEEDED" }

有关更多信息,请参阅 利用工作负载见解评估网络流

查看范围信息

以下 get-scope 示例显示了有关范围的信息,例如状态、标签、名称和目标详细信息等。

aws networkflowmonitor get-scope \ --scope-id sample-aaaa-bbbb-cccc-11112222333

输出:

{ "scopeId": "sample-aaaa-bbbb-cccc-11112222333", "status": "SUCCEEDED", "scopeArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:scope/sample-aaaa-bbbb-cccc-11112222333", "targets": [ { "targetIdentifier": { "targetId": { "accountId": "111122223333" }, "targetType": "ACCOUNT" }, "region": "us-east-1" } ], "tags": {} }

有关更多信息,请参阅 Network Flow Monitor 的组件和功能

查看账户的监测仪列表

以下 list-monitors 示例返回了指定账户中的所有监测仪。

aws networkflowmonitor list-monitors

输出:

{ "monitors": [ { "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo", "monitorName": "Demo", "monitorStatus": "ACTIVE" } ] }

有关更多信息,请参阅 Network Flow Monitor 的组件和功能

查看账户的范围列表

以下 list-scopes 示例列出了指定账户中的所有范围。

aws networkflowmonitor list-scopes

输出:

{ "scopes": [ { "scopeId": "sample-aaaa-bbbb-cccc-11112222333", "status": "SUCCEEDED", "scopeArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:scope/sample-aaaa-bbbb-cccc-11112222333" } ] }

有关更多信息,请参阅 Network Flow Monitor 的组件和功能

查看监测仪的标签列表

以下 list-tags-for-resource 示例返回所有与指定资源关联的标签。

aws networkflowmonitor list-tags-for-resource \ --resource-arn arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo

输出:

{ "tags": { "Value": "Production", "Key": "stack" } }

有关更多信息,请参阅 标记 Amazon CloudWatch 资源

启动和停止查询

以下部分提供了用于在网络流量监测仪中启动和停止查询的示例 CLI 命令。

start-query-monitor-top-contributors

以下 start-query-monitor-top-contributors 示例启动了查询,该查询返回查询 ID 以检索排名靠前的贡献者。

aws networkflowmonitor start-query-monitor-top-contributors \ --monitor-name Demo \ --start-time 2024-12-09T19:00:00Z \ --end-time 2024-12-09T19:15:00Z \ --metric-name DATA_TRANSFERRED \ --destination-category UNCLASSIFIED

输出:

{ "queryId": "sample-dddd-eeee-ffff-44556677889" }

有关更多信息,请参阅 利用工作负载见解评估网络流

start-query-workload-insights-top-contributors-data

以下 start-query-workload-insights-top-contributors-data 示例启动了查询,该查询返回查询 ID 以检索排名靠前的贡献者。

aws networkflowmonitor start-query-workload-insights-top-contributors-data \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --start-time 2024-12-09T19:00:00Z \ --end-time 2024-12-09T19:15:00Z \ --metric-name DATA_TRANSFERRED \ --destination-category UNCLASSIFIED

输出:

{ "queryId": "sample-dddd-eeee-ffff-44556677889" }

有关更多信息,请参阅 利用工作负载见解评估网络流

start-query-workload-insights-top-contributors

以下 start-query-workload-insights-top-contributors 示例启动了查询,该查询返回查询 ID 以检索排名靠前的贡献者。

aws networkflowmonitor start-query-workload-insights-top-contributors \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --start-time 2024-12-09T19:00:00Z \ --end-time 2024-12-09T19:15:00Z \ --metric-name DATA_TRANSFERRED \ --destination-category UNCLASSIFIED

输出:

{ "queryId": "sample-dddd-eeee-ffff-44556677889" }

有关更多信息,请参阅 利用工作负载见解评估网络流

stop-query-monitor-top-contributors

以下 stop-query-monitor-top-contributors 示例停止指定账户中的查询。

aws networkflowmonitor stop-query-monitor-top-contributors \ --monitor-name Demo \ --query-id sample-dddd-eeee-ffff-44556677889

此命令不生成任何输出。

有关更多信息,请参阅 利用工作负载见解评估网络流

stop-query-workload-insights-top-contributors-data

以下 stop-query-workload-insights-top-contributors-data 示例停止了指定账户中的查询。

aws networkflowmonitor stop-query-workload-insights-top-contributors-data \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --query-id sample-dddd-eeee-ffff-44556677889

此命令不生成任何输出。

有关更多信息,请参阅 利用工作负载见解评估网络流

stop-query-workload-insights-top-contributors

以下 stop-query-workload-insights-top-contributors 示例停止指定账户中的查询。

aws networkflowmonitor stop-query-workload-insights-top-contributors \ --scope-id sample-aaaa-bbbb-cccc-11112222333 \ --query-id sample-dddd-eeee-ffff-44556677889

此命令不生成任何输出。

有关更多信息,请参阅 利用工作负载见解评估网络流

标记监测仪

以下 tag-resource 示例向指定账户中的监测仪添加了标签。

aws networkflowmonitor tag-resource \ --resource-arn arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo \ --tags Key=stack,Value=Production

此命令不生成任何输出。

有关更多信息,请参阅 标记 Amazon CloudWatch 资源

从监测仪中移除标签

以下 untag-resource 示例移除了指定账户中监测仪的标签。

aws networkflowmonitor untag-resource \ --resource-arn arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo \ --tag-keys stack

此命令不生成任何输出。

有关更多信息,请参阅 标记 Amazon CloudWatch 资源

更新现有监测仪

以下 update-monitor 示例更新了指定账户中名为“Demo”的监测仪。

aws networkflowmonitor update-monitor \ --monitor-name Demo \ --local-resources-to-add type="AWS::EC2::VPC",identifier="arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"

输出:

{ "monitorArn": "arn:aws:networkflowmonitor:us-east-1:111122223333:monitor/Demo", "monitorName": "Demo", "monitorStatus": "ACTIVE", "tags": { "Value": "Production", "Key": "stack" } }

有关更多信息,请参阅 Network Flow Monitor 的组件和功能