Avec New Relic Data Plus, vous pouvez maintenant exporter vos données télémétriques de streaming historiques en temps réel directement vers des sources externes pour respecter vos besoins de conformité et d'analyse des données. Les données historiques et les données de streaming vous permettent d'explorer plus en profondeur les données de toutes les entités, événements et anomalies connexes dans tout votre stack technologique. Vous pouvez également transférer les résultats vers des outils d'analyses externes, d'AI, ou d'apprentissage pour optimiser la valeur de vos données New Relic.

Dans ce blog, vous apprendrez comment exporter vos données et comment utiliser vos exportations historiques ou de streaming. Mais tout d'abord, voici un aperçu de Data Plus, la fonction requise pour accéder aux capacités d'exportation des données.

Data Plus : la puissance de vos données grâce aux améliorations importantes de l'observabilité

New Relic Data Plus vous donne des capacités d'observabilité encore plus efficaces pour améliorer la sécurité, l'évolutivité et les performances, boostant ainsi votre pratique de l'observabilité. Les fonctionnalités de Data Plus comprennent l'exportation des données, la rétention étendue des données, l'obfuscation des logs, FedRAMP pour les comptes activés, des temps de requêtes plus longs, et plus encore. Pour en savoir plus sur Data Plus, consultez notre blog d'annonce.  

Quand choisir l'exportation des données historiques et l'exportation des données de streaming

Les exportations des données historiques vous permettent d'exporter les données pendant plus de 12 heures alors que celles des données de streaming vous permettent d'exporter les données des 12 dernières heures. Vous pouvez également utiliser une exportation des données de streaming pour continuellement exporter les données vers une autre source.

Exportation des données historiques

L'exportation des données historiques envoie les données qui ont passé la phase d'ingestion initiale hors de New Relic. Ce type d'exportation des données propose des durées de requête illimitées et jusqu'à 200 millions de lignes de point de données, résolvant ainsi les limites de requête NRQL standard. Vous développez les requêtes dans NerdGraph avec les données de requête renvoyées en tant que fichier JSON dans un compartiment Amazon S3. La fonctionnalité d'exportation des données historiques ne prend pas en charge l'interrogation des données live ni des données des dernières 12 heures. La plage d'heures doit se terminer au moins 12 heures dans le passé.

Ces exportations sont utiles lorsque vous devez examiner toute donnée dans le passé. Par exemple, vous disposez peut‑être d'une règle de sécurité ou de conformité mise à jour qui exige l'enregistrement ou l'analyse des données passées ; ou vous avez peut‑être besoin de fournir des données à quelqu'un qui n'a pas accès à votre compte New Relic.

Exportation des données de streaming

L'exportation des données de streaming envoie les données exclusivement pendant l' ingestion par New Relic, il s'agit donc des données des 12 dernières heures depuis leur ingestion. Les données de streaming sont exportées avec Kinesis Firehose. Vous pouvez définir dans NerdGraph des règles personnalisées basées sur NRQL qui régissent les types de données New Relic que vous transmettrez en continu par le biais de l'exportation de données de streaming de New Relic.

Vous utiliserez l'exportation des données de streaming lorsque vous voudrez observer les données au moment de l'ingestion. Par exemple, vous pouvez vouloir un flux constant de métriques et de données de log, afin d'alimenter votre data lake (ou lac de données) pour faciliter l'analyse. Ou encore, vous pouvez vouloir une exportation continue des données pour une rétention à long terme dans le but de respecter la conformité, les besoins juridiques ou la sécurité, sans devoir exécuter l'exportation des données historiques à chaque fois.

Comment exporter les données historiques

Utilisons un exemple pour voir comment exporter les données historiques. Cet exemple présuppose que vous avez déjà suivi le didacticiel sur NerdGraph Explorer pour savoir comment récupérer les données, utiliser les mutations et exécuter les requêtes à partir du terminal. 

Créons l'exportation des données historiques des résultats d'une requête qui montrent tous les logs de l'entité au cours de l'incident pour que vous puissiez procéder au dépannage. Pour commencer, utilisez la commande suivante pour exécuter une requête, qui produira les résultats à exporter. Personnalisez le code pour qu'il contienne les informations de votre propre compte, l'identifiant d'entité et les heures. 

mutation {
historicalDataExportCreateExport (accountID: YOUR_ACCOUNT_ID, nrql: “FROM Log select * WHERE entity.guid = “YOUR_ENTITY_ID” SINCE ‘YOUR_BEGIN_DATE_TIME’ UNTIL ‘YOUR_END_DATE_TIME’”){
    percentComplete
    nrql
    status
    id
    message
}

Ceci crée un identifiant de requête qui sera utilisé comme référence de source et d'entité pour l'exportation.

historicalDataExport{export(id: "YOUR_QUERY_ID_HERE")

Exemple de mutation écrite dans l'interface New Relic

Exportez ensuite vos données historiques en utilisant la commande suivante : 

historicalDataExport {export(id: “YOUR_QUERY_ID_HERE”)

Ce processus peut prendre un peu de temps, mais il est exécuté de manière asynchrone sans être soumis aux interruptions HTTP ou de délai du navigateur.

Résultats d'une exportation historique dans l'interface New Relic

Les fichiers de résultats JSON expirent une semaine après avoir été générés. Chaque URL est live pendant six heures avant l'expiration. Ces liens peuvent être de nouveau générés après l'expiration avec une nouvelle requête. 

Pour plus d'informations sur l'exportation des données historiques, lisez la documentation détaillée ou regardez cette vidéo de Nerd Byte.

Comment exporter les données de streaming

L'exportation des données de streaming en temps réel exige que vous définissiez des règles via NerdGraph sur le type spécifique de données à exporter. Vous devrez créer une mutation qui établit une règle sur les données de streaming, y compris le nom de la règle, une description des données marquées pour exportation par la règle, et la requête réelle qui renvoie les données exportées. 

Voici un exemple de mutation : 

 mutation {
  streamingExportCreateRule(
    accountId: account id here, 
    ruleParameters: {
      description: "rule description", 
      name: "rule name", 
      nrql: "SELECT * FROM NodeStatus"
    }, 
  awsParameters: {
      awsAccountId: "aws account id here", 
      deliveryStreamName: "firehose-stream-name", 
      region: "us-east-1", 
      role: "firehose-role"
    }
  ) {
    id
    status
  }
}

Activation et désactivation des règles d'exportation du streaming

L'activation et la désactivation de vos règles est un important moyen de gérer vos exportations en temps réel sans devoir constamment créer ou supprimer de nouvelles règles. Cela peut être utile dans les cas où vous êtes seulement intéressé par les données d'une certaine période ou d'un incident spécifique que vous n'exporteriez pas autrement. Notez que les règles peuvent seulement être activées après qu'elles ont été précédemment désactivées. Sinon, vous obtiendrez un message d'erreur.  

Pour activer une règle, utilisez la mutation suivante :

mutation {
  streamingExportEnableRule(id: “query id here”) {
    id
    ...
  }
}

Pour désactiver une règle, utilisez la séquence suivante : 

mutation {
  streamingExportDisableRule(id: “query id here”) {
    id
    ...
  }
}

Pour plonger en profondeur dans la gestion des règles d'exportation de vos données de streaming, la suppression des règles, et les autres bonnes pratiques, lisez la documentation sur les exportations des données de streaming.