Logboeken en metrische gegevens analyseren met diagnostische instellingen

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam een tijdje op sommige plaatsen terwijl we assets, zoals schermopnamen, video's en diagrammen, bijwerken.

Dit artikel is van toepassing op: ✔️ Java ✔️ C#

Dit artikel is van toepassing op: ✔️ Enterprise-laag Basic/Standard-laag ✔️

In dit artikel leest u hoe u diagnostische gegevens analyseert in Azure Spring Apps.

Met behulp van de diagnostische functionaliteit van Azure Spring Apps kunt u logboeken en metrische gegevens analyseren met een van de volgende services:

  • Gebruik Azure Log Analytics. Er is een vertraging bij het exporteren van logboeken naar Log Analytics.
  • Sla logboeken op in een opslagaccount voor controle of handmatige inspectie. U kunt de bewaartijd (in dagen) opgeven.
  • Stream logboeken naar uw Event Hub voor opname door een externe service of aangepaste analyseoplossing.

Kies de logboekcategorie en metrische categorie die u wilt bewaken.

Tip

Wilt u alleen uw logboeken streamen? Bekijk deze Azure CLI-opdracht.

Logboeken

Logboek Beschrijving
ApplicationConsole Consolelogboek van alle klanttoepassingen.
SystemLogs Op dit moment worden alleen Spring Cloud-configuratieservers in deze categorie aan logboeken gekoppeld.
IngressLogs Toegangslogboeken van alle toepassingen van de klant, alleen toegang tot logboeken.
BuildLogs Bouw logboeken van alle toepassingen van klanten voor elke buildfase.

Metrische gegevens

Zie de sectie Opties voor metrische gebruikersgegevens in Metrische gegevens voor Azure Spring Apps voor een volledige lijst met metrische gegevens.

Om aan de slag te gaan, schakelt u een van deze services in om de gegevens te ontvangen. Zie Aan de slag met Log Analytics in Azure Monitor voor meer informatie over het configureren van Log Analytics.

Diagnostische instellingen configureren

  1. Ga in de Azure Portal naar uw Azure Spring Apps-exemplaar.

  2. Selecteer de optie Diagnostische instellingen en selecteer vervolgens Diagnostische instelling toevoegen.

  3. Voer een naam in voor de instelling en kies vervolgens waar u de logboeken wilt verzenden. U kunt een combinatie van de volgende drie opties selecteren:

    • Archiveren naar een opslagaccount
    • Streamen naar een Event Hub
    • Verzenden naar Log Analytics
  4. Kies welke logboekcategorie en metrische categorie u wilt bewaken en geef vervolgens de bewaartijd (in dagen) op. De bewaartijd is alleen van toepassing op het opslagaccount.

  5. Selecteer Opslaan.

Notitie

Er kan een hiaat van maximaal 15 minuten zijn tussen het verzenden van logboeken of metrische gegevens en het moment waarop ze worden weergegeven in uw opslagaccount, uw Event Hub of Log Analytics. Als het Azure Spring Apps-exemplaar wordt verwijderd of verplaatst, wordt de bewerking niet trapsgewijs uitgevoerd op de resources voor diagnostische instellingen . De resources voor diagnostische instellingen moeten handmatig worden verwijderd voordat de bewerking wordt uitgevoerd op het bovenliggende exemplaar, het Azure Spring Apps-exemplaar. Als een nieuw Azure Spring Apps-exemplaar wordt ingericht met dezelfde resource-id als het verwijderde exemplaar, of als het Azure Spring Apps-exemplaar wordt teruggezet, worden de vorige resources voor diagnostische instellingen verder uitgebreid.

De logboeken en metrische gegevens weergeven

Er zijn verschillende methoden om logboeken en metrische gegevens weer te geven, zoals beschreven onder de volgende koppen.

