Collecter des journaux texte avec l’agent Log Analytics dans Azure Monitor

La source de données Journaux d'activité personnalisés de l'agent Log Analytics disponible dans Azure Monitor vous permet de collecter des événements à partir de fichiers texte sur les ordinateurs Windows et Linux. De nombreuses applications consignent des informations dans des fichiers texte au lieu des services de journalisation standard tels que le Journal des événements Windows ou Syslog. Une les données collectées, vous pouvez les analyser dans des champs individuels au sein de vos requêtes, ou les extraire lors d’une collecte vers des champs individuels.

Important

Cet article explique comment collecter un journal textuel avec l’agent Log Analytics. Si vous utilisez l’agent Azure Monitor, consultez Collecter des journaux textuels avec l’agent Azure Monitor.

Important

L’agent Log Analytics hérité sera déconseillé d’ici août 2024. Passé cette date, Microsoft ne fournira plus de support pour l’agent Log Analytics. Migrez vers l’agent Azure Monitor avant août 2024 pour continuer à ingérer des données.

Diagram that shows custom log collection.

Les fichiers journaux à collecter doivent correspondre aux critères suivants :

  • Le journal doit comporter une seule entrée par ligne ou utiliser un horodatage correspondant à l’un des formats suivants au début de chaque entrée :

    AAAA-MM-JJ HH:MM:SS
    M/J/AAAA HH:MM:SS AM/PM
    Mois JJ, AAAA HH:MM:SS
    aaMMjj HH:mm:ss
    jjMMaa HH:mm:ss
    MMM j hh:mm:ss
    jj/MMM/aaaa:HH:mm:ss zzz
    aaaa-MM-jjTHH:mm:ssK

  • Le fichier journal ne doit pas autoriser la journalisation circulaire. Ce comportement consiste en une rotation de journal dans le cadre de laquelle le fichier est réécrit avec de nouvelles entrées, ou est renommé, tandis que son nom est réutilisé pour poursuivre journalisation.

  • Le fichier journal doit utiliser l’encodage ASCII ou UTF-8. D’autres formats, tel UTF-16, ne sont pas pris en charge.

  • Sur Linux, la conversion des fuseaux horaires n’est pas prise en charge pour les horodatages dans les journaux.

  • En guise de meilleure pratique, le fichier journal doit inclure la date et l’heure de sa création pour empêcher les remplacements ou changements de nom liés à la rotation des journaux.

Notes

Si le fichier journal contient des entrées dupliquées, Azure Monitor les collecte. Les résultats de requête générés sont incohérents. Les résultats de filtre affichent plus d’événements qu’il n’y a de résultats. Vous devez valider le journal pour déterminer si l’application qui le crée provoque ce comportement. Résolvez le problème, si possible, avant de créer la définition de collecte de journaux personnalisés.

Chaque espace de travail Log Analytics prend en charge les limites suivantes :

  • Seuls 500 journaux personnalisés peuvent être créés.
  • Une table ne prend en charge que jusqu'à 500 colonnes.
  • Le nombre maximal de caractères pour le nom de colonne est 500.

Important

La collecte de journaux personnalisée nécessite que l’application qui écrit le fichier journal vide régulièrement le contenu du journal sur le disque. Ceci est dû au fait que la collecte de journaux personnalisée repose sur des notifications de changement de système de fichiers pour le fichier journal qui est suivi actuellement.

Définir une table de journal personnalisée

Utilisez la procédure suivante pour définir une table personnalisée du journal. Rendez-vous à la fin de cet article pour une procédure détaillée d’ajout d’un journal personnalisé.

Ouvrir l’Assistant Journal personnalisé

L’Assistant Journal personnalisé s’exécute dans le portail Azure et vous permet de définir un nouveau journal personnalisé de collecte.

  1. Dans le Portail Azure, sélectionnez Espaces de travail Log Analytics> votre espace de travail >Tables.

  2. Sélectionnez Créer, ensuite Nouveau journal personnalisé (basé sur MMA).

    Par défaut, toutes les modifications de configuration sont automatiquement transmises à l’ensemble des agents. Pour les agents Linux, un fichier de configuration est envoyé au collecteur de données Fluentd.

Télécharger et analyser un exemple de journal

Pour commencer, chargez un échantillon du journal personnalisé. L’assistant analyse et affiche les entrées de ce fichier afin que vous les validiez. Azure Monitor utilise le délimiteur que vous spécifiez pour identifier chaque enregistrement.

