Funções booleanas, de comparação, numéricas e de data e hora, entre outras - CloudWatch Registros da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Funções booleanas, de comparação, numéricas e de data e hora, entre outras

CloudWatch O Logs Insights oferece suporte a muitas outras operações e funções em consultas, conforme explicado nas seções a seguir.

Operadores aritméticos

Os operadores aritméticos aceitam tipos de dados numéricos como argumentos e retornam resultados numéricos. Use operadores aritméticos nos comandos filter e fields e como argumentos de outras funções.

Operation Descrição

a + b

Adição

a - b

Subtração

a * b

Multiplicação

a / b

Divisão

a ^ b

Exponenciação (2 ^ 3 retorna 8)

a % b

Resto ou módulo (10 % 3 retorna 1)

Operadores booleanos

Use os operadores booleanos and, or e not.

nota

Use operadores booleanos somente em funções que retornam um valor de TRUE ou FALSE.

Operadores de comparação

Os operadores de comparação aceitam todos os tipos de dados como argumentos e retornam um resultado booliano. Use operadores de comparação no comando filter e como argumentos de outras funções.

Operador Descrição

=

Equal

!=

Not equal

<

Menor que

>

Maior que

<=

Menor ou igual a

>=

Maior ou igual a

Operadores numéricos

As operações numéricas aceitam tipos de dados numéricos como argumentos e retornam resultados numéricos. Use operadores numéricos nos comandos filter e fields e como argumentos de outras funções.

Operation Tipo de resultado Descrição

abs(a: number)

número

Valor absoluto

ceil(a: number)

número

Arredonde para o máximo (o menor inteiro maior que o valor de a)

floor(a: number)

número

Arredonde para o mínimo (o maior inteiro menor que o valor de a)

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

número

Retorna o maior valor

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

número

Retorna o menor valor

log(a: number)

número

Log natural

sqrt(a: number)

número

Raiz quadrada

Funções de data e hora

Funções de data e hora

Use funções de data e hora nos comandos fields e filter e como argumentos de outras funções. Use essas funções para criar buckets de tempo para consultas com funções de agregação. Use períodos de tempo que consistam em um número e um dos seguintes:

  • mspor milissegundos

  • spor segundos

  • mpor minutos

  • hpor horas

Por exemplo, 10m é 10 minutos, e 1h é uma hora.

nota

Use a unidade de tempo mais apropriada para sua função de data e hora. CloudWatch Os registros limitam sua solicitação de acordo com a unidade de tempo que você escolher. Por exemplo, ele limita 60 como o valor máximo para qualquer solicitação que usas. Então, se você especificarbin(300s), o CloudWatch Logs realmente implementa isso como 60 segundos, porque 60 é o número de segundos em um minuto, então o CloudWatch Logs não usará um número maior que 60 coms. Para criar um bucket de 5 minutos, use bin(5m) em vez disso.

O limite para ms é 1000, os limites para s e m são 60 e o limite para h é 24.

A tabela a seguir contém uma lista das diferentes funções de data e hora que você pode usar nos comandos de consulta. A tabela lista o tipo de resultado de cada função e contém uma descrição de cada função.

dica

Quando você cria um comando de consulta, é possível usar o seletor de intervalo de tempo para selecionar um período que deseja consultar. Por exemplo, você pode definir um período entre intervalos de 5 e 30 minutos; intervalos de 1, 3 e 12 horas; ou um período personalizado. Você também pode definir períodos entre datas específicas.

Função Tipo de resultado Descrição

bin(period: Period)

Timestamp

Arredonda o valor de @timestamp para o período indicado e trunca. Por exemplo, bin(5m) arredonda o valor de @timestamp para os 5 minutos mais próximos.

Você pode usar isso para agrupar várias entradas de log em uma consulta. O seguinte exemplo conta a quantidade de exceções por hora:

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

As unidades e abreviações de tempo a seguir são compatíveis com a função bin. Para todas as unidades e abreviações que incluem mais de um caractere, é permitido adicionar "s" para formar o plural. Assim, ambos hr e hrs funcionam para especificar 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 o time stamp para o período indicado. Por exemplo, datefloor(@timestamp, 1h) trunca todos os valores de @timestamp no final.

dateceil(timestamp: Timestamp, period: Period)

Timestamp

Arredonda o time stamp para o período indicado e trunca. Por exemplo, dateceil(@timestamp, 1h) trunca todos os valores de @timestamp no início.

fromMillis(fieldName: number)

Timestamp

Interpreta o campo de entrada como o número de milissegundos desde a epoch do Unix e o converte em um time stamp.

toMillis(fieldName: Timestamp)

número

