Problemen met Azure Stream Analytics oplossen met behulp van resourcelogboeken

Soms wordt een Azure Stream Analytics-taak onverwacht beëindigd. Het is belangrijk om dit type gebeurtenissen te kunnen oplossen. Mislukte taken kunnen worden veroorzaakt door een onverwacht queryresultaat, door storing in de verbinding met apparaten of door een onverwachte serviceonderbreking. De resourcelogboeken in Stream Analytics kunnen u helpen bij het identificeren van de oorzaak van problemen wanneer ze optreden en de hersteltijd te verminderen.

Het wordt ten zeerste aanbevolen om resourcelogboeken in te schakelen voor alle taken, omdat dit aanzienlijk helpt bij foutopsporing en bewaking.

Logboektypen

Stream Analytics biedt twee soorten logboeken:

Notitie

U kunt services zoals Azure Storage, Azure Event Hubs en Azure Monitor-logboeken gebruiken om niet-conforme gegevens te analyseren. Er worden kosten in rekening gebracht op basis van het prijsmodel voor deze services.

Notitie

Dit artikel is onlangs bijgewerkt waarbij Log Analytics is vervangen door de term Azure Monitor-logboeken. Logboekgegevens worden nog steeds opgeslagen in een Log Analytics-werkruimte, en worden nog steeds verzameld en geanalyseerd met dezelfde Log Analytics-service. De terminologie wordt bijgewerkt om de rol van logboeken in Azure Monitor beter te weerspiegelen. Zie Wijzigingen in Azure Monitor-terminologie voor meer informatie.

Foutopsporing met behulp van activiteitenlogboeken

Activiteitenlogboeken zijn standaard ingeschakeld en bieden op hoog niveau inzicht in bewerkingen die door uw Stream Analytics-taak worden uitgevoerd. Informatie in activiteitenlogboeken kan helpen de hoofdoorzaak te vinden van de problemen die van invloed zijn op uw taak. Voer de volgende stappen uit om activiteitenlogboeken te gebruiken in Stream Analytics:

  1. Meld u aan bij Azure Portal en selecteer Activiteitenlogboek onder Overzicht.

    Stream Analytics-activiteitenlogboek

  2. U ziet een lijst met bewerkingen die zijn uitgevoerd. Elke bewerking waardoor uw taak mislukt, heeft een rode infoballon.

  3. Selecteer een bewerking om de samenvattingsweergave weer te geven. Informatie hier is vaak beperkt. Selecteer JSON voor meer informatie over de bewerking.

    Samenvatting van de stream Analytics-activiteitenlogboekbewerking

  4. Schuif omlaag naar de sectie Eigenschappen van de JSON, die details bevat van de fout die de mislukte bewerking heeft veroorzaakt. In dit voorbeeld is de fout veroorzaakt door een runtimefout van buiten de afhankelijke breedtegraadwaarden. Discrepantie in de gegevens die door een Stream Analytics-taak worden verwerkt, veroorzaakt een gegevensfout. U kunt meer informatie krijgen over verschillende fouten in invoer- en uitvoergegevens en waarom ze optreden.

    Details van JSON-fout

  5. U kunt corrigerende acties ondernemen op basis van het foutbericht in JSON. In dit voorbeeld moeten controles worden uitgevoerd om ervoor te zorgen dat de breedtegraad tussen -90 graden en 90 graden aan de query moet worden toegevoegd.

  6. Als het foutbericht in de activiteitenlogboeken niet nuttig is bij het identificeren van de hoofdoorzaak, schakelt u resourcelogboeken in en gebruikt u Azure Monitor-logboeken.

Diagnostische gegevens verzenden naar Azure Monitor-logboeken

Het wordt ten zeerste aanbevolen om resourcelogboeken in te schakelen en naar Azure Monitor-logboeken te verzenden. Ze zijn standaard uitgeschakeld . Voer de volgende stappen uit om ze in te schakelen:

  1. Maak een Log Analytics-werkruimte als u er nog geen hebt. Het is raadzaam om uw Log Analytics-werkruimte in dezelfde regio te plaatsen als uw Stream Analytics-taak.

  2. Meld u aan bij Azure Portal en navigeer naar uw Stream Analytics-taak. Selecteer diagnostische logboeken onder Bewaking. Selecteer vervolgens Diagnostische gegevens inschakelen.

    Bladenavigatie naar resourcelogboeken

  3. Geef een naam op in de naam van de diagnostische instellingen en schakel de selectievakjes in voor uitvoering en creatie onder logboek en AllMetrics onder metrische gegevens. Selecteer vervolgens Verzenden naar Log Analytics en kies uw werkruimte. Selecteer Opslaan.

    Instellingen voor resourcelogboeken

  4. Wanneer uw Stream Analytics-taak wordt gestart, worden resourcelogboeken doorgestuurd naar uw Log Analytics-werkruimte. Als u resourcelogboeken voor uw taak wilt weergeven, selecteert u Logboeken onder de sectie Bewaking .

    Schermopname van het menu Algemeen met Logboeken geselecteerd.

  5. Stream Analytics biedt vooraf gedefinieerde query's waarmee u eenvoudig kunt zoeken naar de logboeken waarin u geïnteresseerd bent. U kunt vooraf gedefinieerde query's selecteren in het linkerdeelvenster en vervolgens Uitvoeren selecteren. U ziet de resultaten van de query in het onderste deelvenster.

    Schermopname van Logboeken voor een Stream Analytics-taak.

