Tekstlogboeken verzamelen met de Log Analytics-agent in Azure Monitor

Met de gegevensbron Aangepaste logboeken voor de Log Analytics-agent in Azure Monitor kunt u gebeurtenissen verzamelen uit tekstbestanden op zowel Windows- als Linux-computers. Veel toepassingen leggen gegevens vast in tekstbestanden in plaats van dat ze standaardservices voor logboekregistratie gebruiken, zoals Windows Gebeurtenislogboek of Syslog. Nadat de gegevens zijn verzameld, kunt u deze parseren in afzonderlijke velden in uw query's of deze extraheren tijdens het verzamelen naar afzonderlijke velden.

Belangrijk

In dit artikel wordt beschreven hoe u een tekstlogboek verzamelt met de Log Analytics-agent. Als u de Azure Monitor-agent gebruikt, raadpleegt u Tekstlogboeken verzamelen met De Azure Monitor-agent.

Belangrijk

De verouderde Log Analytics-agentwordt in augustus 2024 afgeschaft. Na deze datum biedt Microsoft geen ondersteuning meer voor de Log Analytics-agent. Migreer vóór augustus 2024 naar de Azure Monitor-agent om door te gaan met het opnemen van gegevens.

Diagram that shows custom log collection.

De te verzamelen logboekbestanden moeten voldoen aan de volgende criteria:

  • Het logboek moet één vermelding per regel hebben of een tijdstempel gebruiken die overeenkomt met een van de volgende notaties aan het begin van elke vermelding:

    JJJJ-MM-DD UU:MM:SS
    M/D/JJJJ UU:MM:SS AM/PM
    Mon DD, JJJJ UU:MM:SS
    jjMMdd HH:mm:ss
    ddMMyy HH:mm:ss
    MMM d uu:mm:ss
    dd/MMM/jjjj:HH:mm:ss zzz
    jjjj-MM-ddTHH:mm:ssK

  • Het logboekbestand mag geen circulaire logboekregistratie toestaan. Dit gedrag is het roteren van logboeken waarbij het bestand wordt overschreven met nieuwe vermeldingen of de naam van het bestand wordt gewijzigd en dezelfde bestandsnaam opnieuw wordt gebruikt voor continue logboekregistratie.

  • Het logboekbestand moet ASCII- of UTF-8-codering gebruiken. Andere indelingen, zoals UTF-16, worden niet ondersteund.

  • Voor Linux wordt tijdzoneconversie niet ondersteund voor tijdstempels in de logboeken.

  • Als best practice moet het logboekbestand de datum en tijd bevatten waarop het is gemaakt om te voorkomen dat logboekrotatie wordt overschreven of hernoemd.

Notitie

Als het logboekbestand dubbele vermeldingen bevat, worden deze door Azure Monitor verzameld. De queryresultaten die worden gegenereerd, zijn inconsistent. In de filterresultaten worden meer gebeurtenissen weergegeven dan het aantal resultaten. U moet het logboek valideren om te bepalen of de toepassing die het maakt dit gedrag veroorzaakt. Los het probleem indien mogelijk op voordat u de definitie van de aangepaste logboekverzameling maakt.

Een Log Analytics-werkruimte ondersteunt de volgende limieten:

  • Er kunnen slechts 500 aangepaste logboeken worden gemaakt.
  • Een tabel ondersteunt maximaal 500 kolommen.
  • Het maximum aantal tekens voor een kolomnaam is 500.

Belangrijk

Voor het verzamelen van aangepaste logboeken moet de toepassing die het logboekbestand schrijft, de logboekinhoud periodiek naar de schijf leegmaken. Dit komt doordat de aangepaste logboekverzameling afhankelijk is van wijzigingsmeldingen voor het bestandssysteem voor het bijhouden van het logboekbestand.

Een aangepaste logboektabel definiëren

Gebruik de volgende procedure om een aangepaste logboektabel te definiëren. Schuif naar het einde van dit artikel voor een overzicht van een voorbeeld van het toevoegen van een aangepast logboek.

De wizard Aangepast logboek openen

De wizard Aangepast logboek wordt uitgevoerd in Azure Portal en stelt u in staat om een nieuw aangepast logboek te definiëren dat moet worden verzameld.

  1. Selecteer in Azure Portal Log Analytics-werkruimten> voor uw werkruimtetabellen>.

  2. Selecteer Maken en vervolgens Nieuw aangepast logboek (op basis van MMA).

    Standaard worden alle configuratiewijzigingen automatisch naar alle agents gepusht. Voor Linux-agents wordt een configuratiebestand verzonden naar de Fluentd-gegevensverzamelaar.