De blade Logboeken gebruiken

  1. Ga in de Azure Portal naar uw Azure Spring Apps-exemplaar.

  2. Selecteer Logboeken om het deelvenster Zoeken in logboekente openen.

  3. In het zoekvak Tabellen

    • Als u logboeken wilt weergeven, voert u een eenvoudige query in, zoals:
    AppPlatformLogsforSpring
    | limit 50
    
    • Als u metrische gegevens wilt weergeven, voert u een eenvoudige query in, zoals:
    AzureMetrics
    | limit 50
    
  4. Selecteer Uitvoeren om het zoekresultaat weer te geven.

Log Analytics gebruiken

  1. Selecteer log analytics in het linkerdeelvenster van de Azure Portal.

  2. Selecteer de Log Analytics-werkruimte die u hebt gekozen toen u uw diagnostische instellingen hebt toegevoegd.

  3. Selecteer Logboeken om het deelvenster Zoeken in logboekente openen.

  4. In het zoekvak Tabellen :

    • Als u logboeken wilt weergeven, voert u een eenvoudige query in, zoals:
    AppPlatformLogsforSpring
    | limit 50
    
    • Als u metrische gegevens wilt weergeven, voert u een eenvoudige query in, zoals:
    AzureMetrics
    | limit 50
    
  5. Selecteer Uitvoeren om het zoekresultaat weer te geven.

  6. U kunt de logboeken van de specifieke toepassing of instantie doorzoeken door een filtervoorwaarde in te stellen:

    AppPlatformLogsforSpring
    | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName"
    | limit 50
    

    Notitie

    == is hoofdlettergevoelig, maar =~ niet.

Zie Azure Monitor-logboekquery's voor meer informatie over de querytaal die wordt gebruikt in Log Analytics. Als u een query wilt uitvoeren op al uw Log Analytics-logboeken van een gecentraliseerde client, raadpleegt u Azure Data Explorer.

Uw opslagaccount gebruiken

  1. Ga in de Azure Portal naar Opslagaccounts in het linkernavigatievenster of zoekvak.
  2. Selecteer het opslagaccount dat u hebt gekozen toen u de diagnostische instellingen hebt toegevoegd.
  3. Selecteer Blobs om het deelvenster BlobContainer te openen.
  4. Als u toepassingslogboeken wilt bekijken, zoekt u naar een container met de naam insights-logs-applicationconsole.
  5. Als u metrische gegevens van toepassingen wilt controleren, zoekt u naar een container met de naam insights-metrics-pt1m.

Zie Diagnostische gegevens opslaan en weergeven in Azure Storage voor meer informatie over het verzenden van diagnostische gegevens naar een opslagaccount.

Uw Event Hub gebruiken

  1. Ga in de Azure Portal naar Event Hubs in het linkernavigatievenster of zoekvak.

  2. Zoek en selecteer de Event Hub die u hebt gekozen toen u uw diagnostische instellingen hebt toegevoegd.

  3. Selecteer Event Hubs om het deelvenster Event Hub-lijst te openen.

  4. Als u toepassingslogboeken wilt bekijken, zoekt u naar een event hub met de naam insights-logs-applicationconsole.

  5. Als u metrische gegevens van toepassingen wilt controleren, zoekt u naar een event hub met de naam insights-metrics-pt1m.

Zie Streaming Azure Diagnostics gegevens in het dynamische pad met behulp van Event Hubs voor meer informatie over het verzenden van diagnostische gegevens naar een Event Hub.

De logboeken analyseren

Azure Log Analytics wordt uitgevoerd met een Kusto-engine, zodat u uw logboeken kunt opvragen voor analyse. Raadpleeg de log analytics-zelfstudie voor een korte inleiding tot het uitvoeren van query's op logboeken met behulp van Kusto.

Toepassingslogboeken bieden essentiële informatie en uitgebreide logboeken over de status, prestaties en meer van uw toepassing. In de volgende secties vindt u enkele eenvoudige query's om u inzicht te geven in de huidige en eerdere status van uw toepassing.

