

# 将 CLI 与网络流量监测仪结合使用的示例
<a name="CloudWatch-NFM-get-started-CLI"></a>

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

开始之前，请确保您通过 AWS 账户登录以使用 AWS CLI，该账户可提供您想要用于监控网络流量的范围。有关将 API 操作与网络流量监测仪结合使用的更多信息，请参阅 [Network Flow Monitor API Reference Guide](https://docs.aws.amazon.com/networkflowmonitor/2.0/APIReference/Welcome.html)。

**Topics**
+ [创建监视器](#CloudWatch-NFM-get-started-CLI-create-monitor)
+ [查看显示器详细信息](#CloudWatch-NFM-get-started-CLI-mon-details)
+ [创建范围](#CloudWatch-NFM-get-started-CLI-create-scope)
+ [删除监测仪](#CloudWatch-NFM-get-started-CLI-delete-monitor)
+ [删除范围](#CloudWatch-NFM-get-started-CLI-delete-scope)
+ [获取有关监测仪的信息](#CloudWatch-NFM-get-started-CLI-get-monitor)
+ [检索特定查询的数据](#CloudWatch-NFM-get-started-CLI-get-query-results)
+ [查看范围信息](#CloudWatch-NFM-get-scope)
+ [查看账户的监测仪列表](#CloudWatch-NFM-list-monitors)
+ [查看账户的范围列表](#CloudWatch-NFM-list-scopes)
+ [查看监测仪的标签列表](#CloudWatch-NFM-list-tags-for-resource)
+ [启动和停止查询](#CloudWatch-NFM-query-monitors)
+ [标记监测仪](#CloudWatch-NFM-tag-resource)
+ [从监测仪中移除标签](#CloudWatch-NFM-untag-resource)
+ [更新现有监测仪](#CloudWatch-NFM-update-monitor)

## 创建监视器
<a name="CloudWatch-NFM-get-started-CLI-create-monitor"></a>

要使用 AWS 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 中创建监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-create.md)。

## 查看显示器详细信息
<a name="CloudWatch-NFM-get-started-CLI-mon-details"></a>

要使用 AWS 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"
}
```

## 创建范围
<a name="CloudWatch-NFM-get-started-CLI-create-scope"></a>

以下 `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 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 删除监测仪
<a name="CloudWatch-NFM-get-started-CLI-delete-monitor"></a>

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

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

此命令不生成任何输出。

有关更多信息，请参阅 [在 Network Flow Monitor 中删除监测仪](CloudWatch-NetworkFlowMonitor-configure-monitors-delete.md)。

## 删除范围
<a name="CloudWatch-NFM-get-started-CLI-delete-scope"></a>

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

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

此命令不生成任何输出。

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 获取有关监测仪的信息
<a name="CloudWatch-NFM-get-started-CLI-get-monitor"></a>

以下 `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 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 检索特定查询的数据
<a name="CloudWatch-NFM-get-started-CLI-get-query-results"></a>

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

### get-query-results-workload-insights-top-contributors-data
<a name="get-query-results-workload-insights-top-contributors-data"></a>

以下 `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
<a name="get-query-results-workload-insights-top-contributors"></a>

以下 `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
<a name="get-query-status-monitor-top-contributors"></a>

以下 `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
<a name="get-query-status-workload-insights-top-contributors-data"></a>

以下 `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
<a name="get-query-results-workload-insights-top-contributors"></a>

以下 `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"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

## 查看范围信息
<a name="CloudWatch-NFM-get-scope"></a>

以下 `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 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 查看账户的监测仪列表
<a name="CloudWatch-NFM-list-monitors"></a>

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

```
aws networkflowmonitor list-monitors
```

输出：

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

有关更多信息，请参阅 [Network Flow Monitor 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 查看账户的范围列表
<a name="CloudWatch-NFM-list-scopes"></a>

以下 `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 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。

## 查看监测仪的标签列表
<a name="CloudWatch-NFM-list-tags-for-resource"></a>

以下 `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 资源](CloudWatch-Tagging.md)。

## 启动和停止查询
<a name="CloudWatch-NFM-query-monitors"></a>

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

### start-query-monitor-top-contributors
<a name="start-query-monitor-top-contributors"></a>

以下 `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"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### start-query-workload-insights-top-contributors-data
<a name="start-query-workload-insights-top-contributors-data"></a>

以下 `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"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### start-query-workload-insights-top-contributors
<a name="start-query-workload-insights-top-contributors"></a>

以下 `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"
    }
```

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### stop-query-monitor-top-contributors
<a name="stop-query-monitor-top-contributors"></a>

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

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

此命令不生成任何输出。

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### stop-query-workload-insights-top-contributors-data
<a name="stop-query-workload-insights-top-contributors-data"></a>

以下 `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
```

此命令不生成任何输出。

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

### stop-query-workload-insights-top-contributors
<a name="stop-query-workload-insights-top-contributors"></a>

以下 `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
```

此命令不生成任何输出。

有关更多信息，请参阅 [利用工作负载见解评估网络流](CloudWatch-NetworkFlowMonitor-configure-evaluate-flows.md)。

## 标记监测仪
<a name="CloudWatch-NFM-tag-resource"></a>

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

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

此命令不生成任何输出。

有关更多信息，请参阅 [标记 Amazon CloudWatch 资源](CloudWatch-Tagging.md)。

## 从监测仪中移除标签
<a name="CloudWatch-NFM-untag-resource"></a>

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

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

此命令不生成任何输出。

有关更多信息，请参阅 [标记 Amazon CloudWatch 资源](CloudWatch-Tagging.md)。

## 更新现有监测仪
<a name="CloudWatch-NFM-update-monitor"></a>

以下 `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 的组件和功能](CloudWatch-NetworkFlowMonitor-components.md)。