Categorieën van resourcelogboeken

Azure Stream Analytics legt twee categorieën resourcelogboeken vast:

  • Ontwerpen: legt logboek gebeurtenissen vast die betrekking hebben op bewerkingen voor het ontwerpen van taken, zoals het maken van taken, het toevoegen en verwijderen van invoer en uitvoer, het toevoegen en bijwerken van de query en het starten of stoppen van de taak.

  • Uitvoering: legt gebeurtenissen vast die optreden tijdens het uitvoeren van de taak.

    • Connectiviteitsfouten
    • Gegevensverwerkingsfouten, waaronder:
      • Gebeurtenissen die niet voldoen aan de querydefinitie (niet-overeenkomende veldtypen en -waarden, ontbrekende velden, enzovoort)
      • Evaluatiefouten voor expressies
    • Andere gebeurtenissen en fouten

Schema voor resourcelogboeken

Alle logboeken worden opgeslagen in JSON-indeling. Elke vermelding heeft de volgende algemene tekenreeksvelden:

Name Beschrijving
tijd Tijdstempel (in UTC) van het logboek.
resourceId Id van de resource waarop de bewerking heeft plaatsgevonden, in hoofdletters. Het bevat de abonnements-id, de resourcegroep en de taaknaam. Bijvoorbeeld /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT. STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.
category Logboekcategorie, uitvoering of creatie.
operationName Naam van de bewerking die is geregistreerd. Bijvoorbeeld : Gebeurtenissen verzenden: SQL Output-schrijffout naar mysqloutput.
status Status van de bewerking. Bijvoorbeeld Mislukt of Geslaagd.
niveau Logboekniveau. Bijvoorbeeld fout, waarschuwing of informatief.
properties Vermeldingsspecifieke logboekgegevens, geserialiseerd als een JSON-tekenreeks. Zie de volgende secties in dit artikel voor meer informatie.

Schema voor eigenschappen van uitvoeringslogboek

Uitvoeringslogboeken bevatten informatie over gebeurtenissen die zijn opgetreden tijdens het uitvoeren van de Stream Analytics-taak. Het schema van eigenschappen is afhankelijk van of de gebeurtenis een gegevensfout of een algemene gebeurtenis is.

Gegevensfouten

Eventuele fouten die optreden wanneer de taak gegevens verwerkt, bevindt zich in deze categorie logboeken. Deze logboeken worden meestal gemaakt tijdens het lezen, serialiseren en schrijven van gegevens. Deze logboeken bevatten geen connectiviteitsfouten. Verbinding maken iviteitsfouten worden behandeld als algemene gebeurtenissen. Meer informatie over de oorzaak van verschillende fouten in invoer- en uitvoergegevens.

Name Beschrijving
Bron Naam van de taakinvoer of uitvoer waar de fout is opgetreden.
Bericht Bericht dat is gekoppeld aan de fout.
Type Type fout. Bijvoorbeeld DataConversionError, CsvParserError of ServiceBusPropertyColumnMissingError.
Gegevens Bevat gegevens die handig zijn om de bron van de fout nauwkeurig te vinden. Afhankelijk van de grootte, afhankelijk van de afkapping.

Afhankelijk van de waarde operationName hebben gegevensfouten het volgende schema:

  • Serialiseer gebeurtenissen tijdens leesbewerkingen voor gebeurtenissen. Ze vinden plaats wanneer de gegevens in de invoer om een van deze redenen niet voldoen aan het queryschema:

    • Type komt niet overeen tijdens de serialisatie/deserialisatie van gebeurtenissen: identificeert het veld dat de fout veroorzaakt.

    • Kan een gebeurtenis, ongeldige serialisatie niet lezen: bevat informatie over de locatie in de invoergegevens waar de fout is opgetreden. Bevat de blobnaam voor blobinvoer, offset en een voorbeeld van de gegevens.

  • Er worden gebeurtenissen verzonden tijdens schrijfbewerkingen. Ze identificeren de streaming-gebeurtenis die de fout heeft veroorzaakt.

Algemene gebeurtenissen

Algemene gebeurtenissen hebben betrekking op al het andere.

Name Beschrijving
Error (optioneel) Foutinformatie. Meestal zijn dit de uitzonderingsgegevens als deze beschikbaar zijn.
Bericht Logboekbericht.
Type Type bericht. Kaarten interne categorisatie van fouten. Bijvoorbeeld JobValidationError of BlobOutputAdapterInitializationFailure.
Correlatie-id GUID die de taakuitvoering op unieke wijze identificeert. Alle vermeldingen in het uitvoeringslogboek vanaf het moment dat de taak wordt gestart totdat de taak stopt, hebben dezelfde correlatie-id-waarde .

Zie een lijst met alle typen resourcelogboeken die worden ondersteund in Azure Monitor of alle typen resourcelogboekcategorie die zijn verzameld voor Azure Stream Analytics.

Volgende stappen