Share via


Gegevensgestuurde foutopsporing met behulp van het taakdiagram

Met behulp van het taakdiagram op de blade Controle in Azure Portal kunt u uw taakpijplijn visualiseren. Hierin worden invoer, uitvoer en querystappen weergegeven. U kunt het taakdiagram gebruiken om de metrische gegevens voor elke stap te onderzoeken, om de bron van het probleem sneller te isoleren bij het oplossen van problemen.

Het taakdiagram gebruiken

Selecteer in Azure Portal, terwijl u zich in een Stream Analytics-taak bevindt, onder ONDERSTEUNING en PROBLEEMOPLOSSING, het taakdiagram:

Job diagram with metrics - location

Selecteer elke querystap om de bijbehorende sectie in een querybewerkingsvenster weer te geven. Een metrische grafiek voor de stap wordt weergegeven in een lager deelvenster op de pagina.

Job diagram with metrics - basic job

Als u de partities van de Azure Event Hubs-invoer wilt zien, selecteert u . . Er wordt een snelmenu weergegeven. U kunt ook de invoerfusie zien.

Job diagram with metrics - expand partition

Als u de grafiek met metrische gegevens voor slechts één partitie wilt zien, selecteert u het partitieknooppunt. De metrische gegevens worden onder aan de pagina weergegeven.

Job diagram with metrics - more metrics

Als u de grafiek met metrische gegevens voor een fusie wilt zien, selecteert u het fusieknooppunt. In de volgende grafiek ziet u dat er geen gebeurtenissen zijn verwijderd of aangepast.

Job diagram with metrics - grid

Als u de details van de metrische waarde en tijd wilt zien, wijst u de grafiek aan.

Job diagram with metrics - hover

Problemen oplossen met behulp van metrische gegevens

De metrische waarde QueryLastProcessedTime geeft aan wanneer een specifieke stap gegevens heeft ontvangen. Door naar de topologie te kijken, kunt u terugwerken van de uitvoerprocessor om te zien welke stap geen gegevens ontvangt. Als een stap geen gegevens krijgt, gaat u naar de querystap net voordat deze stap wordt uitgevoerd. Controleer of de voorgaande querystap een tijdvenster heeft en of er voldoende tijd is verstreken om gegevens uit te voeren. (Houd er rekening mee dat tijdvensters zijn vastgelijnd op het uur.)

Als de voorgaande querystap een invoerprocessor is, gebruikt u de metrische invoergegevens om de volgende gerichte vragen te beantwoorden. Ze kunnen u helpen bepalen of een taak gegevens ophaalt uit de invoerbronnen. Controleer elke partitie als de query gepartitioneerd is.

Hoeveel gegevens worden gelezen?

  • InputEventsSourcesTotal is het aantal gelezen gegevenseenheden. Bijvoorbeeld het aantal blobs.
  • InputEventsTotal is het aantal gelezen gebeurtenissen. Deze metrische waarde is beschikbaar per partitie.
  • InputEventsInBytesTotal is het aantal gelezen bytes.
  • InputEventsLastArrivalTime wordt bijgewerkt met de ontvangen tijd van elke ontvangen gebeurtenis.

Gaat de tijd vooruit? Als er feitelijke gebeurtenissen worden gelezen, wordt er mogelijk geen interpunctie gegenereerd.

  • InputEventsLastPunctuationTime geeft aan wanneer er interpunctie is gegenereerd om ervoor te zorgen dat de tijd vooruit blijft lopen. Als interpunctie niet wordt uitgegeven, kan de gegevensstroom worden geblokkeerd.

Zijn er fouten in de invoer?

  • InputEventsEventDataNullTotal is een telling van gebeurtenissen met null-gegevens.
  • InputEventsSerializerErrorsTotal is een telling van gebeurtenissen die niet correct kunnen worden gedeserialiseerd.
  • InputEventsDegradedTotal is een telling van gebeurtenissen die een ander probleem hadden dan met deserialisatie.

Worden gebeurtenissen verwijderd of aangepast?

  • InputEventsEarlyTotal is het aantal gebeurtenissen met een tijdstempel van een toepassing vóór het hoge watermerk.
  • InputEventsLateTotal is het aantal gebeurtenissen met een tijdstempel van een toepassing na het hoge watermerk.
  • InputEventsDroppedBeforeApplicationStartTimeTotal is de getalgebeurtenissen die vóór de begintijd van de taak zijn verwijderd.

Zitten we achter bij het lezen van gegevens?

  • Invoergebeurtenissen die zijn teruggelogd (totaal) geven aan hoeveel meer berichten moeten worden gelezen voor Event Hubs en Azure IoT Hub-invoer. Wanneer dit getal groter is dan 0, betekent dit dat uw taak de gegevens niet zo snel kan verwerken als het binnenkomt. In dit geval moet u mogelijk het aantal streaming-eenheden verhogen en/of ervoor zorgen dat uw taak kan worden geparallelliseerd. Meer informatie hierover vindt u op de pagina queryparallellisatie.

Hulp vragen

Probeer onze microsoft Q&A-vragenpagina voor Azure Stream Analytics voor meer hulp.

Volgende stappen