Funciones booleanas, de comparación, numéricas, de fecha y hora y otras - Amazon CloudWatch Logs

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.

Funciones booleanas, de comparación, numéricas, de fecha y hora y otras

CloudWatch Logs Insights admite muchas otras operaciones y funciones en las consultas, como se explica en las siguientes secciones.

Operadores aritméticos

Los operadores aritméticos aceptan tipos de datos numéricos como argumentos y devuelven resultados numéricos. Utilice operadores aritméticos en los comandos filter y fields y como argumentos para otras funciones.

Operación Descripción

a + b

Suma

a - b

Resta

a * b

Multiplicación

a / b

División

a ^ b

Potencia (2 ^ 3 devuelve 8)

a % b

Resto o módulo (10 % 3 devuelve 1)

Operadores booleanos

Utilice los operadores booleanos and, or y not.

nota

Utilice operadores booleanos solo en funciones que devuelvan el valor TRUE o FALSE.

Operadores de comparación

Los operadores de comparación aceptan todos los tipos de datos como argumentos y devuelven un resultado booleano. Utilice operadores de comparación en el comando filter y como argumentos para otras funciones.

Operador Descripción

=

Igualdad

!=

Desigualdad

<

Menor que

>

Mayor que

<=

Menor o igual que

>=

Mayor o igual que

Operadores numéricos

Las operaciones numéricas aceptan tipos de datos numéricos como argumentos y devuelven resultados numéricos. Utilice operaciones numéricas en los comandos filter y fields y como argumentos para otras funciones.

Operación Tipo de resultado Descripción

abs(a: number)

number

Valor absoluto

ceil(a: number)

number

Redondeo a valor máximo (menor número entero que es mayor que el valor de a).

floor(a: number)

number

Redondeo a valor mínimo (mayor número entero que es menor que el valor de a).

greatest(a: number, ...numbers: number[])

number

Devuelve el valor más alto

least(a: number, ...numbers: number[])

number

Devuelve el valor más bajo

log(a: number)

number

Registro natural

sqrt(a: number)

number

Raíz cuadrada

Funciones DateTime

Funciones DateTime

Utilice funciones datetime en los comandos fields y filter y como argumentos para otras funciones. Utilice estas funciones para crear buckets de hora para consultas con funciones de agregación. Utilice períodos de tiempo que consten de un número y uno de los siguientes elementos:

  • msdurante milisegundos

  • sdurante segundos

  • mdurante minutos

  • hdurante horas

Por ejemplo, 10m es 10 minutos y 1h es 1 hora.

nota

Utilice la unidad de tiempo más adecuada para su función de fecha y hora. CloudWatch Los registros limitan su solicitud de acuerdo con la unidad de tiempo que elija. Por ejemplo, pone un límite de 60 como valor máximo para cualquier solicitud que utilices. Por lo tanto, si lo especificasbin(300s), CloudWatch Logs en realidad lo implementa como 60 segundos, ya que 60 es el número de segundos que hay en un minuto, por lo que CloudWatch Logs no utilizará un número superior a 60s. Para crear un intervalo de 5 minutos, utilízalo bin(5m) en su lugar.

El límite para ms es 1000, el límite para s y m es 60 y el límite para h es 24.

En la siguiente tabla, se incluye una lista de las distintas funciones datetime que se pueden usar en comandos de consulta. La tabla enumera el tipo de resultado de cada función y contiene una descripción de cada función.

sugerencia

Al crear un comando de consulta, puede utilizar el selector de intervalos de tiempo para seleccionar un periodo de tiempo que desea consultar. Por ejemplo, puede establecer un periodo entre intervalos de 5 a 30 minutos; intervalos de 1, 3 y 12 horas; o un marco temporal personalizado. También puede establecer periodos de tiempo entre fechas específicas.

Función Tipo de resultado Descripción

bin(period: Period)

Timestamp

Redondea el valor de @timestamp según el periodo de tiempo indicado y, a continuación, trunca. Por ejemplo, bin(5m) redondea el valor de @timestamp a los 5 minutos más cercanos.

Puede usarlo para agrupar varias entradas de registro en una consulta. En el siguiente ejemplo, se devuelve el número de excepciones por hora:

filter @message like /Exception/ | stats count(*) as exceptionCount by bin(1h) | sort exceptionCount desc

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

datefloor(timestamp: Timestamp, period: Period)

Timestamp

Trunca la marca temporal según el periodo indicado. Por ejemplo, datefloor(@timestamp, 1h) trunca todos los valores de @timestamp en la parte inferior de la hora.

dateceil(timestamp: Timestamp, period: Period)

Timestamp

Redondea hacia arriba la marca temporal según el periodo indicado y, a continuación, trunca. Por ejemplo, dateceil(@timestamp, 1h) trunca todos los valores de @timestamp en la parte superior de la hora.

fromMillis(fieldName: number)

Timestamp

Interpreta el campo de entrada como el número de milisegundos desde la fecha de inicio de Unix y lo convierte en una marca de tiempo.

toMillis(fieldName: Timestamp)

number

