Une fois que vous avez décidé quels logs ingérer et stocker, il est temps d'organiser vos logs. Vous ingérez probablement encore des centaines de gigaoctets ou des dizaines de téraoctets de logs. Même si c'est beaucoup moins que ce que vous aviez au départ, vous devrez quand même travailler dur pour essayer de les utiliser efficacement.
Pour résoudre ce problème, nous allons regrouper ces logs restants en partitions thématiques et analyser les logs pour extraire et tag les attributs précieux. En organisant vos logs de cette manière, vous pouvez :
- Requête pour n'importe quel attribut dans vos logs
- Gérer des partitions spécifiques à la fois, telles que les logs du frontend et les logs du backend
- Réduire les temps de chargement des requêtes
Pourquoi partitionner vos logs
Vous pouvez obtenir des améliorations de performances significatives grâce à une utilisation appropriée des partitions de données. L'organisation de vos données en partitions discrètes vous permet d'interroger uniquement les données dont vous avez besoin. Vous pouvez interroger une seule partition ou une liste de partitions séparées par des virgules. Les objectifs du partitionnement de vos données doivent être les suivants :
- Créez des partitions de données qui correspondent aux catégories de votre environnement ou de votre organisation qui sont statiques ou qui changent rarement (par exemple, par unité commerciale, équipe, environnement, service, etc.).
- Créez des partitions pour optimiser le nombre d'événements qui doivent être analysés pour votre requête la plus courante. Il n'y a pas de règle établie, mais généralement, lorsque l'événement de log analysé dépasse 500 millions (en particulier plus d'un milliard) pour votre requête
common
, vous pouvez envisager d'ajuster votre partitionnement.
L'espace de nommage d'une partition détermine sa durée de conservation. Nous proposons deux options de conservation :
- Standard: La conservation par défaut du compte est déterminée par votre abonnement New Relic. Il s'agit de la durée de conservation maximale disponible sur votre compte et de l'espace de nommage que vous sélectionnerez pour la plupart de vos partitions.
- Secondary: Conservation de 30 jours. Tous les logs envoyés à une partition membre de l'espace de nommage secondaire seront purgés sur une base continue 30 jours après avoir été ingérés.
Pourquoi analyser les logs
Analyser vos logs lors de l'ingestion est le meilleur moyen de rendre vos données de log plus utilisables par vous et les autres utilisateurs de votre organisation. Par exemple, comparez ces deux logs pré-analyse et post-analyse à l'aide d'une règle d'analyse Grok :
Pré-analyse :
{ "message": "32 4329 store_Portland"}
Post-analyse :
{ "transaction_total": "32", "purchase_number": "4329", "store_location": "store_Portland",}
Cela vous permet d'interroger facilement un attribut nouvellement défini tel que transaction_total
dans les dashboards et les alertes.
Organisez vos logs
Disons qu'ACME Corp sait qu'elle va ingérer environ 2 To de logs dans les mois à venir. Ils souhaitent créer des partitions pour les logs provenant de leur application Java et de leur agent infrastructure . Ils pensent qu'ils devront peut-être interroger leurs logs Java dans un futur lointain et décident donc d'utiliser une conservation standard. En attendant, ils n'ont besoin que des logs infrastructure récents, ils utiliseront donc une rétention secondaire pour ceux-ci.
Pour ce faire :
Accéder à l'interface utilisateur
Aller à one.newrelic.com > Logs
Partitionnez vos logs
- À partir de Manage data dans la navigation de gauche, cliquez sur Data partitions, puis sur Create partition rule.
- Définissez un nom de partition sous la forme d'une chaîne alphanumérique commençant par
Log_
. Dans ce casLog_java
. - Ajoutez une description facultative.
- Sélectionnez la rétention d'espace de nommage standard pour la partition.
- Définissez les critères de correspondance de votre règle : saisissez une clause NRQL
WHERE
valide pour faire correspondre les logs à stocker dans cette partition. Dans ce caslogtype=java
. - Cliquez sur Create pour enregistrer votre nouvelle partition.
Cela crée une partition de données avec rétention des données standard pour tous les logs Java . Pour organiser vos logs d'infrastructure, vous devez suivre les mêmes étapes ci-dessus, en changeant uniquement la rétention en secondaire et la requête en logtype=infrastructure
.
Analysez vos logs
Maintenant que vos logs sont partitionnés, il est temps de les analyser. les analyser vous permet d'extraire des données pertinentes dans vos logs pour faciliter les requêtes et l'accessibilité.
Pour analyser vos logs :
- À partir de Manage Data dans la navigation de gauche de l’interface utilisateur du log, cliquez sur Parsing, puis sur Create parsing rule.
- Saisissez un nom pour la nouvelle règle d’analyse.
- Sélectionnez un champ existant à analyser (la valeur par défaut est
message
) ou entrez un nouveau nom de champ. - Saisissez une clause NRQL
WHERE
valide pour correspondre au log que vous souhaitez analyser. - Sélectionnez un log correspondant s'il existe, ou cliquez sur l'onglet Coller log pour coller un exemple log.
- Saisissez la règle d'analyse et validez son fonctionnement en affichant les résultats dans la section Output . (Voir exemple ci-dessous)
- Activez et enregistrez la règle d’analyse personnalisée.
L'exemple suivant vous guide à travers un exemple spécifique de création d'une règle d'analyse :
Pour un aperçu plus approfondi de la création de modèles Grok pour analyser les logs, lisez notre article de blog.
Et ensuite ?
Félicitations pour avoir découvert la véritable valeur de vos logs et pour avoir épargné à votre équipe des heures de frustration avec vos logs ! À mesure que votre système se développe et que vous ingérez, vous devrez assurer la maintenance des règles d'analyse et des partitions. Si vous souhaitez en savoir plus sur ce que New Relic peut faire pour vous, consultez ces documents :
- analyser les données log : un aperçu plus approfondi de l'analyse des logs avec Grok et apprenez à créer, interroger et gérer vos règles d'analyse des logs en utilisant NerdGraph, notre API GraphQL.
- Modèles de logs: les modèles de logs sont le moyen le plus rapide de découvrir de la valeur dans les données log sans recherche.
- Obfuscation des logs: Avec log la règle d'obfuscation, vous pouvez empêcher l'enregistrement de certains types d'informations dans New Relic.
- Rechercher des données dans des logs longs (blobs): des données de log complètes peuvent vous aider à résoudre les problèmes. Mais que se passe-t-il si un attribut de votre log contient des milliers de caractères ? Quelle quantité de ces données New Relic peut-il stocker ? Et comment trouver des informations utiles dans toutes ces données ?