Nouvelle ligne . Si la ligne commence par un horodatage dans un des formats disponibles, vous pouvez spécifier un délimiteur Horodatage prenant en charge les entrées qui s’étendent sur plusieurs lignes.

Si un délimiteur Timestamp est utilisé, la propriété TimeGenerated de chaque enregistrement stocké dans Azure Monitor contient la date et l’heure spécifiées pour cette entrée dans le fichier journal. Si un délimiteur Nouvelle ligne est utilisé, la propriété TimeGenerated est renseignée avec la date et l’heure auxquelles Azure Monitor a collecté l’entrée.

  1. Sélectionnez Parcourir et accédez à un exemple de fichier. Ce bouton est libellé Choisir un fichier dans certains navigateurs.

  2. Sélectionnez Suivant.

    L’Assistant Journal personnalisé télécharge le fichier et répertorie les enregistrements qu’il identifie.

  3. Modifiez le délimiteur utilisé pour identifier un nouvel enregistrement. Sélectionnez le délimiteur qui identifie le mieux les enregistrements dans votre fichier journal.

  4. Sélectionnez Suivant.

Ajouter des chemins de collecte de journaux

Vous devez définir un ou plusieurs chemins indiquant à l’agent où trouver le journal personnalisé. Vous pouvez soit fournir le chemin d’accès et le nom du fichier journal, soit indiquer un chemin d’accès avec un caractère générique pour le nom. Cette étape prend en charge les applications qui créent un fichier par jour ou quand un fichier atteint une certaine taille. Vous pouvez également fournir plusieurs chemins d’accès pour un fichier journal.

Par exemple, une application peut créer un fichier journal chaque jour avec la date dans le nom, comme dans log20100316.txt. Par exemple, ce modèle peut être log*.txt et s’appliquer à un fichier journal conforme à la convention de dénomination de l’application.

Le tableau suivant fournit des exemples de modèles valides pour différents fichiers journaux.