Converte o time stamp encontrado no campo nomeado em um número que representa os milissegundos desde a epoch do Unix. Por exemplo, toMillis(@timestamp) converte o carimbo de data/hora 2022-01-14T13:18:031.000-08:00 para 1642195111000.

nota

Atualmente, o CloudWatch Logs Insights não oferece suporte à filtragem de registros com carimbos de data/hora legíveis por humanos.

Funções gerais

Funções gerais

Use funções gerais nos comandos fields e filter e como argumentos de outras funções.

Função Tipo de resultado Descrição

ispresent(fieldName: LogField)

Booleano

Retorna true se o campo existir

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

LogField

Retorna o primeiro valor não nulo da lista

Funções de string de endereço IP

Funções de string de endereço IP

Use funções de string no endereço IP dos comandos filter e fields e como argumentos de outras funções.

Função Tipo de resultado Descrição

isValidIp(fieldName: string)

booleano

Retorna true se o campo for um endereço IPv4 ou IPv6 válido.

isValidIpV4(fieldName: string)

boolean

Retorna true se o campo for um endereço IPv4 válido.

isValidIpV6(fieldName: string)

boolean

Retorna true se o campo for um endereço IPv6 válido.

isIpInSubnet(fieldName: string, subnet: string)

boolean

Retorna true se o campo for um endereço IPv4 ou IPv6 válido dentro da sub-rede v4 ou v6 especificada. Ao especificar a sub-rede, use a notação CIDR, como 192.0.2.0/24 ou 2001:db8::/32, onde 192.0.2.0 ou2001:db8:: é o início do bloco CIDR.

isIpv4InSubnet(fieldName: string, subnet: string)

boolean

Retorna true se o campo for um endereço IPv4 válido dentro da sub-rede v4 especificada. Ao especificar a sub-rede, use a notação CIDR, como 192.0.2.0/24, em que 192.0.2.0 é o início do bloco CIDR.

isIpv6InSubnet(fieldName: string, subnet: string)

boolean

Retorna true se o campo for um endereço IPv6 válido dentro da sub-rede v6 especificada. Ao especificar a sub-rede, use a notação CIDR, como 2001:db8::/32, em que 2001:db8:: é o início do bloco CIDR.

Funções de string

Funções de string

Use funções de string nos comandos fields e filter e como argumentos de outras funções.

Função Tipo de resultado Descrição

isempty(fieldName: string)

Número

Retornará 1 se o campo não for encontrado ou for uma string vazia.

isblank(fieldName: string)

Número

Retornará 1 se o campo não for encontrado, for uma string vazia ou só contiver espaço branco.

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

string

Concatena as strings.

ltrim(str: string)

ltrim(str: string, trimChars: string)

string

Se a função não tiver um segundo argumento, ela removerá os caracteres em branco da esquerda da string. Se a função tiver um segundo argumento de string, ela não removerá os caracteres em branco. Em vez disso, remove os caracteres em trimChars à esquerda de str. Por exemplo, ltrim("xyZxyfooxyZ","xyZ") retorna "fooxyZ".

rtrim(str: string)

rtrim(str: string, trimChars: string)

string

Se a função não tiver um segundo argumento, ela removerá os caracteres em branco da direita da string. Se a função tiver um segundo argumento de string, ela não removerá os caracteres em branco. Em vez disso, remove os caracteres de trimChars à direita de str. Por exemplo, rtrim("xyZfooxyxyZ","xyZ") retorna "xyZfoo".

trim(str: string)

trim(str: string, trimChars: string)

string

Se a função não tiver um segundo argumento, ela removerá os caracteres em branco nas duas extremidades da string. Se a função tiver um segundo argumento de string, ela não removerá os caracteres em branco. Em vez disso, remove os caracteres de trimChars de ambos os lados de str. Por exemplo, trim("xyZxyfooxyxyZ","xyZ") retorna "foo".

strlen(str: string)

número

Retorna o tamanho da string em pontos de código Unicode.

toupper(str: string)

string

Converte a string em letras maiúsculas.

tolower(str: string)

string

Converte a string em letras minúsculas.

substr(str: string, startIndex: number)

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

string

Retorna uma substring do índice especificado pelo argumento de número ao final da string. Se tiver um segundo argumento de número, a função conterá o tamanho da substring a ser recuperada. Por exemplo, substr("xyZfooxyZ",3, 3) retorna "foo".

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

string

Substitui todas as instâncias de searchValue em fieldName: string por replaceValue.

Por exemplo, a função replace(logGroup,"smoke_test","Smoke") pesquisa eventos de log em que o campo logGroup contém o valor da string smoke_test e substitui o valor pela string Smoke.

strcontains(str: string, searchValue: string)

número

Retornará 1 se str contiver searchValue e 0, do contrário.