

# Exploración de datos mediante las herramientas de CloudWatch y la interfaz de consulta de Internet Monitor
<a name="CloudWatch-IM-view-cw-tools"></a>

Además de visualizar el rendimiento y la disponibilidad de su aplicación mediante el panel de control de Internet Monitor, existen varios métodos que puede usar para profundizar más en los datos que Internet Monitor genera para usted. Estos métodos incluyen el uso de las herramientas de CloudWatch con los datos de Internet Monitor almacenados en los archivos de registro de CloudWatch y el uso de la interfaz de consulta de Internet Monitor. Algunas de las herramientas que puede utilizar son Información de registros de CloudWatch, las métricas de CloudWatch, Información de colaboradores de CloudWatch y Amazon Athena. Puede utilizar algunas o todas estas herramientas, así como el panel de control, para explorar los datos de Internet Monitor, según sus necesidades. 

Internet Monitor agrega las métricas de CloudWatch sobre el tráfico a su aplicación y a cada Región de AWS, e incluye datos como el impacto total en el tráfico, la disponibilidad y el tiempo de ida y vuelta. Estos datos se publican en los registros de CloudWatch y también están disponibles para su uso con la interfaz de consulta de Internet Monitor. Los detalles sobre la granularidad geográfica y otros aspectos de la información disponible para cada uno de ellos varían.

Internet Monitor publica los datos del monitor en intervalos de 5 minutos y, a continuación, los pone a disposición de varias formas. En la siguiente tabla se enumeran los escenarios para acceder a los datos de Internet Monitor y se describen las características de los datos que se recopilan para cada uno de ellos.


****  

| Característica | Registros de CloudWatch | Exportar a S3 | Interfaz de consulta | Panel de CloudWatch | 
| --- | --- | --- | --- | --- | 
| Habilitado de forma predeterminada | Sí | No | Sí | Sí | 
| Cantidad de redes urbanas para las que se recopilan datos | Las 500 principales (ver la nota a continuación) | Todos | Todos | Todos | 
| Retención de datos | Controlados por el usuario | Controlados por el usuario | 30 días | 30 días | 
| Granularidades geográficas para las que se recopilan los datos | Todos (red urbana, área metropolitana \$1 red, subdivisión \$1 red, país \$1 red) | Red urbana | Todos (red urbana, área metropolitana \$1 red, subdivisión \$1 red, país \$1 red) | Todos (red urbana, área metropolitana \$1 red, subdivisión \$1 red, país \$1 red) | 
| Cómo consultar y filtrar datos | [Utilice Información de registros de CloudWatch para analizar las mediciones de Internet Monitor](CloudWatch-IM-view-cw-tools-logs-insights.md) | [Uso de Amazon Athena para consultar las mediciones de Internet en los archivos de registro de Amazon S3](CloudWatch-IM-view-cw-tools.S3_athena.md) | [Uso de la interfaz de consulta de Internet Monitor](CloudWatch-IM-view-cw-tools-cwim-query.md) | [Supervisión y optimización con el panel de control de Internet Monitor](CloudWatch-IM-monitor-and-optimize.md) | 

Nota: Las 500 mediciones principales se recopilan para redes urbanas. Las 250 principales para área metropolitana \$1 redes, las 100 principales para subdivisión \$1 redes, y las 50 principales para país \$1 redes.

En este capítulo se describe cómo consultar y explorar los datos mediante las herramientas de CloudWatch o la interfaz de consulta de Internet Monitor, junto con ejemplos de cada método. 

**Topics**
+ [Información de registros de CloudWatch](CloudWatch-IM-view-cw-tools-logs-insights.md)
+ [Información de colaboradores de Amazon CloudWatch](CloudWatch-IM-view-cw-tools-contributor-insights.md)
+ [Métricas de CloudWatch](CloudWatch-IM-view-cw-tools-metrics-dashboard.md)
+ [Athena con registros de S3](CloudWatch-IM-view-cw-tools.S3_athena.md)
+ [Interfaz de consulta de Internet Monitor](CloudWatch-IM-view-cw-tools-cwim-query.md)

# Utilice Información de registros de CloudWatch para analizar las mediciones de Internet Monitor
<a name="CloudWatch-IM-view-cw-tools-logs-insights"></a>

Puede utilizar las consultas de Información de registros de CloudWatch para filtrar un subconjunto de registros según una ciudad o zona geográfica específica (ubicación del cliente), ASN del cliente (ISP) y ubicación de origen de AWS. Internet Monitor publica mediciones detalladas de la disponibilidad y el tiempo de ida y vuelta en CloudWatch Logs, que puede explorar desde CloudWatch Logs Insights. 