Description Path
Tous les fichiers sous C:\Logs avec l’extension .txt sur l’agent Windows C:\Logs\*.txt
Tous les fichiers sous C:\Logs avec un nom commençant par log et portant l’extension .txt sur l’agent Windows C:\Logs\log*.txt
Tous les fichiers sous /var/log/audit avec l’extension .txt sur l’agent Linux /var/log/audit/*.txt
Tous les fichiers sous /var/log/audit avec un nom commençant par log et portant l’extension .txt sur l’agent Linux /var/log/audit/log*.txt
  1. Sélectionnez Windows ou Linux pour spécifier le format du chemin d’accès que vous ajoutez.
  2. Entrez le chemin d’accès et sélectionnez le bouton +.
  3. Répétez le processus pour tout chemin d’accès supplémentaire.

Indiquer le nom et la description du journal

Le nom que vous spécifiez sera utilisé pour le type de journal, comme décrit. Il se termine toujours par _CL pour le distinguer d’un journal personnalisé.

  1. Entrez le nom du journal. Le suffixe _CL est ajouté automatiquement.
  2. Si vous le souhaitez, renseignez le champ Description.
  3. Cliquez sur Suivant pour enregistrer la définition de journal personnalisé.

Vérifier que les journaux d’activité personnalisés sont collectés

Il faut parfois une heure pour que les données initiales d’un nouveau journal personnalisé apparaissent dans Azure Monitor. Azure Monitor commence à collecte les entrées des journaux d’activité situés à l’emplacement spécifié, à partir du point où vous avez défini le journal personnalisé. Il ne conserve pas les entrées que vous avez chargées pendant la création du journal personnalisé. Il collecte les entrées existantes dans les fichiers journaux qu’il localise.

Quand Azure Monitor commence à collecter les entrées du journal personnalisé, ses enregistrements sont accessibles via une requête de journal. Utilisez le nom que vous avez donné au journal personnalisé, comme le Type dans votre requête.

Notes

Si la propriété RawData est manquante dans la requête, il se peut que vous deviez fermer et rouvrir votre navigateur.

Analyser les entrées du journal personnalisé

L’entrée de journal est stockée dans une propriété unique appelée RawData. Vous souhaiterez certainement séparer les différents éléments d’information de chaque entrée dans des propriétés distinctes pour chaque enregistrement. Pour connaître les options d’analyse RawData dans plusieurs propriétés, consultez Analyser des données de texte dans les journaux Azure Monitor.

Supprimer une table de journal personnalisée

Consultez Supprimer une table.

Collecte de données

Azure Monitor collecte les nouvelles entrées de chaque journal personnalisé environ toutes les 5 minutes. L’agent enregistre sa position dans chaque fichier journal à partir duquel il collecte. Si l’agent est hors connexion pendant un moment, Azure Monitor collecte les entrées à partir du point d’interruption, même si ces entrées ont été créées lorsque l’agent était hors connexion.

L’entrée de journal est intégralement inscrite dans une propriété unique appelée RawData. Pour connaître les méthodes permettant d’analyser chaque entrée de journal importée dans plusieurs propriétés, consultez Analyser des données de texte dans les journaux Azure Monitor.

Propriétés d’enregistrement de journal personnalisé

Les enregistrements de journal personnalisé sont caractérisés par le nom du journal que vous fournissez et les propriétés dans le tableau suivant.

Propriété Description
TimeGenerated Date et heure auxquelles l’enregistrement a été collecté par Azure Monitor. Si le journal utilise un délimiteur basé sur l’heure, il s’agit de l’heure collectée à partir de l’entrée.
SourceSystem Type d’agent auprès duquel l’enregistrement a été collecté.
Ops Manager : Agent Windows. Connexion directe ou System Center Operations Manager
Linux – Tous les agents Linux
RawData Texte complet de l’entrée collectée. Vous souhaiterez probablement analyser ces données dans des propriétés individuelles.
ManagementGroupName Nom du groupe d’administration pour les agents System Center Operations Manager. Pour les autres agents, il s’agit d’AOI-<workspace ID>.

Exemple de procédure d’ajout d’un journal personnalisé

La section suivante décrit la procédure complète de création d’un champ personnalisé. L’exemple de journal collecté comporte une seule entrée sur chaque ligne commençant par une date et une heure, suivie de plusieurs champs (code, état et message) séparés par des virgules. Plusieurs exemples d’entrée sont présentés.

2019-08-27 01:34:36 207,Success,Client 05a26a97-272a-4bc9-8f64-269d154b0e39 connected
2019-08-27 01:33:33 208,Warning,Client ec53d95c-1c88-41ae-8174-92104212de5d disconnected
2019-08-27 01:35:44 209,Success,Transaction 10d65890-b003-48f8-9cfc-9c74b51189c8 succeeded
2019-08-27 01:38:22 302,Error,Application could not connect to database
2019-08-27 01:31:34 303,Error,Application lost connection to database

Télécharger et analyser un exemple de journal

Nous fournissons un des fichiers journaux et nous voyons les événements qu’il va collecter. Dans ce cas, le délimiteur Nouvelle ligne suffit. Cependant, si une entrée du journal s’étend sur plusieurs lignes, il faut utiliser un délimiteur d’horodatage.

Screenshot that shows uploading and parsing a sample log.

Ajouter des chemins de collecte de journaux

Les fichiers journaux se situeront dans C:\MyApp\Logs. Un fichier sera créé chaque jour avec un nom comprenant la date au format appAAAAMMJJ.log. Le format adapté à ce journal d’activité est C:\MyApp\Logs\*.log.

Screenshot that shows adding a log collection path.

Indiquer le nom et la description du journal

Nous utilisons le nom MyApp_CL et complétons le champ Description.

Screenshot that shows adding a log name.

Vérifier que les journaux d’activité personnalisés sont collectés

Nous utilisons une requête simple MyApp_CL pour retourner tous les enregistrements du journal collecté.

Screenshot that shows a log query with no custom fields.

Alternatives aux journaux d’activité personnalisés

Si des journaux d’activité personnalisés sont utiles lorsque vos données sont conformes aux critères spécifiés, dans certains cas, une autre stratégie peut être nécessaire :

  • Les données ne présente pas la structure requise, par exemple, l’horodatage est dans un format différent.
  • Le fichier journal n'est pas conforme à certaines exigences (codage du fichier, structure de dossiers non prise en charge, etc.).
  • Les données doivent être prétraitées ou filtrées avant d’être collectées.

Lorsque vos données ne peuvent pas être collectées à l’aide des journaux d’activité personnalisés, vous pouvez avoir recours aux stratégies alternatives suivantes :

Étapes suivantes

  • Consultez Parse text data in Azure Monitor (Analyser les données de texte dans Azure Monitor) pour prendre connaissance des méthodes permettant d’analyser chaque entrée de journal importée dans plusieurs propriétés.
  • Découvrez les requêtes dans les journaux pour analyser les données collectées à partir de sources de données et de solutions.