Uso de la interfaz de consulta de Amazon CloudWatch Internet Monitor - Amazon CloudWatch

Uso de la interfaz de consulta de Amazon CloudWatch Internet Monitor

Una opción para obtener más información sobre el tráfico de Internet de su aplicación de AWS es utilizar la interfaz de consulta de Amazon CloudWatch 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. Cuando consulta las opciones de búsqueda del panel, en la pestaña Explorador histórico o en la pestaña Información sobre el tráfico, puede consultar y filtrar los datos de Internet de su aplicación.

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.

Cómo utilizar la interfaz de consulta

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.

  2. Debe especificar el ID de consulta con el nombre de su monitor mediante la operación GetQueryResults 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.

La interfaz de consultas proporciona los tres tipos de consultas 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.

Con cada uno de estos tipos de consultas, puede filtrar los datos aún más, 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 us-east-2, us-west-2, etc.

  • ASN: especifique un ASN, que suele ser un proveedor de servicios de Internet (ISP).

  • Ubicación del cliente: para la ubicación, especifique una ciudad, un área metropolitana, una subdivisión o un país.

  • 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.

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.

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 Amazon CloudWatch Internet Monitor.

  • Para crear y ejecutar una consulta, consulte la operación de la API StartQuery.

  • Para detener una consulta, consulte la operación de la API StopQuery.

  • Para devolver los datos de una consulta que haya creado, consulte la operación de la API GetQueryResults.

  • Para recuperar el estado de una consulta, consulte la operación de la API GetQueryStatus.

Consultas de ejemplo

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. 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 + 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

Por último, supongamos que desea recuperar datos del TTFB para 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"] }, ] }

Obtención de los resultados de la consulta

Tras definir una consulta, puede devolver un conjunto de resultados mediante la consulta, ejecutando otra operación de la API de Internet Monitor, GetQueryResults. 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. 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

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.

Resolución de problemas

Si se devuelven errores cuando utiliza las operaciones de la API de la interfaz de consulta, compruebe que dispone de los permisos necesarios para utilizar Amazon CloudWatch 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 Permisos de IAM para Amazon CloudWatch Internet Monitor.