Para obtener más información sobre la precisión de la ubicación del cliente en Internet Monitor, consulte [Información y precisión de la geolocalización en Internet Monitor](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

Los ejemplos de esta sección pueden ayudarlo a crear consultas de Información de registros de CloudWatch para obtener más información sobre las medidas y métricas del tráfico de sus propias aplicaciones. Si utiliza estos ejemplos en Información de registros de CloudWatch, *sustituya MonitorName* por el nombre de su monitor.

**Ver sugerencias de optimización del tráfico**

En la pestaña **Estadísticas del tráfico** de Internet Monitor, puede ver las sugerencias de optimización del tráfico, filtradas por ubicación. Para ver la misma información que se muestra en la sección de **Sugerencias de optimización del tráfico** de esa pestaña, pero sin el filtro de granularidad de ubicación, puede utilizar la siguiente consulta de Información de registros de CloudWatch. 

1. En la Consola de administración de AWS, vaya a Información de registros de Amazon CloudWatch.

1. En **Log Group** (Grupo de registro), seleccione `/aws/internet-monitor/monitorName/byCity` y `/aws/internet-monitor/monitorName/byCountry` y, a continuación, especifique un intervalo de tiempo. 

1. Agregue la siguiente consulta y, a continuación, ejecútela. 

```
fields @timestamp, 
clientLocation.city as @city, clientLocation.subdivision as @subdivision, clientLocation.country as @country,
`trafficInsights.timeToFirstByte.currentExperience.serviceName` as @serviceNameField,
concat(@serviceNameField, ` (`, `serviceLocation`, `)`) as @currentExperienceField,
concat(`trafficInsights.timeToFirstByte.ec2.serviceName`, ` (`, `trafficInsights.timeToFirstByte.ec2.serviceLocation`, `)`) as @ec2Field,
`trafficInsights.timeToFirstByte.cloudfront.serviceName` as @cloudfrontField,
concat(`clientLocation.networkName`, ` (AS`, `clientLocation.asn`, `)`) as @networkName
| filter ispresent(`trafficInsights.timeToFirstByte.currentExperience.value`)
| stats avg(`trafficInsights.timeToFirstByte.currentExperience.value`) as @averageTTFB,
avg(`trafficInsights.timeToFirstByte.ec2.value`) as @ec2TTFB,
avg(`trafficInsights.timeToFirstByte.cloudfront.value`) as @cloudfrontTTFB,
sum(`bytesIn` + `bytesOut`) as @totalBytes,
latest(@ec2Field) as @ec2,
latest(@currentExperienceField) as @currentExperience,
latest(@cloudfrontField) as @cloudfront,
count(*) by @networkName, @city, @subdivision, @country
| display @city, @subdivision, @country, @networkName, @totalBytes, @currentExperience, @averageTTFB, @ec2, @ec2TTFB, @cloudfront, @cloudfrontTTFB
| sort @totalBytes desc
```

**Ver la disponibilidad de Internet y el RTT (p50, p90 y p95)**

Para ver la disponibilidad de Internet y el tiempo de ida y vuelta (p50, p90 y p95) del tráfico, puede utilizar la siguiente consulta en Información de registros de CloudWatch.

**Zona geográfica del usuario final:** Chicago, IL, Estados Unidos

**Red de usuario final (ASN):** AS7018 

**Ubicación del servicio de AWS:** región de Este de EE. UU. (Norte de Virginia)

Para consultar los registros, haga lo siguiente:

1. En la Consola de administración de AWS, vaya a Información de registros de Amazon CloudWatch.

1. En **Log Group** (Grupo de registro), seleccione `/aws/internet-monitor/monitorName/byCity` y `/aws/internet-monitor/monitorName/byCountry` y, a continuación, especifique un intervalo de tiempo. 

1. Agregue la siguiente consulta y, a continuación, ejecútela. 

La consulta devuelve todos los datos de rendimiento de los usuarios que se conecten desde AS7018 en Chicago, Illinois, hacia la región de Este de EE. UU. (Norte de Virginia) durante el periodo de tiempo seleccionado.

```
fields @timestamp, 
internetHealth.availability.experienceScore as availabilityExperienceScore, 
internetHealth.availability.percentageOfTotalTrafficImpacted as percentageOfTotalTrafficImpacted,
internetHealth.performance.experienceScore as performanceExperienceScore,
internetHealth.performance.roundTripTime.p50 as roundTripTimep50, 
internetHealth.performance.roundTripTime.p90 as roundTripTimep90, 
internetHealth.performance.roundTripTime.p95 as roundTripTimep95
 | filter clientLocation.country == `United States` 
 and clientLocation.city == `Chicago` 
 and serviceLocation == `us-east-1` 
 and clientLocation.asn == 7018
```

Para obtener más información, consulte [Análisis de los datos de registros con Información de registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

# Uso de Información de colaboradores para identificar ISP y ubicaciones principales
<a name="CloudWatch-IM-view-cw-tools-contributor-insights"></a>

Información de colaboradores de CloudWatch puede ayudarlo a identificar las principales ubicaciones de clientes y ASN (en general, proveedores de servicios de Internet o ISP) de la aplicación de AWS. Use los siguientes ejemplos de reglas de Contributor Insights para comenzar a usar las reglas que sean útiles con Internet Monitor. Para obtener más información, consulte [Creación de una regla de Información de colaboradores en CloudWatch](ContributorInsights-CreateRule.md).

Para obtener más información sobre la precisión de la ubicación del cliente en Internet Monitor, consulte [Información y precisión de la geolocalización en Internet Monitor](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

**nota**  
Internet Monitor almacena los datos de las mediciones de Internet cada cinco minutos, por lo que después de configurar una regla de Contributor Insights, deberá establecer el periodo en cinco minutos para ver un gráfico.

**Ver las principales ubicaciones y ASN afectados por un impacto de disponibilidad**

Para ver las principales ubicaciones de los clientes y los ASN afectados por una caída de la disponibilidad, puede utilizar la siguiente regla de Información de colaboradores en el editor de Syntax. Reemplace *monitor-name* por el nombre de su monitor.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.availability.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Ver las principales ubicaciones de clientes y ASN afectados por un impacto de latencia**

Para ver las principales ubicaciones de los clientes y los ASN afectados por un aumento del tiempo de ida y vuelta (latencia), puede utilizar la siguiente regla de Información de colaboradores en el editor de Syntax. Reemplace *monitor-name* por el nombre de su monitor.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.performance.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Ver las principales ubicaciones de clientes y los ASN afectados por el porcentaje total de tráfico**

Para ver las principales ubicaciones de clientes y los ASN afectados por el porcentaje total de tráfico, puede usar la siguiente regla de Información de colaboradores en el editor de Syntax. Reemplace *monitor-name* por el nombre de su monitor.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.percentageOfTotalTraffic"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

# Cómo ver las métricas de Internet Monitor o configurar alarmas en Métricas de CloudWatch
<a name="CloudWatch-IM-view-cw-tools-metrics-dashboard"></a>

Puede ver o configurar alarmas en las métricas de Internet Monitor mediante las alarmas de CloudWatch y Métricas de CloudWatch en la consola de CloudWatch. Internet Monitor publica las métricas de la cuenta, que incluye las métricas del desempeño, la disponibilidad, el tiempo de ida y vuelta y el rendimiento (bytes por segundo). Para encontrar todas las métricas del monitor, en el panel de métricas de CloudWatch, consulte el espacio de nombres personalizado `AWS/InternetMonitor`. 

Para ver ejemplos del uso de varias de estas métricas para ayudar a determinar los valores que se deben elegir para el límite máximo de redes urbanas para su monitor, consulte [Elegir un valor máximo de red urbana](IMCityNetworksMaximum.md). Para obtener más información sobre la configuración de alarmas para Internet Monitor, consulte [Creación de alarmas con Internet Monitor](CloudWatch-IM-create-alarm.md).

Estas métricas se suman a todo el tráfico de Internet a las VPC, los Equilibradores de carga de red, las distribuciones de CloudFront o los directorios de WorkSpaces del monitor, y a todo el tráfico de cada Región de AWS y a la ubicación periférica de Internet que se supervise. Las regiones se definen por la ubicación del servicio, que puede ser todas las ubicaciones o una región específica, por ejemplo `us-east-1`. 

Nota: Las *redes urbanas* son pares de ubicaciones de clientes y los ASN que usan los clientes (normalmente proveedores de servicios de Internet o ISP).

Internet Monitor proporciona las siguientes métricas.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-metrics-dashboard.html)

Para obtener más información, consulte [Métricas en Amazon CloudWatch](working_with_metrics.md).

# Uso de Amazon Athena para consultar las mediciones de Internet en los archivos de registro de Amazon S3
<a name="CloudWatch-IM-view-cw-tools.S3_athena"></a>

Puede usar Amazon Athena para consultar y ver las mediciones de Internet que Internet Monitor publica en un bucket de Amazon S3. Internet Monitor ofrece la opción de publicar las mediciones de Internet de su aplicación en un bucket de S3 para el tráfico dirigido a Internet de las redes urbanas supervisadas (ubicaciones de clientes y ASN, normalmente proveedores de servicios de Internet o ISP). Independientemente de si elige publicar las mediciones en S3, Internet Monitor publica automáticamente en Registros de CloudWatch cada cinco minutos las mediciones de Internet de las 500 principales ciudades urbanas (por volumen de tráfico) de cada monitor. 

Este capítulo incluye los pasos para crear una tabla en Athena para las mediciones de Internet ubicadas en un archivo de registro de S3 y, a continuación, proporciona [consultas de ejemplo](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries) para ver diferentes vistas de las mediciones. Por ejemplo, puede consultar las 10 redes urbanas más afectadas según el impacto en la latencia. 

## Usar Amazon Athena para crear una tabla de mediciones de Internet en Internet Monitor
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-queries"></a>

Para empezar a utilizar Athena con los archivos de registro de Internet Monitor S3, primero debe crear una tabla para las mediciones de Internet.

Siga los pasos de este procedimiento para crear una tabla en Athena basada en los archivos de registro de S3. A continuación, puede ejecutar consultas de Athena en la tabla, como [estas consultas de medición de Internet de ejemplo](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries), para obtener información sobre sus medidas.

**Crear una tabla de Athena**

1. Abra la consola Athena en [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. En el editor de consultas de Athena, introduzca una declaración de consulta para generar una tabla con las mediciones de Internet de Internet Monitor. Sustituya el valor del parámetro LOCATION por la ubicación del bucket S3 en el que se almacenan las mediciones de Internet de Internet Monitor. 

   ```
   CREATE EXTERNAL TABLE internet_measurements (
       version INT,
       timestamp INT,
       clientlocation STRING,
       servicelocation STRING,
       percentageoftotaltraffic DOUBLE,
       bytesin INT,
       bytesout INT,
       clientconnectioncount INT,
       internethealth STRING,
       trafficinsights STRING
   )
   PARTITIONED BY (year STRING, month STRING, day STRING)
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION
   's3://amzn-s3-demo-bucket/bucket_prefix/AWSLogs/account_id/internetmonitor/AWS_Region/'
   TBLPROPERTIES ('skip.header.line.count' = '1');
   ```

1. Introduzca una sentencia para crear una partición que lea los datos. La consulta de ejemplo siguiente crea una sola partición para la fecha y ubicación especificadas:

   ```
   ALTER TABLE internet_measurements
   ADD PARTITION (year = 'YYYY', month = 'MM', day = 'dd')
   LOCATION
   's3://amzn-s3-demo-bucket/bucket_prefix/AWSLogs/account_id/internetmonitor/AWS_Region/YYYY/MM/DD';
   ```

1. Seleccione **Ejecutar**.

**Ejemplos de declaraciones de Athena para mediciones de Internet**

El siguiente es un ejemplo de una sentencia para generar una tabla:

```
CREATE EXTERNAL TABLE internet_measurements (
    version INT,
    timestamp INT,
    clientlocation STRING,
    servicelocation STRING,
    percentageoftotaltraffic DOUBLE,
    bytesin INT,
    bytesout INT,
    clientconnectioncount INT,
    internethealth STRING,
    trafficinsights STRING
)
PARTITIONED BY (year STRING, month STRING, day STRING)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/'
TBLPROPERTIES ('skip.header.line.count' = '1');
```

El siguiente es un ejemplo de una sentencia para crear una partición para leer los datos:

```
ALTER TABLE internet_measurements
ADD PARTITION (year = '2023', month = '04', day = '07')
LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/2023/04/07/'
```

## Ejemplos de consultas de Amazon Athena para usarlas con mediciones de Internet en Internet Monitor
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries"></a>

En esta sección se incluyen ejemplos de consultas que puede utilizar con Amazon Athena para obtener información sobre las mediciones de Internet de su aplicación publicadas en Amazon S3.

**Consultar las 10 ubicaciones de clientes y ASN más afectados (por porcentaje total de tráfico**

Ejecute esta consulta de Athena para obtener las 10 redes urbanas más afectadas (por porcentaje total del tráfico), es decir, las ubicaciones de los clientes y los ASN, normalmente proveedores de servicios de Internet. 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(percentageoftotaltraffic) as percentageoftotaltraffic
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageoftotaltraffic desc
limit 10
```

**Consultar las 10 ubicaciones de clientes y ASN más afectados (por disponibilidad **

Ejecute esta consulta de Athena para obtener las 10 redes urbanas más afectadas (por porcentaje total del tráfico), es decir, las ubicaciones de los clientes y los ASN, normalmente proveedores de servicios de Internet. 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(
        cast(
            json_extract_scalar(
                internetHealth,
                '$.availability.percentageoftotaltrafficimpacted'
            )
        as double ) 
    ) as percentageOfTotalTrafficImpacted
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageOfTotalTrafficImpacted desc
limit 10
```

**Consultar las 10 ubicaciones de clientes y ASN más afectados (por latencia **

Ejecute esta consulta de Athena para obtener las 10 redes urbanas más afectadas (por impacto de la latencia), es decir, las ubicaciones de los clientes y los ASN, normalmente proveedores de servicios de Internet. 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(
        cast(
            json_extract_scalar(
                internetHealth,
                '$.performance.percentageoftotaltrafficimpacted'
            )
        as double ) 
    ) as percentageOfTotalTrafficImpacted
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageOfTotalTrafficImpacted desc
limit 10
```

**Consultar los puntos destacados del tráfico para las ubicaciones de sus clientes y los ASN **

Ejecute esta consulta de Athena para devolver los aspectos más destacados del tráfico, como la puntuación de disponibilidad, la puntuación de rendimiento y el tiempo transcurrido hasta el primer byte para las redes de sus ciudades, es decir, las ubicaciones de los clientes y los ASN, normalmente proveedores de servicios de Internet.

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.subdivision') as subdivision,
    json_extract_scalar(clientLocation, '$.country') as country,
    avg(cast(json_extract_scalar(internetHealth, '$.availability.experiencescore') as double)) as availabilityScore,
    avg(cast(json_extract_scalar(internetHealth, '$.performance.experiencescore') as double)) performanceScore,
    avg(cast(json_extract_scalar(trafficinsights, '$.timetofirstbyte.currentexperience.value') as double)) as averageTTFB,
    sum(bytesIn) as bytesIn,
    sum(bytesOut) as bytesOut,
    sum(bytesIn + bytesOut) as totalBytes
FROM internet_measurements
where json_extract_scalar(clientLocation, '$.city') != 'N/A'
GROUP BY 
json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.subdivision'),
    json_extract_scalar(clientLocation, '$.country')
ORDER BY totalBytes desc
limit 100
```

Para obtener más información sobre el uso de Athena, consulte la [Guía del usuario de Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/).

# Uso de la interfaz de consulta de Internet Monitor
<a name="CloudWatch-IM-view-cw-tools-cwim-query"></a>

Una opción para obtener más información sobre el tráfico de Internet de su aplicación de AWS es usar la *interfaz de consulta* de Internet Monitor. Para utilizar la interfaz de consulta, debe crear una consulta con los filtros de datos que elija y, a continuación, ejecutar la consulta para obtener un subconjunto de los datos de Internet Monitor. Explorar los datos que devuelve la consulta puede proporcionar información sobre el rendimiento de su aplicación en Internet.

Puede consultar y explorar todas las métricas que Internet Monitor captura mediante el monitor, incluidas las puntuaciones de disponibilidad y rendimiento, los bytes transferidos, los tiempos de ida y vuelta y el tiempo hasta el primer byte (TTFB). 

Internet Monitor utiliza la interfaz de consulta para proporcionar los datos que puede explorar en el panel de la consola de Internet Monitor. Puede consultar y filtrar los datos de Internet de la aplicación con las opciones de búsqueda del panel, en la página **Analiza**r o en la página **Optimizar**.

Si desea tener una flexibilidad para explorar y filtrar sus datos mayor que la que ofrece el panel, puede usar la interfaz de consulta mediante las operaciones de la API de Internet Monitor mediante la AWS Command Line Interface o un AWS SDK. En esta sección, se presentan los tipos de consultas que puede usar con la interfaz de consultas y los filtros que puede especificar para crear un subconjunto de datos, a fin de obtener información sobre el tráfico de Internet de su aplicación.

**Topics**
+ [Cómo utilizar la interfaz de consulta](#CloudWatch-IM-view-cw-tools-cwim-query-use-query)
+ [Consultas de ejemplo](#CloudWatch-IM-view-cw-tools-cwim-query-example-queries)
+ [Obtención de los resultados de la consulta](#CloudWatch-IM-view-cw-tools-cwim-query-get-data)
+ [Solución de problemas](#CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting)

## Cómo utilizar la interfaz de consulta
<a name="CloudWatch-IM-view-cw-tools-cwim-query-use-query"></a>

Para crear una consulta con la interfaz de consulta, se elige un *tipo de consulta* y, a continuación, se especifican los valores de filtro para devolver el subconjunto específico deseado de los datos del archivo de registro. A continuación, puede trabajar con el subconjunto de datos para filtrar más detalladamente, ordenar y crear informes, etc.

El proceso de consulta funciona de la siguiente manera:

1. Cuando ejecuta una consulta, Internet Monitor devuelve un `query ID`, que es exclusivo de la consulta. En esta sección se describen los tipos de consultas disponibles y las opciones para filtrar los datos de las consultas. Para entender cómo funciona esto, también puede revisar la sección en [ejemplos de consultas](#IMQueryInterfaceExamples). 

1. Debe especificar el ID de consulta con el nombre de su monitor mediante la operación [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html) de la API, para devolver los resultados de los datos de la consulta. Cada tipo de consulta devuelve un conjunto diferente de campos de datos. Para obtener más información, consulte [Obtener resultados de las consultas](#IMGetQueryData).

La interfaz de consultas proporciona los tres tipos de consultas que se presentan a continuación. Cada tipo de consulta devuelve un conjunto diferente de información sobre el tráfico de los archivos de registro, tal y como se muestra.
+ **Mediciones:** proporciona la puntuación de disponibilidad, la puntuación de rendimiento, el tráfico total y los tiempos de ida y vuelta, en intervalos de 5 minutos.
+ **Ubicaciones principales:** proporciona la puntuación de disponibilidad, la puntuación de rendimiento, el tráfico total y la información del tiempo hasta el primer byte (TTFB), para las combinaciones de ubicación principal y ASN que esté supervisando, por volumen de tráfico.
+ **Detalles de las principales ubicaciones:** proporciona el TTFB para Amazon CloudFront, su configuración actual y la configuración de Amazon EC2 con mejor rendimiento, en intervalos de 1 hora.
+ **Sugerencias de tráfico general:** proporciona el TTFB, a partir de una media ponderada de 30 días, para todo el tráfico en cada ubicación de AWS que se supervisa.
+ **Detalles de las sugerencias de tráfico general:** proporciona el TTFB, a partir de una media ponderada de 30 días, para cada ubicación principal, de una ubicación de AWS propuesta.
+ **Sugerencias de enrutamiento:** proporciona el tiempo de ida y vuelta (RTT) promedio previsto desde un prefijo IP hasta una ubicación de AWS para un solucionador de DNS. El RTT se calcula a intervalos de una hora, durante un periodo de una hora.

Es posible filtrar los datos más con criterios específicos. En la mayoría de los tipos de consultas, a excepción de las sugerencias de enrutamiento, se pueden aplicar filtros especificando uno o más de los siguientes criterios:
+ **Ubicación de AWS:** para la ubicación de AWS puede especificar CloudFront o una Región de AWS, como por ejemplo `us-east-2`.
+ **ASN:** especifique el número de sistema autónomo (ASN) de un solucionador de DNS (normalmente, un ISP), por ejemplo, 4225.
+ **Ubicación del cliente:** para la ubicación, especifique una ciudad, un área metropolitana, una subdivisión o un país.
+ **Ubicación de AWS propuesta:** especifique una Región de AWS, por ejemplo `us-east-2`, o una zona local de AWS. Puede utilizar este filtro con el tipo de consulta de detalles de sugerencias de tráfico global.
+ **Ubicación geográfica:** especifique la ubicación `geo` para algunas consultas. Esto es obligatorio para las consultas que utilizan el tipo de consulta de `Top locations`, pero no está permitido para otros tipos de consulta. Para saber cuándo especificar los parámetros de filtro `geo`, consulte la sección [ejemplos de consultas](#IMQueryInterfaceExamples).

En el caso de este tipo de consultas se pueden filtrar aún más los datos especificando uno o más de los siguientes criterios:
+ **Ubicación de AWS actual:** especifique una Región de AWS, como por ejemplo `us-east-2`.
+ **Ubicación de AWS propuesta:** especifique una Región de AWS, por ejemplo `us-east-2`, o una zona local de AWS.
+ **Prefijo IPv4:** especifique un prefijo IPv4 en el formato estándar, similar a `192.0.2.0/24`.
+ **ARN del monitor:** especifique el ARN de un monitor concreto.
+ **IP de solucionador de DNS:** especifique la dirección IP de un solucionador de DNS.
+ **ISP de solucionador de DNS:** especifique el nombre de un solucionador de DNS (normalmente un ISP), por ejemplo, `Cloudflare`.
+ **ASN de solucionador de DNS:** especifique el número de sistema autónomo (ASN) de un solucionador de DNS, por ejemplo, 4225.

Los operadores que puede utilizar para filtrar los datos son `EQUALS` y `NOT_EQUALS`. Para obtener más información sobre los parámetros de filtrado, consulte la operación de la API [FilterParameter](https://docs.aws.amazon.com/internet-monitor/latest/api/API_FilterParameter.html).

Para obtener más información sobre las operaciones de la interfaz de consulta, consulte las siguientes operaciones de la API en la Guía de referencia de la API de Internet Monitor:
+ Para crear y ejecutar una consulta, consulte la operación de la API [StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html). 
+ Para detener una consulta, consulte la operación de la API [StopQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StopQuery.html). 
+ Para devolver los datos de una consulta que haya creado, consulte la operación de la API [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html). 
+ Para recuperar el estado de una consulta, consulte la operación de la API [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html). 

## Consultas de ejemplo
<a name="CloudWatch-IM-view-cw-tools-cwim-query-example-queries"></a>

Para crear una consulta que pueda utilizar para recuperar un conjunto de datos filtrados del archivo de registro del monitor, utilice la operación de la API [StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html). Debe especificar un tipo de consulta y filtrar los parámetros para esta. Cuando utilice la operación de la API de la interfaz de consultas de Internet Monitor para obtener los resultados de la consulta mediante el uso de la consulta, recuperará el subconjunto de datos con el que desee trabajar. 

Veamos algunos ejemplos para ilustrar cómo funcionan los tipos de consulta y los parámetros de filtro.

**Ejemplo 1**

Supongamos que desea recuperar todos los datos del archivo de registro del monitor de un país específico, a excepción de una ciudad. El siguiente ejemplo muestra los parámetros de filtro de una consulta que podría crear mediante la operación `StartQuery` para este escenario.

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "MEASUREMENTS"
   FilterParameters: [
      {
       Field: "country",
       Operator: "EQUALS",
       Values: ["Germany"]
      },
      {
       Field: "city",
       Operator: "NOT_EQUALS",
       Values: ["Berlin"]
      },
    ]
}
```

**Ejemplo 2**

Como otro ejemplo, supongamos que desea ver las ubicaciones principales por área metropolitana. Puede usar la siguiente consulta de ejemplo para este escenario.

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATIONS"
   FilterParameters: [
      {
       Field: "geo",
       Operator: "EQUALS",
       Values: ["metro"]
      },
    ]
}
```

**Ejemplo 3**

Supongamos que quiere ver las principales combinaciones de redes urbanas en el área metropolitana de Los Ángeles. Para ello, especifique `geo=city` y, a continuación, establezca `metro` en Los Ángeles. Ahora, la consulta devuelve las principales redes urbanas del área metropolitana de Los Ángeles en lugar de las principales áreas metropolitanas \$1 redes en general.

Este es el ejemplo de consulta que puede usar:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATIONS"
   FilterParameters: [
      {
       Field: "geo",
       Operator: "EQUALS",
       Values: ["city"]
      },
      {
       Field: "metro",
       Operator: "EQUALS",
       Values: ["Los Angeles"]
      }
    ]
}
```

**Ejemplo 4**

Ahora supongamos que desea recuperar los datos de TTFB de una subdivisión específica (por ejemplo, un estado de EE. UU.).

El siguiente es un ejemplo de consulta para este escenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATION_DETAILS"
   FilterParameters: [
      {
       Field: "subdivision",
       Operator: "EQUALS",
       Values: ["California"]
      },
    ]
}
```

**Ejemplo 5**

Y ahora, supongamos que desea recuperar los datos de TTFB de cada ubicación en la que haya tráfico de clientes en la aplicación.

El siguiente es un ejemplo de consulta para este escenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "OVERALL_TRAFFIC_SUGGESTIONS"
   FilterParameters: []
}

Results:
[us-east-1, 40, us-west-2, 30],
[us-east-1, 40, us-west-1, 35],
[us-east-1, 40, us-east-1, 44],
[us-east-1, 40, CloudFront, 22],
...
[us-east-2, 44, us-west-2, 30],
[us-east-2, 44, us-west-1, 35],
...
```

**Ejemplo 6**

Digamos que desea recuperar datos de TTFB de una nueva Región de AWS específica.

El siguiente es un ejemplo de consulta para este escenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "OVERALL_TRAFFIC_SUGGESTIONS_DETAILS"
   FilterParameters: [
      {
       Field: "proposed_aws_location",
       Operator: "EQUALS",
       Values: ["us-west-2"]
      },
   ]
}

Results:
[San Jose, San Jose-Santa Clara, California, United States, 7922, us-east-1, 40, 350, 350, us-west-2, 45]
[San Jose, San Jose-Santa Clara, California, United States, 7922, us-west-1, 35, 450, 450, us-west-2, 45]
```

**Ejemplo 7**

Un último ejemplo consiste en recuperar datos para solucionadores de DNS específicos.

El siguiente es un ejemplo de consulta para este escenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "ROUTING_SUGGESTIONS"
   FilterParameters: [
      {
       Field: "proposed_aws_location",
       Operator: "EQUALS",
       Values: ["us-east-1"]
      },
   ]
}

Results:
[162.158.180.245, 13335, Cloudflare, [5.4.0.0/14], us-east-2, 200.0, us-east-1, 160.0]
[162.158.180.243, 13313, Cloudflare, [5.4.0.0/10], us-east-2, 150.0, us-east-1, 125.0]
```

## Obtención de los resultados de la consulta
<a name="CloudWatch-IM-view-cw-tools-cwim-query-get-data"></a>

Tras definir una consulta, puede devolver un conjunto de resultados mediante la consulta, ejecutando otra operación de la API de Internet Monitor, [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html). Cuando ejecuta `GetQueryResults`, especifica el ID de consulta de la consulta que definió, junto con el nombre del monitor. `GetQueryResults` recupera los datos de la consulta especificada en un conjunto de resultados.

Cuando ejecute una consulta, asegúrese de que esta haya terminado de ejecutarse antes de usar `GetQueryResults` para ver los resultados. Puede determinar si la consulta se completó mediante la operación de la API [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html). Cuando el `Status` de la consulta sea `SUCCEEDED`, puede continuar con la revisión de los resultados.

Cuando finalice la consulta, puede usar la siguiente información como ayuda para la revisión de los resultados. Cada tipo de consulta que utilice para crear una consulta incluye un conjunto único de campos de datos de los archivos de registro, tal y como se describe en la siguiente lista: 

**Mediciones**  
El tipo de consulta `measurements` devuelve los siguientes datos:  
`timestamp, availability, performance, bytes_in, bytes_out, rtt_p50, rtt_p90, rtt_p95`

**Ubicaciones principales**  
El tipo de consulta `top locations` agrupa los datos por ubicación y proporciona los datos promediados durante un periodo. Los datos que devuelve incluyen lo siguiente:  
`aws_location, city, metro, subdivision, country, asn, availability, performance, bytes_in, bytes_out, current_fbl, best_ec2, best_ec2_region, best_cf_fbl`  
Tenga en cuenta que la `city`, la `metro` y la `subdivision` solo se devuelven si elige ese tipo de ubicación para el campo `geo`. Se devuelven los siguientes campos de ubicación, según el tipo de ubicación que especifique para `geo`:  

```
city = city, metro, subdivision, country
metro = metro, subdivision, country
subdivision = subdivision, country
country = country
```

**Detalles de las ubicaciones principales**  
El tipo de consulta `top locations details` devuelve datos agrupados hora por hora. La consulta devuelve los siguientes datos:  
`timestamp, current_service, current_fbl, best_ec2_fbl, best_ec2_region, best_cf_fbl`

**Sugerencias generales de tráfico**  
El tipo de consulta `overall traffic suggestions` devuelve datos agrupados hora por hora. La consulta devuelve los siguientes datos:  
`current_aws_location, proposed_aws_location, average_fbl, traffic, optimized_traffic_excluding_cf, optimized_traffic_including_cf`

**Detalles de sugerencias generales de tráfico**  
El tipo de consulta `overall traffic suggestions details` devuelve datos agrupados hora por hora. La consulta devuelve los siguientes datos:  
`aws_location, city, metro, subdivision, country, asn, traffic, current_aws_location, fbl_data`

**Sugerencias de enrutamiento**  
El tipo de consulta `routing suggestions` devuelve datos agrupados hora por hora. La consulta devuelve los siguientes datos:  
`dns_resolver_ip, dns_resolver_asn, dns_resolver_isp, ipv4_prefixes, current_aws_location, current_latency, proposed_aws_location, proposed_latency`

Cuando ejecuta la operación de la API `GetQueryResults`, Internet Monitor devuelve lo siguiente en la respuesta:
+ Una *matriz de cadenas de datos* que contiene los resultados que devuelve la consulta. La información se devuelve en matrices alineadas con el campo `Fields`, y también las devuelve mediante la llamada a la API. Con el campo `Fields`, puede analizar la información del repositorio `Data` y, a continuación, filtrarla más detalladamente u ordenarla según sus necesidades.
+ Una *matriz de campos* que muestra los campos para los que la consulta devolvió datos (en la respuesta del campo `Data`). Cada elemento de la matriz es un par de tipos de datos-nombre, como `availability_score`-`float`. 

## Solución de problemas
<a name="CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting"></a>

Si se devuelven errores cuando usa las operaciones de la API de la interfaz de consulta, compruebe que dispone de los permisos necesarios para usar Internet Monitor. Asegúrese específicamente de que tiene habilitados los siguientes permisos:

```
internetmonitor:StartQuery
internetmonitor:GetQueryStatus
internetmonitor:GetQueryResults
internetmonitor:StopQuery
```

Estos permisos se incluyen en la política de AWS Identity and Access Management recomendada para usar el panel de control de Internet Monitor de la consola. Para obtener más información, consulte [Políticas administradas de AWS para Internet Monitor](CloudWatch-IM-permissions.md).