

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

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

在开始之前，请确保您通过同一 AWS 账户登录以使用 AWS CLI，该账户具有想要监控的 Amazon VPC、网络负载均衡器、Amazon CloudFront 分配或 Amazon WorkSpaces 目录。Internet Monitor 不支持跨账户访问资源。有关使用 AWS CLI 的更多信息，请参阅 [AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/index.html)。有关将 API 操作与网络监测仪结合使用的更多信息，请参阅《[Internet Monitor API Reference Guide](https://docs.aws.amazon.com/internet-monitor/latest/api/Welcome.html)》。

**Topics**
+ [创建监视器](#CloudWatch-IM-get-started-CLI-create-mon)
+ [查看显示器详细信息](#CloudWatch-IM-get-started-CLI-mon-details)
+ [列出运行状况事件](#CloudWatch-IM-get-started-CLI-list-events)
+ [查看特定的运行状况事件](#CloudWatch-IM-get-started-CLI-view-event-specific)
+ [查看监视器列表](#CloudWatch-IM-get-started-CLI-monitor-list)
+ [编辑监视器](#CloudWatch-IM-get-started-CLI-edit-monitor)
+ [删除监视器](#CloudWatch-IM-get-started-CLI-delete-monitor)

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

在 Internet Monitor 中创建监视器时，您需要提供一个名称并将资源与监视器相关联，以显示应用程序的互联网流量。您可以指定流量百分比，该百分比定义了您的应用程序流量受到监测的程度。这也决定了受到监测的城市网络（即客户端位置和 ASN，通常是互联网服务提供商或 ISP）的数量。您还可以为要监测的应用程序资源的城市网络最大数量设置限制，以帮助您控制账单成本。有关更多信息，请参阅 [选择城市-网络最大限制](IMCityNetworksMaximum.md)。

最后，您可以选择是否要将应用程序的所有互联网测量结果发布到 Amazon S3。网络监测仪会将前 500 个（按流量计）城市网络的互联网测量数据自动发布到 CloudWatch Logs，但您可以选择同时将所有测量结果发布到 S3。

要使用 AWS CLI 创建监测仪，请使用 `create-monitor` 命令。以下命令将创建一个监测仪，该监测仪可监控 100% 的流量，但将城市网络的最大限制设置为 10,000，添加一个 VPC 资源，并选择将互联网测量结果发布到 Amazon S3。

**注意**  
Internet Monitor 每五分钟将向每个监测仪发送流量的前 500 个城市网络（客户端位置和 ASN，通常是互联网服务提供商或 ISP）的互联网测量数据发布到 CloudWatch Logs。或者，您可以选择将所有受监测城市网络（最多 50 万个城市网络的服务限制）的互联网测量数据发布到 Amazon S3 存储桶。有关更多信息，请参阅 [在网络监测仪中将互联网测量数据发布到 Amazon S3](CloudWatch-IM-get-started.Publish-to-S3.md)。

```
aws internetmonitor create-monitor --monitor-name "TestMonitor" \
				--traffic-percentage-to-monitor 100 \
				--max-city-networks-to-monitor 10000 \
				--resources "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \
				--internet-measurements-log-delivery S3Config="{BucketName=amzn-s3-demo-bucket,LogDeliveryStatus=ENABLED}"
```

```
{
    "Arn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor",
    "Status": "ACTIVE"
}
```

**注意**  
您不能更改监测仪的名称。

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

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

```
aws internetmonitor get-monitor --monitor-name "TestMonitor"
```

```
{
    "ClientLocationType": "city",
    "CreatedAt": "2022-09-22T19:27:47Z",
    "ModifiedAt": "2022-09-22T19:28:30Z",
    "MonitorArn": "arn:aws:internetmonitor: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-IM-get-started-CLI-list-events"></a>

当应用程序的互联网流量性能下降时，Internet Monitor 会在监视器中创建运行状况事件。要使用 AWS CLI 查看当前运行状况事件列表，请使用 `list-health-events` 命令。

```
aws internetmonitor list-health-events --monitor-name "TestMonitor"
```

```
{
    "HealthEvents": [
        {
            "EventId": "2022-06-20T01-05-05Z/latency", 
            "Status": "RESOLVED", 
            "EndedAt": "2022-06-20T01:15:14Z", 
            "ServiceLocations": [
                {
                    "Name": "us-east-1"
                }
            ], 
            "PercentOfTotalTrafficImpacted": 1.21, 
            "ClientLocations": [
                {
                    "City": "Lockport", 
                    "PercentOfClientLocationImpacted": 60.370000000000005, 
                    "PercentOfTotalTraffic": 2.01, 
                    "Country": "United States", 
                    "Longitude": -78.6913, 
                    "AutonomousSystemNumber": 26101, 
                    "Latitude": 43.1721, 
                    "Subdivision": "New York", 
                    "NetworkName": "YAHOO-BF1"
                }
            ], 
            "StartedAt": "2022-06-20T01:05:05Z", 
            "ImpactType": "PERFORMANCE", 
            "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-05-05Z/latency"
        }, 
        {
            "EventId": "2022-06-20T01-17-56Z/latency", 
            "Status": "RESOLVED", 
            "EndedAt": "2022-06-20T01:30:23Z", 
            "ServiceLocations": [
                {
                    "Name": "us-east-1"
                }
            ], 
            "PercentOfTotalTrafficImpacted": 1.29, 
            "ClientLocations": [
                {
                    "City": "Toronto", 
                    "PercentOfClientLocationImpacted": 75.32, 
                    "PercentOfTotalTraffic": 1.05, 
                    "Country": "Canada", 
                    "Longitude": -79.3623, 
                    "AutonomousSystemNumber": 14061, 
                    "Latitude": 43.6547, 
                    "Subdivision": "Ontario", 
                    "CausedBy": {
                        "Status": "ACTIVE", 
                        "Networks": [
                            {
                                "AutonomousSystemNumber": 16509, 
                                "NetworkName": "Amazon.com"
                            }
                        ], 
                        "NetworkEventType": "AWS"
                    }, 
                    "NetworkName": "DIGITALOCEAN-ASN"
                }, 
                {
                    "City": "Lockport", 
                    "PercentOfClientLocationImpacted": 22.91, 
                    "PercentOfTotalTraffic": 2.01, 
                    "Country": "United States", 
                    "Longitude": -78.6913, 
                    "AutonomousSystemNumber": 26101, 
                    "Latitude": 43.1721, 
                    "Subdivision": "New York", 
                    "NetworkName": "YAHOO-BF1"
                }, 
                {
                    "City": "Hangzhou", 
                    "PercentOfClientLocationImpacted": 2.88, 
                    "PercentOfTotalTraffic": 0.7799999999999999, 
                    "Country": "China", 
                    "Longitude": 120.1612, 
                    "AutonomousSystemNumber": 37963, 
                    "Latitude": 30.2994, 
                    "Subdivision": "Zhejiang", 
                    "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd."
                }
            ], 
            "StartedAt": "2022-06-20T01:17:56Z", 
            "ImpactType": "PERFORMANCE", 
            "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-17-56Z/latency"
        }, 
        {
            "EventId": "2022-06-20T01-34-20Z/latency", 
            "Status": "RESOLVED", 
            "EndedAt": "2022-06-20T01:35:04Z", 
            "ServiceLocations": [
                {
                    "Name": "us-east-1"
                }
            ], 
            "PercentOfTotalTrafficImpacted": 1.15, 
            "ClientLocations": [
                {
                    "City": "Lockport", 
                    "PercentOfClientLocationImpacted": 39.45, 
                    "PercentOfTotalTraffic": 2.01, 
                    "Country": "United States", 
                    "Longitude": -78.6913, 
                    "AutonomousSystemNumber": 26101, 
                    "Latitude": 43.1721, 
                    "Subdivision": "New York", 
                    "NetworkName": "YAHOO-BF1"
                }, 
                {
                    "City": "Toronto", 
                    "PercentOfClientLocationImpacted": 29.770000000000003, 
                    "PercentOfTotalTraffic": 1.05, 
                    "Country": "Canada", 
                    "Longitude": -79.3623, 
                    "AutonomousSystemNumber": 14061, 
                    "Latitude": 43.6547, 
                    "Subdivision": "Ontario", 
                    "CausedBy": {
                        "Status": "ACTIVE", 
                        "Networks": [
                            {
                                "AutonomousSystemNumber": 16509, 
                                "NetworkName": "Amazon.com"
                            }
                        ], 
                        "NetworkEventType": "AWS"
                    }, 
                    "NetworkName": "DIGITALOCEAN-ASN"
                },
                {
                    "City": "Hangzhou", 
                    "PercentOfClientLocationImpacted": 2.88, 
                    "PercentOfTotalTraffic": 0.7799999999999999, 
                    "Country": "China", 
                    "Longitude": 120.1612, 
                    "AutonomousSystemNumber": 37963, 
                    "Latitude": 30.2994, 
                    "Subdivision": "Zhejiang", 
                    "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd."
                }
            ], 
            "StartedAt": "2022-06-20T01:34:20Z", 
            "ImpactType": "PERFORMANCE", 
            "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-34-20Z/latency"
        }
    ]
}
```

## 查看特定的运行状况事件
<a name="CloudWatch-IM-get-started-CLI-view-event-specific"></a>

要使用 CLI 查看有关特定运行状况事件的更多详细信息，请使用您的监视器名称和运行状况事件 ID 运行 `get-health-event` 命令。

```
aws internetmonitor get-monitor --monitor-name "TestMonitor" --event-id "health-event/TestMonitor/2021-06-03T01:02:03Z/latency" 
```

```
{
    "EventId": "2022-06-20T01-34-20Z/latency", 
    "Status": "RESOLVED", 
    "EndedAt": "2022-06-20T01:35:04Z", 
    "ServiceLocations": [
        {
            "Name": "us-east-1"
        }
    ], 
    "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-34-20Z/latency", 
    "LastUpdatedAt": "2022-06-20T01:35:04Z", 
    "ClientLocations": [
        {
            "City": "Lockport", 
            "PercentOfClientLocationImpacted": 39.45, 
            "PercentOfTotalTraffic": 2.01, 
            "Country": "United States", 
            "Longitude": -78.6913, 
            "AutonomousSystemNumber": 26101, 
            "Latitude": 43.1721, 
            "Subdivision": "New York", 
            "NetworkName": "YAHOO-BF1"
        }, 
        {
            "City": "Toronto", 
            "PercentOfClientLocationImpacted": 29.770000000000003, 
            "PercentOfTotalTraffic": 1.05, 
            "Country": "Canada", 
            "Longitude": -79.3623, 
            "AutonomousSystemNumber": 14061, 
            "Latitude": 43.6547, 
            "Subdivision": "Ontario", 
            "CausedBy": {
                "Status": "ACTIVE", 
                "Networks": [
                    {
                        "AutonomousSystemNumber": 16509, 
                        "NetworkName": "Amazon.com"
                    }
                ], 
                "NetworkEventType": "AWS"
            }, 
            "NetworkName": "DIGITALOCEAN-ASN"
        }, 
        {
            "City": "Shenzhen", 
            "PercentOfClientLocationImpacted": 4.07, 
            "PercentOfTotalTraffic": 0.61, 
            "Country": "China", 
            "Longitude": 114.0683, 
            "AutonomousSystemNumber": 37963, 
            "Latitude": 22.5455, 
            "Subdivision": "Guangdong", 
            "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd."
        }, 
        {
            "City": "Hangzhou", 
            "PercentOfClientLocationImpacted": 2.88, 
            "PercentOfTotalTraffic": 0.7799999999999999, 
            "Country": "China", 
            "Longitude": 120.1612, 
            "AutonomousSystemNumber": 37963, 
            "Latitude": 30.2994, 
            "Subdivision": "Zhejiang", 
            "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd."
        }
    ], 
    "StartedAt": "2022-06-20T01:34:20Z", 
    "ImpactType": "PERFORMANCE", 
    "PercentOfTotalTrafficImpacted": 1.15
}
```

## 查看监视器列表
<a name="CloudWatch-IM-get-started-CLI-monitor-list"></a>

要使用 CLI 查看您账户中所有监视器的列表，请运行 `list-monitors` 命令。

```
aws internetmonitor list-monitors
```

```
{
    "Monitors": [
        {
            "MonitorName": "TestMonitor",
            "ProcessingStatus": "OK",
            "Status": "ACTIVE"
        }
    ],
    "NextToken": " zase12"
}
```

## 编辑监视器
<a name="CloudWatch-IM-get-started-CLI-edit-monitor"></a>

要使用 CLI 更新有关监视器的信息，请使用 `update-monitor` 命令并指定要更新的监视器的名称。例如，您可以更新要监测的流量百分比、要监测的城市-网络最大数量限制、添加或移除网络监测仪用于监测流量的资源，以及将监测仪状态从 `ACTIVE` 改为 `INACTIVE`，反之亦然。请注意，您不能更改监视器的名称。

`update-monitor` 调用的响应仅返回 `MonitorArn` 和 `Status`。

以下示例显示了如何使用 `update-monitor` 命令将要监测的城市网络最大数量更改为 `50000`：

```
aws internetmonitor update-monitor --monitor-name "TestMonitor" --max-city-networks-to-monitor 50000
```

```
{
    "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor",
    "Status": " ACTIVE "
}
```

以下示例显示了如何添加和删除资源：

```
aws internetmonitor update-monitor --monitor-name "TestMonitor" \
				--resources-to-add "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \
				--resources-to-remove "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-2222444455556666"
```

```
{
    "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor",
    "Status": "ACTIVE"
}
```

以下示例显示了如何使用 `update-monitor` 命令将监视器状态更改为 `INACTIVE`：

```
aws internetmonitor update-monitor --monitor-name "TestMonitor" --status "INACTIVE"
```

```
{
    "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor",
    "Status": "INACTIVE"
}
```

## 删除监视器
<a name="CloudWatch-IM-get-started-CLI-delete-monitor"></a>

您可以使用 `delete-monitor` 命令通过 CLI 删除监视器。首先，必须将监视器设置为非活动状态。为此，请使用 `update-monitor` 命令将状态更改为 `INACTIVE`。使用 `get-monitor` 命令并检查状态，确认监视器处于非活动状态。

当监视器状态为 `INACTIVE` 时，您可以使用 CLI 运行 `delete-monitor` 命令来删除监视器。成功的 `delete-monitor` 调用的响应为空。

```
aws internetmonitor delete-monitor --monitor-name "TestMonitor"
```

```
{}
```