Ce document décrit les fonctions NRQL prises en charge dans les règles de passerelle Contrôle de pipeline. Utilisez ces fonctions pour créer des règles plus puissantes et plus précises pour filtrer et gérer vos données.
Fonction | Description | Exemple de requête NRQL |
---|---|---|
Extrait une valeur d'une chaîne en fonction d'un modèle spécifié. |
| |
Filtre les données en fonction des facettes ou des dimensions associées à vos métriques/événement. |
| |
Renvoie le plus grand entier inférieur ou égal au nombre spécifié. |
| |
Extrait un champ spécifique d'une structure de données complexe (par exemple, un objet JSON). |
| |
Extrait le composant horaire d'un horodatage. |
| |
Renvoie le reste d'une opération de division. |
| |
Convertit une valeur de chaîne en un type numérique. |
| |
Arrondit un nombre à l'entier le plus proche ou à un nombre spécifié de décimales. |
| |
Convertit une valeur numérique ou autre en un type de chaîne. |
| |
Extrait une partie spécifiée d'une chaîne. |
| |
| Extrait le jour de la semaine d'un horodatage (par exemple, « Lundi », « Dimanche »). |
|
Exemples de fonctions NRQL multiples dans les règles de gateway
Ces exemples montrent comment vous pouvez combiner plusieurs fonctions et les utiliser dans des scénarios plus complexes pour obtenir un filtrage et une suppression précis des données.
- Cette règle supprime les données des conteneurs qui sont sortis, mais conserve les enregistrements des conteneurs qui sont sortis au cours des 10 dernières minutes :
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)
- Cette règle supprime les logs associés à des modèles de logs spécifiques (
collectd
) et qui ne sont pas des types d'événements personnalisés :
DELETE FROM Log, LogExtendedRecord WHERE dimensions() LIKE '%collectd%' AND newrelic.logs.customEventType IS NULL
- Cette règle supprime un type spécifique de log d'erreurs, mais les échantillonne en conservant uniquement les enregistrements dont l'horodatage est un multiple 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
Ces nouvelles fonctions étendent considérablement les capacités de votre requête NRQL lorsque vous travaillez avec le gateway de Pipeline Control, permettant une analyse et une gestion des données plus précises.