Este documento descreve as funções NRQL suportadas nas regras de gateway do Controle de Pipeline. Use essas funções para criar regras mais poderosas e precisas para filtrar e gerenciar seus dados.
Função | Descrição | Exemplo de consulta NRQL |
---|---|---|
Extrai um valor de uma string com base em um padrão especificado. |
| |
Filtra dados com base em facetas ou dimensões associadas à sua métrica/evento. |
| |
Retorna o maior inteiro menor ou igual ao número especificado. |
| |
Extrai um campo específico de uma estrutura de dados complexa (por exemplo, objeto JSON). |
| |
Extrai o componente de hora de um timestamp. |
| |
Retorna o resto de uma operação de divisão. |
| |
Converte um valor de string em um tipo numérico. |
| |
Arredonda um número para o inteiro mais próximo ou para um número especificado de decimais. |
| |
Converte um valor numérico ou outro em um tipo de sequência de caracteres. |
| |
Extrai uma parte especificada de uma string. |
| |
| Extrai o dia da semana de um timestamp (por exemplo, 'segunda-feira', 'domingo'). |
|
Exemplos de múltiplas funções NRQL em regras de gateway
Esses exemplos demonstram como você pode combinar várias funções e usá-las em cenários mais complexos para obter filtragem e exclusão de dados precisas.
- Esta regra exclui dados de contêineres que saíram, mas preserva registros de contêineres que saíram nos últimos 10 minutos:
DELETE FROM ContainerSample WHERE state = 'exited' AND status LIKE '%Exited%' AND NOT (status LIKE '%second%' AND numeric(aparse(status,'%Exited (%) * seconds ago%')) < 10) AND NOT (status LIKE '%About a minute ago%' OR status LIKE '%minute%' AND numeric(aparse(status,'%Exited (%) * minutes ago%')) < 10)
- Esta regra exclui logs que estão associados a um padrão de log específico (
collectd
) e não são do tipo evento personalizado:
DELETE FROM Log, LogExtendedRecord WHERE dimensions() LIKE '%collectd%' AND newrelic.logs.customEventType IS NULL
- Esta regra exclui um tipo específico de log de erros, mas os amostra mantendo apenas registros em que o timestamp é múltiplo de 101:
DELETE FROM Log WHERE message LIKE '%lib/ladon/middleware/caching.rb:49 run> terminated with exception%' AND floor(timestamp/101) = (timestamp/101) AND newrelic.logs.customEventType IS NULL
Essas novas funções expandem significativamente os recursos da sua consulta NRQL ao trabalhar com o gateway Controle de Pipeline, permitindo análise e gerenciamento de dados mais precisos.