Conceptos de Amazon CloudWatch
Los siguientes conceptos y terminología son fundamentales para entender y utilizar Amazon CloudWatch:
Para obtener más información acerca de las cuotas de servicio para las métricas de CloudWatch, alarmas, solicitudes de la API y las notificaciones de alarma por email, consulte CloudWatch Service Quotas.
Espacios de nombres
Un espacio de nombres es un contenedor para métricas de CloudWatch. Las métricas en distintos espacios de nombres están aisladas entre sí, de forma que las métricas de distintas aplicaciones no estén acumuladas por error en las mismas estadísticas.
No hay ningún espacio de nombres predeterminado. Especifique un espacio de nombres para cada punto de datos que publique en CloudWatch. Puede especificar un nombre de espacio de nombres al crear una métrica. Estos nombres deben contener caracteres ASCII válidos y tener 255 caracteres o menos. Los caracteres posibles son: caracteres alfanuméricos (0-9A-Za-z), punto (.), guion (-), guion bajo (_), barra inclinada (/), almohadilla (#), dos puntos (:) y el espacio. Un espacio de nombres debe contener al menos un carácter que no sea un espacio en blanco.
Los espacios de nombres de AWS utilizan normalmente la siguiente convención de nomenclatura: AWS/
. Por ejemplo, Amazon EC2 utiliza el espacio de nombres de Amazon EC2. service
AWS/EC2
Para obtener la lista de espacios de nombres de AWS, consulte Servicios de AWS que publican métricas de CloudWatch.
Métricas
Las Métricas son el concepto fundamental en CloudWatch. Un métrica representa una serie de puntos de datos ordenados por tiempo que se publican en CloudWatch. Una métrica es una variable que hay que monitorizar y los puntos de datos son los valores de esa variable a lo largo del tiempo. Por ejemplo, el uso de la CPU de una determinada instancia EC2 es una métrica que Amazon EC2 proporciona. Los propios puntos de datos pueden proceder de cualquier aplicación o actividad empresarial desde la que recopile datos.
De forma predeterminada, diversos servicios de AWS ofrecen métricas gratuitas para recursos (tales como instancias de Amazon EC2, volúmenes de Amazon EBS e instancias de base de datos de Amazon RDS). También puede habilitar el monitoreo detallado para algunos recursos, como las instancias Amazon EC2 o publicar sus propias métricas de aplicación. Para métricas personalizadas, añada los puntos de datos en cualquier orden y a la velocidad que elija. Puede recuperar estadísticas sobre dichos puntos de datos como un conjunto ordenado de datos de serie temporal.
Las métricas existen solo en la región en que se han creado. Las métricas no se pueden eliminar, pero vencen automáticamente a los 15 meses si no se publican datos nuevos. Los puntos de datos con más de 15 meses caducarán sucesivamente; a medida que se introducen nuevos puntos de datos, los datos con más de quince meses se eliminan.
Las métricas se definen de forma exclusiva mediante un nombre, un espacio de nombres y cero o varias dimensiones. Cada punto de datos de una métrica tiene una marca temporal y, opcionalmente, una unidad de medida. Recuperar estadísticas de CloudWatch para cualquier métrica.
Para obtener más información, consulte Ver métricas disponibles y Publish custom metrics.
Marcas temporales
Cada punto de datos de métrica debe asociarse a una marca temporal. La marca temporal puede ser de hasta dos semanas en el pasado y de hasta dos horas en el futuro. Si no proporciona una marca temporal, CloudWatch crea una en función de la hora a la que se recibió el punto de datos.
Las marcas temporales son objetos dateTime
, con la fecha completa más horas, minutos y segundos (por ejemplo, 2016-10-31T23:59:59 Z). Para obtener más información, consulte dateTime
Las alarmas de CloudWatch verifican las métricas en función de la hora actual en UTC. Las métricas personalizadas enviadas a CloudWatch con marcas temporales que no sean la hora UTC actual pueden hacer que las alarmas muestren el estado Insufficient Data (Datos insuficientes) o dar lugar a retrasos en las alarmas.
Retención de métricas
CloudWatch retiene los datos de las métricas como se indica a continuación:
-
Los puntos de datos con un período de menos de 60 segundos están disponibles durante 3 horas. Estos puntos de datos son métricas personalizadas de alta resolución.
-
Los puntos de datos con un período de 60 segundos (1 minuto) están disponibles durante 15 días
-
Los puntos de datos con un período de 300 segundos (5 minutos) están disponibles durante 63 días
-
Los puntos de datos con un período de 3 600 segundos (1 hora) están disponibles para 455 días (15 meses)
Los puntos de datos que se publican inicialmente con un periodo más corto se acumulan para almacenarlos a largo plazo. Por ejemplo, si recopila datos con un periodo de 1 minuto, los datos están disponibles durante 15 días con una resolución de 1 minuto. Después de 15 días estos datos siguen estando disponibles, pero se acumulan y solo se pueden recuperar con una resolución de 5 minutos. Después de 63 días, los datos siguen acumulándose y están disponibles con una resolución de 1 hora.
nota
Las métricas que no han tenido nuevos puntos de datos en las últimas dos semanas no aparecen en la consola. Tampoco aparecen al escribir su nombre de métrica o nombres de dimensión en el cuadro de búsqueda de la pestaña Todas las métricas de la consola y no se devuelven en los resultados de un comando list-metrics. La mejor manera de recuperar estas métricas es con los comandos get-metric-data o get-metric-statistics de la AWS CLI.
Dimensiones
Una dimensión es un par de nombre-valor que forma parte de la identidad de una métrica. Puede asignar hasta 30 dimensiones a una métrica.
Cada métrica tiene características específicas que la describen y puede considerar las dimensiones como categorías para las características. Las dimensiones le ayudan a diseñar una estructura para su plan de estadísticas. Dado que las dimensiones forman parte del identificador único de una métrica, si añade un par único nombre/valor a una de las métricas, está creando una nueva variación de esa métrica.
Los servicios de AWS que envían datos a CloudWatch adjuntan dimensiones a cada métrica. Puede utilizar dimensiones para filtrar los resultados que muestra CloudWatch. Por ejemplo, puede obtener estadísticas para una instancia EC2 concreta especificando la dimensión InstanceId
al buscar métricas.
Para las métricas que determinados servicios de AWS producen, como Amazon EC2, CloudWatch puede acumular datos a través de las dimensiones. Por ejemplo, si busca métricas en el espacio de nombres de Amazon EC2 pero sin especificar ninguna dimensión, CloudWatch acumula todos los datos de la métrica especificada para crear la estadística que ha solicitado. AWS/EC2
CloudWatch no acumula entre dimensiones para las métricas personalizadas.
Combinación de dimensiones
CloudWatch trata cada combinación exclusiva de dimensiones como una métrica independiente, incluso si las métricas tienen el mismo nombre de métrica. Solo puede recuperar estadísticas utilizando combinaciones de dimensiones que haya publicado específicamente. Al recuperar estadísticas, especifique los mismos valores para el espacio de nombres, el nombre de la métrica y los parámetros de dimensión que se utilizaron cuando se crearon las métricas. También se pueden especificar las horas de inicio y finalización que utiliza CloudWatch para la agregación.
Por ejemplo, suponga que publica cuatro métricas distintas denominadas ServerStats en el espacio de nombres DataCenterMetric con las siguientes propiedades:
Dimensions: Server=Prod, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:30:00Z, Value: 105 Dimensions: Server=Beta, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:31:00Z, Value: 115 Dimensions: Server=Prod, Domain=Rio, Unit: Count, Timestamp: 2016-10-31T12:32:00Z, Value: 95 Dimensions: Server=Beta, Domain=Rio, Unit: Count, Timestamp: 2016-10-31T12:33:00Z, Value: 97
Si publica solo estas cuatro métricas, puede recuperar estadísticas para estas combinaciones de dimensiones:
-
Server=Prod,Domain=Frankfurt
-
Server=Prod,Domain=Rio
-
Server=Beta,Domain=Frankfurt
-
Server=Beta,Domain=Rio
No puede recuperar estadísticas para las siguientes dimensiones o si no especifica ninguna dimensión. (La excepción es el uso de la función SEARCH (BUSCAR) de los cálculos de las métricas, que puede recuperar estadísticas para varias métricas. Para obtener más información, consulte Usar expresiones de búsqueda en gráficos.)
-
Server=Prod
-
Server=Beta
-
Domain=Frankfurt
-
Domain=Rio
Resolución
Cada métrica es una de las siguientes:
Resolución estándar, con datos cuya granularidad es de un minuto
Alta resolución, con datos cuya granularidad es de un segundo
De forma predeterminada, las métricas producidas por los servicios de AWS son de resolución estándar. Al publicar una métrica personalizada, puede definirla como de resolución estándar o de alta resolución. Cuando publica una métrica de alta resolución, CloudWatch la almacena con una resolución de 1 segundo, y puede leerla y recuperarla con un periodo de 1 segundo, 5 segundos, 10 segundos, 30 segundos o cualquier múltiplo de 60 segundos.
Las métricas de alta resolución pueden ofrecerle más información inmediata acerca de las actividades de su aplicación, cuya duración sea inferior a un minuto. Tenga en cuenta que cada llamada a PutMetricData
para una métrica personalizada se cobra; por tanto, realizar llamadas a PutMetricData
con más frecuencia en una métrica de alta resolución podría derivar en cargos más elevados. Para obtener más información sobre los precios de CloudWatch, consulte Precios de Amazon CloudWatch
Si configura una alarma en una métrica de alta resolución, puede especificar una alarma de alta resolución con un periodo de 10 o 30 segundos, o puede definir una alarma normal con un periodo de cualquier múltiplo de 60 segundos. El cargo es mayor para las alarmas de alta resolución con un periodo de 10 o 30 segundos.
Statistics
Las estadísticas son agregaciones de datos de métricas correspondientes a periodos especificados. CloudWatch proporciona estadísticas en función de los puntos de datos de las métricas que proporcionan los datos personalizados u otros servicios de AWS para CloudWatch. Las acumulaciones se realizan utilizando el espacio de nombres, el nombre de métrica, las dimensiones y la unidad de medida de punto de datos, dentro del período de tiempo que especifique.
Para obtener definiciones detalladas de las estadísticas que CloudWatch admite, consulte Definiciones de estadísticas de CloudWatch.
Unidades
Cada estadística tiene una unidad de medida. Entre las unidades de ejemplo se incluyen Bytes
, Seconds
, Count
y Percent
. Para ver la lista completa de las unidades que CloudWatch admite, consulte el tipo de datos MetricDatum en la Referencia de la API de Amazon CloudWatch.
Puede especificar una unidad al crear una métrica personalizada. Si no especifica una unidad, CloudWatch utiliza None
como unidad. Las unidades ayudan a aportar significado conceptual a los datos. Aunque CloudWatch no concede ninguna importancia a una unidad internamente, otras aplicaciones obtienen información semántica en función de la unidad.
Los puntos de datos de métricas que especifican una unidad de medida se suman por separado. Cuando se obtienen estadísticas sin especificar una unidad, CloudWatch acumula todos los puntos de datos de la misma unidad en forma conjunta. Si tiene dos métricas idénticas con distintas unidades, se devuelven dos flujos de datos independientes, uno por cada unidad.
Periodos
Un período es el tiempo asociado a una estadística de Amazon CloudWatch específica. Cada estadística representa una suma de los datos de métricas recopilados durante un periodo de tiempo especificado. Los periodos se definen en números de segundos, y los valores válidos para el periodo son 1, 5, 10, 30 o cualquier múltiplo de 60. Por ejemplo, para especificar un periodo de seis minutos, utilice el valor de periodo 360. Puede ajustar la forma en que los datos se acumulan variando la duración del periodo. El valor de predeterminado de un periodo es de 60 segundos. Un periodo puede ser tan breve como un segundo y debe ser un múltiplo de 60 si es mayor que el valor predeterminado de 60 segundos.
Solo las métricas personalizadas que defina con una resolución de almacenamiento de 1 segundo admiten periodos inferiores a un minuto. Aunque la opción de establecer un periodo inferior a 60 siempre está disponible en la consola, debe seleccionar un periodo acorde con el almacenamiento de la métrica. Para obtener más información sobre las métricas que admiten periodos inferiores a un minuto, consulte Métricas de alta resolución.
Al recuperar las estadísticas, puede especificar un periodo, hora de inicio y hora de finalización. Estos parámetros determinan la duración de tiempo asociada a las estadísticas. Los valores predeterminados de la hora de inicio y de finalización le proporcionan las estadísticas de la última hora. Los valores que especifique para la hora de inicio y la hora de finalización determinan cuántos periodos muestra CloudWatch. Por ejemplo, la recuperación de estadísticas utilizando los valores predeterminados para el período, hora de inicio y hora de finalización devuelven un conjunto acumulado de estadísticas para cada minuto de la hora anterior. Si prefiere estadísticas acumuladas en bloques de diez minutos, especifique un periodo de 600. Para estadísticas acumuladas en toda la hora, especifique un periodo de 3 600.
Cuando se acumulan estadísticas a lo largo de un periodo de tiempo, se marcan con la hora correspondiente al principio del periodo. Por ejemplo, los datos acumulados desde las 19:00 hasta las 20:00 horas se marcan como 19:00 h. Además, datos acumulados entre las 19:00 y las 20:00 h empiezan a ser visibles a las 19:00 horas y, a continuación, los valores de esos datos acumulados pueden cambiar a medida que CloudWatch recopila más muestras durante el periodo.
Los períodos también son importantes para las alarmas de CloudWatch. Cuando se crea una alarma para monitorear una métrica específica, le solicita a CloudWatch que compare dicha métrica con el valor del umbral que especificó. Tiene amplio control sobre la manera en que CloudWatch lleva a cabo la comparación. No solo puede especificar el periodo durante el que se realiza la comparación, sino que además puede especificar cuántos periodos de evaluación se utilizan para llegar a una conclusión. Por ejemplo, si especifica tres periodos de evaluación, CloudWatch compara una ventana de tres puntos de datos. CloudWatch solo le notifica si el punto de datos más antiguo falla y si los demás fallan o faltan.
Agregación
Amazon CloudWatch acumula estadísticas de acuerdo con la duración del periodo que especifique al recuperar las estadísticas. Publique tantos puntos de datos como desee con las mismas marcas temporales o similares. CloudWatch las acumula de acuerdo con la longitud de período que se especifique. CloudWatch no acumula datos automáticamente entre Regiones, pero utilice matemáticas de métricas para agregar métricas de distintas Regiones.
Publique puntos de datos para una métrica que comparte no solo la misma marca temporal, sino también el mismo espacio de nombres y dimensiones. CloudWatch muestra las estadísticas acumuladas para dichos puntos de datos. También puede publicar varios puntos de datos para la misma métrica o distintas, con cualquier marca temporal.
Para conjuntos de datos de gran tamaño, puede insertar un conjunto de datos acumulados previamente denominado conjunto estadístico. Con los conjuntos estadísticos, usted le proporciona a CloudWatch los valores Min, Max, Sum y SampleCount para una serie de puntos de datos. Esto se utiliza generalmente cuando hay que recopilar datos muchas veces en un minuto. Por ejemplo, suponga que tiene una métrica para la latencia de solicitudes de una página web. No tiene sentido publicar datos con cada visita a la página web. Se recomienda que recopile la latencia de todas las visitas a dicha página web, las acumule una vez por minuto y que envíe dicho conjunto estadístico a CloudWatch.
Amazon CloudWatch no diferencia la fuente de una métrica. Si publica una métrica con el mismo espacio de nombres y dimensiones de distintas fuentes, CloudWatch las trata como una única métrica. Esto puede resultar útil para métricas de servicio en un sistema de escala distribuido. Por ejemplo, todos los anfitriones de una aplicación del servidor web podrían publicar métricas idénticas que representan la latencia de las solicitudes que están procesando. CloudWatch las trata como una única métrica, lo que le permite obtener estadísticas de mínimo, máximo, promedio y suma de todas las solicitudes en la aplicación.
Percentiles
Un percentil indica el peso relativo de un valor en un conjunto de datos. Por ejemplo, el percentil 95 significa que el 95 por ciento de los datos está por debajo de este valor y el 5 por ciento de los datos está por encima del mismo. Los percentiles le ayudan a entender mejor la distribución de los datos de métricas.
Los percentiles se suelen utilizar para aislar anomalías. En una distribución normal, el 95 % de los datos está dentro de dos desvíos estándar de la media y el 99,7 % de los datos está dentro de tres desvíos estándar de la media. Cualquier dato que quede fuera de las tres desvíos estándar se suele considerar una anomalía ya que se aleja mucho del valor medio. Por ejemplo, suponga que está monitorizando la utilización de la CPU de las instancias EC2 para asegurarse de que sus clientes disfruten de una buena experiencia. Si monitoriza la media, esto puede ocultar anomalías. Si monitoriza el máximo, una única anomalía puede sesgar los resultados. Mediante los percentiles, puede monitorizar el percentil 95.º de la utilización de la CPU para comprobar si hay instancias con una carga excepcionalmente alta.
Algunas métricas de CloudWatch admiten percentiles como una estadística. Para estas métricas, puede monitorear el sistema y las aplicaciones con percentiles como haría al usar el resto de las estadísticas de CloudWatch (Promedio, Mínimo, Máximo y Suma). Por ejemplo, al crear una alarma, puede utilizar los percentiles como función estadística. Puede especificar el percentil con hasta dos decimales (por ejemplo, p 95,0123456789).
Las estadísticas de percentiles están disponibles para las métricas personalizadas, siempre y cuando publique puntos de datos sin resumir y sin formato para la métrica personalizada. Las estadísticas de percentiles no están disponibles para las métricas cuando alguno de los valores de métricas es un número negativo.
CloudWatch necesita puntos de datos sin procesar para calcular los percentiles. Si en cambio publica datos a través de un conjunto estadístico, solo puede recuperar estadísticas de percentiles para estos datos si es cierta una de las siguientes condiciones:
El valor de SampleCount del conjunto estadístico es 1 y el mínimo, el máximo y la suma son todos iguales.
El mínimo y el máximo son iguales y la suma es igual al mínimo multiplicado por SampleCount.
Los siguientes ejemplos de servicios de AWS incluyen métricas que admiten estadísticas de percentiles.
API Gateway
Application Load Balancer
Amazon EC2
Elastic Load Balancing
Kinesis
Amazon RDS
CloudWatch también admite las medias recortadas y otras estadísticas de rendimiento que pueden tener un uso similar como percentiles. Para obtener más información, consulte Definiciones de estadísticas de CloudWatch.
Alarmas
Puede utilizar una alarma para iniciar automáticamente acciones en su nombre. Una alarma vigila una única métrica durante el período especificado y realiza una o varias acciones especificadas según el valor de la métrica relativo a un determinado umbral durante un período de tiempo. La acción es una notificación que se envía a un tema de Amazon SNS o a una política de Auto Scaling. También puede agregar alarmas a paneles.
Las alarmas invocan acciones únicamente para los cambios de estado prolongados. Las alarmas de CloudWatch no invocan acciones simplemente porque se encuentren en un estado determinado. El estado debe haber cambiado y debe mantenerse durante el número de periodos especificado.
Al crear una alarma, seleccione un período de monitoreo de alarma mayor o igual que la resolución de la métrica. Por ejemplo, el monitoreo básico de Amazon EC2 proporciona métricas para las instancias cada 5 minutos. Al configurar una alarma en una métrica de monitorización básica, seleccione un periodo de al menos 300 segundos (5 minutos). El monitoreo detallado para Amazon EC2 proporciona métricas para las instancias con una resolución de 1 minuto. Al configurar una alarma en una métrica de monitorización detallada, seleccione un periodo de al menos 60 segundos (1 minuto).
Si configura una alarma en una métrica de alta resolución, puede especificar una alarma de alta resolución con un periodo de 10 o 30 segundos, o puede definir una alarma normal con un periodo de cualquier múltiplo de 60 segundos. El cargo es mayor en el caso de las alarmas de alta resolución. Para obtener más información acerca de las métricas de alta resolución, consulte Publish custom metrics.
Para obtener más información, consulte Uso de las alarmas de Amazon CloudWatch y Crear una alarma desde una métrica en un gráfico.