Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
stats
Utilice stats
para crear visualizaciones de los datos de registro, como gráficos de barras, gráficos de líneas y gráficos de áreas apiladas. Esto le ayuda a identificar de forma más eficiente los patrones en los datos de registro. CloudWatch Logs Insights genera visualizaciones para las consultas que utilizan la stats
función y una o más funciones de agregación.
Por ejemplo, la siguiente consulta en un grupo de registro de Route 53 devuelve visualizaciones que muestran la distribución de los registros de Route 53 por hora, por tipo de consulta.
stats count(*) by queryType, bin(1h)
Todas estas consultas pueden generar gráficos de barras. Si la consulta utiliza la función bin()
para agrupar los datos en función de un mismo campo a lo largo del tiempo, también puede ver gráficos de líneas y gráficos de áreas apiladas.
La función bin
admite las siguientes unidades de tiempo y abreviaturas. Para todas las unidades y abreviaturas que incluyan más de un carácter, se admite agregar s para pluralizar. Así que tanto hr
como hrs
funcionan para especificar las horas.
millisecond
ms
msec
second
s
sec
minute
m
min
hour
h
hr
day
d
week
w
month
mo
mon
quarter
q
qtr
year
y
yr
Temas
Visualización de datos de series temporales
Las visualizaciones de series temporales funcionan con las consultas que tienen las siguientes características:
-
La consulta contiene una o varias funciones de agregación. Para obtener más información, consulte Aggregation Functions in the Stats Command.
-
La consulta utiliza la función
bin()
para agrupar los datos por un campo.
Estas consultas pueden generar gráficos de líneas, de áreas apiladas, de barras y circulares.
Ejemplos
Para ver un tutorial completo, consulte Tutorial: Ejecutar una consulta que produce una visualización de serie temporal.
Aquí hay más consultas de ejemplo que funcionan para la visualización de series temporales.
La siguiente consulta genera una visualización de los valores medios del campo myfield1
, con un punto de datos creado cada cinco minutos. Cada punto de datos es la agregación de las medias de los valores myfield1
de los registros de los últimos cinco minutos.
stats avg(myfield1) by bin(5m)
La siguiente consulta genera una visualización de los tres valores basados en diferentes campos, con un punto de datos creado cada cinco minutos. La visualización se genera porque la consulta contiene las funciones de agregación y utiliza bin()
como campo de agrupación.
stats avg(myfield1), min(myfield2), max(myfield3) by bin(5m)
Restricciones de los gráficos de líneas y de áreas apiladas
Las consultas que agregan información de entradas de registro pero no utilizan la función bin()
pueden generar gráficos de barras. Sin embargo, las consultas no pueden generar gráficos de líneas ni gráficos de áreas apiladas. Para obtener más información sobre estos tipos de consultas, visite Visualización de datos de registro agrupados por campos.
Visualización de datos de registro agrupados por campos
Puede generar gráficos de barras para consultas que utilizan la función stats
y una o varias funciones de agregación. Para obtener más información, consulte Aggregation Functions in the Stats Command.
Para ver la visualización, ejecute la consulta. A continuación, elija la pestaña Visualization (Visualización), seleccione la flecha situada junto a Line (Línea) y haga clic en Bar (Barra). Las visualizaciones de los gráficos de barras tienen un límite máximo de 100 barras.
Ejemplos
Para ver un tutorial completo, consulte Tutorial: Ejecutar una consulta que produce una visualización agrupada por campos de registro. Los párrafos siguientes incluyen más consultas de ejemplo de visualizaciones por campos.
La siguiente consulta de registro de flujo de VPC busca el número medio de bytes transferidos por sesión en cada dirección de destino.
stats avg(bytes) by dstAddr
También puede generar un gráfico que contenga varias barras para cada valor resultante. Por ejemplo, la siguiente consulta de registro de flujo de VPC busca el número medio y máximo de bytes transferidos por sesión en cada dirección de destino.
stats avg(bytes), max(bytes) by dstAddr
En la siguiente consulta, se busca el número de registros de Amazon Route 53 para cada tipo de consulta.
stats count(*) by queryType
Utilice varios comandos de estadísticas en una sola consulta
Puede usar hasta dos comandos stats
en una sola consulta. Esto le permite realizar una agregación adicional en el resultado de la primera agregación.
Ejemplo: consulta con dos comandos stats
Por ejemplo, la siguiente consulta busca primero el volumen de tráfico total en los intervalos de 5 minutos y, a continuación, calcula el volumen de tráfico más alto, más bajo y medio de esos intervalos de 5 minutos.
FIELDS strlen(@message) AS message_length | STATS sum(message_length)/1024/1024 as logs_mb BY bin(5m) | STATS max(logs_mb) AS peak_ingest_mb, min(logs_mb) AS min_ingest_mb, avg(logs_mb) AS avg_ingest_mb
Ejemplo: combine varios comandos de estadísticas con otras funciones, como filter
, fields
, bin
Puede combinar dos comandos stats
con otros comandos, como filter
y fields
, en una sola consulta. Por ejemplo, la siguiente consulta busca el número de direcciones IP distintas en las sesiones y busca el número de sesiones por plataforma de cliente, filtra esas direcciones IP y, finalmente, busca el promedio de solicitudes de sesión por plataforma del cliente.
STATS count_distinct(client_ip) AS session_ips, count(*) AS requests BY session_id, client_platform | FILTER session_ips > 1 | STATS count(*) AS multiple_ip_sessions, sum(requests) / count(*) AS avg_session_requests BY client_platform
Puede utilizar funciones bin
y dateceil
en consultas con varios comandos stats
. Por ejemplo, la siguiente consulta combina primero los mensajes en bloques de 5 minutos, luego agrega esos bloques de 5 minutos en bloques de 10 minutos y calcula los volúmenes de tráfico más altos, más bajos y promedio dentro de cada bloque de 10 minutos.
FIELDS strlen(@message) AS message_length | STATS sum(message_length) / 1024 / 1024 AS logs_mb BY BIN(5m) as @t | STATS max(logs_mb) AS peak_ingest_mb, min(logs_mb) AS min_ingest_mb, avg(logs_mb) AS avg_ingest_mb BY dateceil(@t, 10m)
Notas y limitaciones
Una consulta puede tener un máximo de dos comandos stats
. Esta cuota no se puede cambiar.
Si utiliza un comando sort
o limit
, debe aparecer después del segundo comando stats
. Si está antes del segundo comando stats
, la consulta no es válida.
Cuando una consulta tiene dos comandos stats
, los resultados parciales de la consulta no comienzan a mostrarse hasta que se completa la primera agregación stats
.
En el segundo comando stats
de una consulta única, solo puede hacer referencia a los campos definidos en el primer comando stats
. Por ejemplo, la siguiente consulta no es válida porque el campo @message
no estará disponible después de la primera agregación stats
.
FIELDS @message | STATS SUM(Fault) by Operation # You can only reference `SUM(Fault)` or Operation at this point | STATS MAX(strlen(@message)) AS MaxMessageSize # Invalid reference to @message
Todos los campos a los que haga referencia después del primer comando stats
deben definirse en ese primer comando stats
.
STATS sum(x) as sum_x by y, z | STATS max(sum_x) as max_x by z # You can only reference `max(sum_x)`, max_x or z at this point
importante
La función bin
siempre utiliza el campo @timestamp
de forma implícita. Esto significa que no se puede usar bin
en el segundo comando stats
sin usar el primer comando stats
para propagar el campo timestamp
. Por ejemplo, la siguiente consulta no es válida.
FIELDS strlen(@message) AS message_length | STATS sum(message_length) AS ingested_bytes BY @logStream | STATS avg(ingested_bytes) BY bin(5m) # Invalid reference to @timestamp field
En su lugar, defina el campo @timestamp
en el primer comando stats
y, a continuación, podrá usarlo con dateceil
en el segundo comando stats
, como en el siguiente ejemplo.
FIELDS strlen(@message) AS message_length | STATS sum(message_length) AS ingested_bytes, max(@timestamp) as @t BY @logStream | STATS avg(ingested_bytes) BY dateceil(@t, 5m)
Funciones para usar con estadísticas
CloudWatch Logs Insights admite tanto las funciones de agregación de estadísticas como las funciones de no agregación de estadísticas.
Utilice las funciones de agregación de estadísticas en el comando stats
y como argumentos para otras funciones.
Función | Tipo de resultado | Descripción |
---|---|---|
|
número |
La media de los valores en el campo especificado. |
|
número |
Cuenta los eventos de registro. |
|
número |
Devuelve el número de valores únicos para el campo. Si el campo tiene una cardinalidad muy alta (contiene muchos valores únicos), el valor devuelto por |
|
LogFieldValue |
El máximo de los valores para este campo de registro en los registros consultados. |
|
LogFieldValue |
El mínimo de los valores para este campo de registro en los registros consultados. |
|
LogFieldValue |
Un percentil indica el peso relativo de un valor en un conjunto de datos. Por ejemplo, |
|
número |
El desvío estándar de los valores en el campo especificado. |
|
número |
La suma de los valores en el campo especificado. |
Funciones sin agregación de estadísticas
Utilice las funciones de no agregación en el comando stats
y como argumentos para otras funciones.
Función | Tipo de resultado | Descripción |
---|---|---|
|
LogField |
Devuelve el valor de |
|
LogField |
Devuelve el valor de |
|
LogField |
Devuelve el valor de |
|
LogField |
Devuelve el valor de |