Een voorbeeldlogboek uploaden en parseren

Upload een voorbeeld van het aangepaste logboek om te beginnen. De wizard parseert en geeft de vermeldingen in dit bestand weer om te valideren. Azure Monitor gebruikt het scheidingsteken dat u opgeeft om elke record te identificeren.

Nieuwe regel is het standaardscheidingsteken en wordt gebruikt voor logboekbestanden met één vermelding per regel. Als de lijn begint met een datum en tijd in een van de beschikbare notaties, kunt u een scheidingsteken voor tijdstempels opgeven, dat vermeldingen ondersteunt die meer dan één regel omvatten.

Als een tijdstempelscheidingsteken wordt gebruikt, wordt de eigenschap TimeGenerated van elke record die is opgeslagen in Azure Monitor ingevuld met de datum en tijd die is opgegeven voor die vermelding in het logboekbestand. Als er een nieuw regelscheidingsteken wordt gebruikt, wordt TimeGenerated gevuld met de datum en tijd waarop Azure Monitor de vermelding heeft verzameld.

  1. Selecteer Bladeren en blader naar een voorbeeldbestand. Deze knop kan in sommige browsers het label Bestand kiezen hebben.

  2. Selecteer Volgende.

    De wizard Aangepast logboek uploadt het bestand en vermeldt de records die worden geïdentificeerd.

  3. Wijzig het scheidingsteken dat wordt gebruikt om een nieuwe record te identificeren. Selecteer het scheidingsteken waarmee de records in het logboekbestand het beste worden geïdentificeerd.

  4. Selecteer Volgende.

Logboekverzamelingspaden toevoegen

U moet een of meer paden definiëren op de agent waar het aangepaste logboek kan worden gevonden. U kunt een specifiek pad en een specifieke naam opgeven voor het logboekbestand of u kunt een pad opgeven met een jokerteken voor de naam. Deze stap ondersteunt toepassingen die elke dag een nieuw bestand maken of wanneer één bestand een bepaalde grootte bereikt. U kunt ook meerdere paden opgeven voor één logboekbestand.

Een toepassing kan bijvoorbeeld elke dag een logboekbestand maken met de datum die is opgenomen in de naam zoals in log20100316.txt. Een patroon voor een dergelijk logboek kan log*.txt zijn, wat van toepassing is op een logboekbestand volgens het naamgevingsschema van de toepassing.

De volgende tabel bevat voorbeelden van geldige patronen om verschillende logboekbestanden op te geven.