Toepassingslogboeken van Azure Spring Apps weergeven

Voer de volgende query uit om een lijst met toepassingslogboeken van Azure Spring Apps te bekijken, gesorteerd op tijd met de meest recente logboeken die als eerste worden weergegeven:

AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc

Logboekvermeldingen weergeven die fouten of uitzonderingen bevatten

Voer de volgende query uit om niet-gesorteerde logboekvermeldingen te bekijken waarin een fout of uitzondering wordt vermeld:

AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"

Gebruik deze query om fouten te vinden of wijzig de querytermen om specifieke foutcodes of uitzonderingen te vinden.

Het aantal fouten en uitzonderingen weergeven dat het afgelopen uur door uw toepassing is gerapporteerd

Voer de volgende query uit om een cirkeldiagram te maken waarin het aantal fouten en uitzonderingen wordt weergegeven dat het afgelopen uur door uw toepassing is geregistreerd:

AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| summarize count_per_app = count() by AppName
| sort by count_per_app desc
| render piechart

Vermeldingen in het toegangslogboek weergeven die een specifieke host bevatten

Voer de volgende query uit om logboekvermeldingen te controleren die worden gegenereerd door een specifieke host:

AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and Host == "ingress-asc.test.azuremicroservices.io" 
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated

Gebruik deze query om antwoord- , RequestTimeen andere eigenschappen van de toegangslogboeken van deze specifieke host te vindenStatus.

Logboekvermeldingen voor inkomend verkeer weergeven voor een specifieke requestId

Voer de volgende query uit om logboekvermeldingen voor een specifieke requestId waarde <request_ID> te controleren:

AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>" 
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated

Vermeldingen in het buildlogboek voor een specifieke app weergeven

Voer de volgende query uit om logboekvermeldingen voor een specifieke app te bekijken tijdens het buildproces:

AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>"
| sort by TimeGenerated

Vermeldingen in het buildlogboek weergeven voor een specifieke app in een specifieke buildfase

Voer de volgende query uit om logboekvermeldingen voor een specifieke app in een specifieke buildfase te bekijken. Vervang de <app-name> tijdelijke aanduiding door de naam van uw toepassing. Vervang de <build-stage> tijdelijke aanduiding door een van de volgende waarden, die de fasen van het bouwproces vertegenwoordigen: prepare, detect, restore, analyze, build, exportof completion.

AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>" and ContainerName == "<build-stage>"
| sort by TimeGenerated

Meer informatie over het uitvoeren van query's op toepassingslogboeken

Azure Monitor biedt uitgebreide ondersteuning voor het opvragen van toepassingslogboeken met behulp van Log Analytics. Zie Aan de slag met logboekquery's in Azure Monitor voor meer informatie over deze service. Zie Overzicht van logboekquery's in Azure Monitor voor meer informatie over het bouwen van query's voor het analyseren van uw toepassingslogboeken.

Veelgestelde vragen

Hoe kan ik java-stacktraceringen met meerdere regels converteren naar één regel?

Er is een tijdelijke oplossing om uw stacktraceringen met meerdere regels te converteren naar één regel. U kunt de uitvoer van het Java-logboek wijzigen om stacktraceringsberichten opnieuw op te maken, waarbij nieuwe regeltekens worden vervangen door een token. Als u de Java Logback-bibliotheek gebruikt, kunt u stacktraceringsberichten opnieuw formatteren door als volgt toe te voegen %replace(%ex){'[\r\n]+', '\\n'}%nopex :

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                level: %level, message: "%logger{36}: %msg", exceptions: "%replace(%ex){'[\r\n]+', '\\n'}%nopex"%n
            </pattern>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

Vervolgens kunt u het token vervangen door newline-tekens in Log Analytics, zoals hieronder:

AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')

Mogelijk kunt u dezelfde strategie gebruiken voor andere Java-logboekbibliotheken.

Volgende stappen