/* Les règles de contrôle du pipeline cloud et les règles de gateway fonctionnent parfois différemment les unes des autres, même lors de l'utilisation de définitions NRQL identiques. Lorsque les données télémétriques sont reçues par New Relic, elles subissent de multiples transformations et enrichissements avant que les données ne soient évaluées par les règles cloud et stockées dans NRDB. Mais les règles de gateway s'exécutent dans votre propre infrastructure avant que les données ne soient transformées et enrichies par New Relic. Cette différence dans le schéma et la fidélité des données peut entraîner un dysfonctionnement des règles de gateway comme prévu. Lors de la création de règles de gateway, assurez-vous de référencer ce document lors de l'élaboration de votre définition NRQL pour convertir ou supprimer tout attribut qui fonctionne différemment dans le gateway. Cela peut être dû au fait que l'attribut a un nom différent ou parce qu'il n'existe pas du tout. Utilisez ce document pour rechercher l’attribut que vous utilisez dans votre définition NRQL de règle de gateway pour l’identifier. Si un attribut a été renommé, utilisez simplement l'attribut renommé dans votre NRQL au lieu de l'attribut d'origine. Si un attribut n’est pas disponible, envisagez d’utiliser une règle cloud au lieu d’une règle de gateway. Pour garantir un traitement efficace des données : - Préserver tous les attributs non supprimables répertoriés dans les tableaux. - Utilisez un exemple de requête dans les tables pour gérer les enregistrements sans compromettre l'intégrité des attributs essentiels. */
Aperçu du flux de données
Sources de données
Les données entrent dans le gateway New Relic à partir de diverses sources :
- Agent APM
- Agent d'infrastructure
- API métriques
Format des données
Ces données entrantes sont structurées sous forme de JSON complexe et multi-imbriqué avec de nombreux attributs.
Étapes de traitement
- Traitement du gateway : le traitement initial des données s'effectue ici dans votre propre infrastructure.
- Enrichissement : Après le gateway, des attributs supplémentaires sont ajoutés ET certains noms d'attributs sont modifiés.
- Traitement des règles cloud : traite les données avec l'attribut renommé/enrichi dans l'environnement de New Relic.
- Stockage final : les données sont finalement stockées dans la base de données New Relic (NRDB).
Considérations relatives à l'écriture de requêtes NRQL pour les règles de gateway
Attribut renommé
Si vous utilisez des attributs qui sont renommés pendant le processus d'enrichissement (après le gateway, avant les règles cloud ), ne vous inquiétez pas. New Relic gère automatiquement cette modélisation, de sorte que votre requête NRQL fonctionnera correctement au niveau du gateway et des règles cloud .
Attribut ajouté
Certains attributs ne sont ajoutés que pendant le processus d'enrichissement (après le gateway, avant les règles cloud ). Ceux-ci attribuent :
- Peut être utilisé dans une requête NRQL pour les règles de suppression cloud
- Ne peut pas être utilisé dans une requête NRQL pour les règles de suppression de gateway (car elles n'existent pas à ce stade)
Meilleures pratiques
Lors de la création de règles de gateway, sachez que certains attributs peuvent ne pas être disponibles au niveau du gateway. Si vous devez utiliser des attributs qui ne sont ajoutés que lors de l'enrichissement, envisagez d'utiliser une règle cloud plutôt qu'une règle de gateway.
Types de données et gestion des attributs
Le tableau suivant répertorie :
- Types de données pour lesquels vous pouvez créer des règles de suppression à l'aide de NRQL
- Types de données pour lesquels les règles de suppression ne sont pas prises en charge
- attribut indisponible au niveau du gateway
- Exemple de requête pour chaque type de données pris en charge
Type de données | Les règles de dépôt sont-elles prises en charge ? | attribut indisponible à le gateway | Exemple de requête NRQL |
---|---|---|---|
Transaction | Oui | appId, appName, containerId, entity.guid, entityGuid, host, realAgentId, transactionSubType, transactionType |
|
MonÉvénementPersonnalisé | Oui | appId, appName, containerId, entityGuid, host, realAgentId |
|
Trace d'erreur | Oui | aggregateFacet, appId, appName, applicationIds, count, entity.guid, entityGuid, error.class, message, path, exceptionClass, fingerprint, id, message, realAgentId, storageId, timestamp, transactionName, transactionUiName |
|
Erreur de transaction | Oui | aggregateFacet, appId, appName, containerId, entity.guid, entityGuid, host, realAgentId, transactionUiName |
|
enregistrer | Oui | entity.guids, messageId, newrelic.logPattern, newrelic.logs.batchIndex, newrelic.source |
|
métrique | Non | appId, appName, entity.guid, entityGuid, language, metricName, metricTimesliceName, newrelic.timeslice.value, scope, timestamp | Non applicable |
Span | Oui | appId, appName, containerId, duration.ms, entity.guid, entity.name, entityGuid, host, id, process.id, realAgentId, trace.id |
|
SqlTrace | Non | applicationIds, callCount, databaseMetricName, entité.GUID, id, maxCallTime, minCallTime, chemin, realAgentId, sql, sqlId, storageId, horodatage, totalCallTime, uri | Non applicable |
Trace de transaction | Non | storageId, uri, path, agentRunId, applicationIds, duration, entity.guid, guid, id, protocolVersion, realAgentId, timestamp | Non applicable |
métrique/jauge | Oui | newrelic.source (metricAPI), metricName:
|
|
métrique/résumé | Oui | newrelic.source (metricAPI), metricName:
|
|
métrique/compte | Oui | newrelic.source (metricAPI), metricName:
|
|
Exemple de système | Oui | Aucun |
|
Exemple de stockage | Oui | entitéEtPointDeMontage |
|
Exemple de réseau | Oui | entitéEtInterface |
|
Exemple de processus | Oui | entitéEtPid |
|
Exemple de conteneur | Oui | entityGuid, entityType, entityId |
|