Omschrijving Pad
Alle bestanden in C:\Logs met de extensie .txt op de Windows-agent C:\Logs\*.txt
Alle bestanden in C:\Logs met een naam die begint met logboek en een TXT-extensie op de Windows-agent C:\Logs\log*.txt
Alle bestanden in /var/log/audit met de extensie .txt op de Linux-agent /var/log/audit/*.txt
Alle bestanden in /var/log/audit met een naam die begint met logboek en een .txt-extensie op de Linux-agent /var/log/audit/log*.txt
  1. Selecteer Windows of Linux om op te geven welke padindeling u toevoegt.
  2. Voer het pad in en selecteer de + knop.
  3. Herhaal het proces voor alle paden.

Geef een naam en beschrijving op voor het logboek

De naam die u opgeeft, wordt gebruikt voor het logboektype zoals beschreven. Het eindigt altijd met _CL om het te onderscheiden als een aangepast logboek.

  1. Voer een naam in voor het logboek. Het achtervoegsel _CL wordt automatisch opgegeven.
  2. Voeg een optionele beschrijving toe.
  3. Selecteer Volgende om de aangepaste logboekdefinitie op te slaan.

Controleer of de aangepaste logboeken worden verzameld

Het kan een uur duren voordat de eerste gegevens uit een nieuw aangepast logboek worden weergegeven in Azure Monitor. Azure Monitor begint met het verzamelen van vermeldingen uit de logboeken die zijn gevonden in het pad dat u hebt opgegeven vanaf het punt dat u het aangepaste logboek hebt gedefinieerd. De vermeldingen die u tijdens het maken van het aangepaste logboek hebt geüpload, worden niet bewaard. Hiermee worden al bestaande vermeldingen verzameld in de logboekbestanden die worden gevonden.

Nadat Azure Monitor begint met verzamelen vanuit het aangepaste logboek, zijn de records beschikbaar met een logboekquery. Gebruik de naam die u het aangepaste logboek hebt gegeven als het type in uw query.

Notitie

Als de eigenschap RawData ontbreekt in de query, moet u de browser mogelijk sluiten en opnieuw openen.

De aangepaste logboekvermeldingen parseren

De volledige logboekvermelding wordt opgeslagen in één eigenschap met de naam RawData. Waarschijnlijk wilt u de verschillende gegevens in elke vermelding in afzonderlijke eigenschappen voor elke record scheiden. Zie Tekstgegevens parseren in Azure Monitor voor opties voor het parseren van RawData in meerdere eigenschappen.

Een aangepaste logboektabel verwijderen

Zie Een tabel verwijderen.

Gegevensverzameling

Azure Monitor verzamelt nieuwe vermeldingen uit elk aangepast logboek ongeveer elke 5 minuten. De agent registreert de plaats in elk logboekbestand waaruit de agent verzamelt. Als de agent gedurende een bepaalde periode offline gaat, worden in Azure Monitor vermeldingen verzameld van waaruit de agent het laatst is gebleven, zelfs als deze vermeldingen zijn gemaakt terwijl de agent offline was.

De volledige inhoud van de logboekvermelding wordt geschreven naar één eigenschap met de naam RawData. Zie Tekstgegevens parseren in Azure Monitor voor methoden voor het parseren van elke geïmporteerde logboekvermelding in meerdere eigenschappen.

Eigenschappen van aangepaste logboekrecords

Aangepaste logboekrecords hebben een type met de logboeknaam die u opgeeft en de eigenschappen in de volgende tabel.

Eigenschappen Beschrijving
TimeGenerated De datum en tijd waarop de record is verzameld door Azure Monitor. Als in het logboek een scheidingsteken op basis van tijd wordt gebruikt, is dit de tijd die wordt verzameld van de vermelding.
SourceSystem Het type agent waaruit de record is verzameld.
OpsManager : Windows-agent, direct verbinding maken of System Center Operations Manager
Linux – Alle Linux-agents
RawData Volledige tekst van de verzamelde vermelding. Waarschijnlijk wilt u deze gegevens parseren in afzonderlijke eigenschappen.
ManagementGroupName Naam van de beheergroep voor System Center Operations Manager-agents. Voor andere agents is deze naam AOI-werkruimte-id<>.

Voorbeeld van het toevoegen van een aangepast logboek

In de volgende sectie wordt een voorbeeld beschreven van het maken van een aangepast logboek. Het voorbeeldlogboek dat wordt verzameld, heeft één vermelding op elke regel die begint met een datum en tijd en vervolgens door komma's gescheiden velden voor code, status en bericht. Er worden verschillende voorbeeldvermeldingen weergegeven.

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

Een voorbeeldlogboek uploaden en parseren

We bieden een van de logboekbestanden en kunnen de gebeurtenissen zien die worden verzameld. In dit geval is nieuwe regel een voldoende scheidingsteken. Als één vermelding in het logboek echter meerdere regels kan omvatten, moet een tijdstempelscheidingsteken worden gebruikt.

Screenshot that shows uploading and parsing a sample log.

Logboekverzamelingspaden toevoegen

De logboekbestanden bevinden zich in C:\MyApp\Logs. Er wordt elke dag een nieuw bestand gemaakt met een naam die de datum bevat in het patroon appYYYYYMMDD.log. Een voldoende patroon voor dit logboek is C:\MyApp\Logs\*.log.

Screenshot that shows adding a log collection path.

Geef een naam en beschrijving op voor het logboek

We gebruiken een naam van MyApp_CL en typen een beschrijving.

Screenshot that shows adding a log name.

Controleer of de aangepaste logboeken worden verzameld

We gebruiken een eenvoudige query van MyApp_CL om alle records uit het verzamelde logboek te retourneren.

Screenshot that shows a log query with no custom fields.

Alternatieven voor aangepaste logboeken

Hoewel aangepaste logboeken handig zijn als uw gegevens voldoen aan de vermelde criteria, zijn er gevallen waarin u een andere strategie nodig hebt:

  • De gegevens passen niet in de vereiste structuur, zoals het hebben van de tijdstempel in een andere indeling.
  • Het logboekbestand voldoet niet aan vereisten zoals bestandscodering of een niet-ondersteunde mapstructuur.
  • De gegevens moeten vooraf worden verwerkt of gefilterd voordat ze worden verzameld.

Houd rekening met de volgende alternatieve strategieën in de gevallen waarin uw gegevens niet kunnen worden verzameld met aangepaste logboeken:

Volgende stappen

  • Zie Tekstgegevens parseren in Azure Monitor voor methoden voor het parseren van elke geïmporteerde logboekvermelding in meerdere eigenschappen.
  • Meer informatie over logboekquery's voor het analyseren van de gegevens die zijn verzameld uit gegevensbronnen en oplossingen.