Convierte la marca de tiempo que se encontró en el campo con nombre asignado en un número que representa los milisegundos desde la fecha de inicio de Unix. Por ejemplo, toMillis(@timestamp) convierte la marca temporal 2022-01-14T13:18:031.000-08:00 a 1642195111000.

nota

Actualmente, CloudWatch Logs Insights no admite el filtrado de registros con marcas de tiempo legibles por humanos.

Funciones generales

Funciones generales

Utilice funciones generales en los comandos fields y filter y como argumentos para otras funciones.

Función Tipo de resultado Descripción

ispresent(fieldName: LogField)

Booleano

Devuelve true si el campo existe

coalesce(fieldName: LogField, ...fieldNames: LogField[])

LogField

Devuelve el primer valor no nulo de la lista

Funciones de cadena de dirección IP

Funciones de cadena de dirección IP

Utilice funciones de cadena de dirección IP en los comandos filter y fields y como argumentos para otras funciones.

Función Tipo de resultado Descripción

isValidIp(fieldName: string)

booleano

Devuelve true si el campo es una dirección IPv4 o IPv6 válida.

isValidIpV4(fieldName: string)

boolean

Devuelve true si el campo es una dirección IPv4 válida.

isValidIpV6(fieldName: string)

boolean

Devuelve true si el campo es una dirección IPv6 válida.

isIpInSubnet(fieldName: string, subnet: string)

boolean

Devuelve true si el campo es una dirección IPv4 o IPv6 válida dentro de la subred v4 o v6 especificada. Al especificar la subred, utilice la notación CIDR como 192.0.2.0/24 o 2001:db8::/32, donde 192.0.2.0 o 2001:db8:: es el inicio del bloque de CIDR.

isIpv4InSubnet(fieldName: string, subnet: string)

boolean

Devuelve true si el campo es una dirección IPv4 válida dentro de la subred v4 especificada. Al especificar la subred, utilice la notación CIDR como 192.0.2.0/24, donde 192.0.2.0 es el inicio del bloque de CIDR.

isIpv6InSubnet(fieldName: string, subnet: string)

boolean

Devuelve true si el campo es una dirección IPv6 válida dentro de la subred v6 especificada. Al especificar la subred, utilice la notación CIDR como 2001:db8::/32, donde 2001:db8:: es el inicio del bloque de CIDR.

Funciones de cadena

Funciones de cadena

Utilice funciones de cadena en los comandos fields y filter y como argumentos para otras funciones.

Función Tipo de resultado Descripción

isempty(fieldName: string)

Número

Devuelve 1 si el campo no se encuentra o es una cadena vacía.

isblank(fieldName: string)

Número

Devuelve 1 si el campo no se encuentra, es una cadena vacía o solo contiene espacio en blanco.

concat(str: string, ...strings: string[])

cadena

Concatena las cadenas.

ltrim(str: string)

ltrim(str: string, trimChars: string)

cadena

Si la función no tiene un segundo argumento de cadena, elimina los espacios en blanco de la izquierda de la cadena. Si la función tiene un segundo argumento de cadena, no elimina espacios en blanco. En su lugar, elimina los caracteres de trimChars desde la izquierda de str. Por ejemplo, ltrim("xyZxyfooxyZ","xyZ") devuelve "fooxyZ".

rtrim(str: string)

rtrim(str: string, trimChars: string)

cadena

Si la función tiene un segundo argumento de cadena, elimina los espacios en blanco de la derecha de la cadena. Si la función tiene un segundo argumento de cadena, no elimina espacios en blanco. En su lugar, elimina los caracteres de trimChars desde la derecha de str. Por ejemplo, rtrim("xyZfooxyxyZ","xyZ") devuelve "xyZfoo".

trim(str: string)

trim(str: string, trimChars: string)

cadena

Si la función no tiene un segundo argumento, elimina espacios en blanco de ambos extremos de la cadena. Si la función tiene un segundo argumento de cadena, no elimina espacios en blanco. En su lugar, elimina los caracteres de trimChars desde ambos lados de str. Por ejemplo, trim("xyZxyfooxyxyZ","xyZ") devuelve "foo".

strlen(str: string)

number

Devuelve la longitud de la cadena puntos de código Unicode.

toupper(str: string)

cadena

Convierte la cadena en mayúsculas.

tolower(str: string)

cadena

Convierte la cadena de caracteres en minúsculas.

substr(str: string, startIndex: number)

substr(str: string, startIndex: number, length: number)

cadena

Devuelve una subcadena del índice especificado por el argumento numérico al final de la cadena. Si la función tiene un segundo argumento numérico, contiene la longitud de la subcadena que debe recuperarse. Por ejemplo, substr("xyZfooxyZ",3, 3) devuelve "foo".

replace(fieldName: string, searchValue: string, replaceValue: string)

cadena

Sustituye todas las instancias de searchValue en fieldName: string por replaceValue.

Por ejemplo, la función replace(logGroup,"smoke_test","Smoke") busca eventos de registro en los que el campo logGroup contiene el valor de cadena smoke_test y reemplaza el valor por la cadena Smoke.

strcontains(str: string, searchValue: string)

number

Devuelve 1 si str contiene searchValue y 0 en los demás casos.