Rozwiązywanie problemów z usługą Azure Stream Analytics przy użyciu dzienników zasobów

Czasem może się zdarzyć, że przetwarzanie zadania usługi Azure Stream Analytics zostanie nieoczekiwanie zatrzymane. Ważne jest, aby było możliwe rozwiązanie problemu z tego rodzaju zdarzeniem. Mogą one być spowodowane przez nieoczekiwany wynik zapytania, problemy z łącznością z urządzeniami lub nieoczekiwaną awarię usługi. Dzienniki zasobów w usłudze Stream Analytics mogą pomóc zidentyfikować przyczynę problemów, gdy wystąpią i skrócić czas odzyskiwania.

Zdecydowanie zaleca się włączenie dzienników zasobów dla wszystkich zadań, ponieważ znacznie ułatwi debugowanie i monitorowanie.

Typy dzienników

Usługa Stream Analytics oferuje dwa typy dzienników:

  • Dzienniki aktywności (zawsze włączone), które zapewniają wgląd w operacje wykonywane na zadaniach.

  • Dzienniki zasobów (konfigurowalne), które zapewniają bogatszy wgląd w wszystko, co dzieje się z zadaniem. Dzienniki zasobów są uruchamiane po utworzeniu i zakończeniu zadania po usunięciu zadania. Obejmują one zdarzenia, gdy zadanie jest aktualizowane i gdy jest uruchomione.

Uwaga

Możesz użyć usług, takich jak Azure Storage, Azure Event Hubs i Dzienniki usługi Azure Monitor, aby analizować dane niekonformujące. Opłaty są naliczane na podstawie modelu cenowego dla tych usług.

Uwaga

Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dziennika są nadal przechowywane w obszarze roboczym usługi Log Analytics i są nadal zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zmiany terminologii usługi Azure Monitor.

Debugowanie przy użyciu dzienników aktywności

Dzienniki aktywności są domyślnie włączone i zapewniają ogólny wgląd w operacje wykonywane przez zadanie usługi Stream Analytics. Informacje obecne w dziennikach aktywności mogą pomóc znaleźć główną przyczynę problemów wpływających na zadanie. Wykonaj następujące kroki, aby użyć dzienników aktywności w usłudze Stream Analytics:

  1. Zaloguj się do witryny Azure Portal i wybierz pozycję Dziennik aktywności w obszarze Przegląd.

    Dziennik aktywności usługi Stream Analytics

  2. Możesz wyświetlić listę wykonanych operacji. Każda operacja, która spowodowała niepowodzenie zadania, ma czerwony bąbelek informacyjny.

  3. Wybierz operację, aby wyświetlić jej widok podsumowania. Informacje są często ograniczone. Aby dowiedzieć się więcej na temat operacji, wybierz pozycję JSON.

    Podsumowanie operacji dziennika aktywności usługi Stream Analytics

  4. Przewiń w dół do sekcji Właściwości pliku JSON, która zawiera szczegółowe informacje o błędzie, który spowodował niepowodzenie operacji. W tym przykładzie awaria była spowodowana błędem środowiska uruchomieniowego z wartości powiązanych szerokości geograficznych. Rozbieżność danych przetwarzanych przez zadanie usługi Stream Analytics powoduje błąd danych. Możesz dowiedzieć się więcej o różnych błędach danych wejściowych i wyjściowych oraz o przyczynach ich wystąpienia.

    Szczegóły błędu JSON

  5. Akcje naprawcze można wykonać na podstawie komunikatu o błędzie w formacie JSON. W tym przykładzie sprawdza się, czy wartość szerokości geograficznej wynosi od -90 stopni do 90 stopni, należy dodać do zapytania.

  6. Jeśli komunikat o błędzie w dziennikach aktywności nie jest przydatny podczas identyfikowania głównej przyczyny, włącz dzienniki zasobów i użyj dzienników usługi Azure Monitor.

Wysyłanie diagnostyki do dzienników usługi Azure Monitor

Włączenie dzienników zasobów i wysłanie ich do dzienników usługi Azure Monitor jest zdecydowanie zalecane. Są one domyślnie wyłączone. Aby je włączyć, wykonaj następujące kroki:

  1. Utwórz obszar roboczy usługi Log Analytics, jeśli jeszcze go nie masz. Zaleca się posiadanie obszaru roboczego usługi Log Analytics w tym samym regionie co zadanie usługi Stream Analytics.

  2. Zaloguj się do witryny Azure Portal i przejdź do zadania usługi Stream Analytics. W obszarze Monitorowanie wybierz pozycję Dzienniki diagnostyczne. Następnie wybierz pozycję Włącz diagnostykę.

    Nawigacja w bloku do dzienników zasobów

  3. Podaj nazwę w polu Nazwa ustawień diagnostycznych i zaznacz pola wykonywania i tworzenia w obszarze dziennika oraz Wszystkie metryki w obszarze metryki. Następnie wybierz pozycję Wyślij do usługi Log Analytics i wybierz swój obszar roboczy. Wybierz pozycję Zapisz.

    Ustawienia dzienników zasobów

  4. Po uruchomieniu zadania usługi Stream Analytics dzienniki zasobów są kierowane do obszaru roboczego usługi Log Analytics. Aby wyświetlić dzienniki zasobów dla zadania, wybierz pozycję Dzienniki w sekcji Monitorowanie .

    Zrzut ekranu przedstawia menu Ogólne z wybraną pozycję Dzienniki.

  5. Usługa Stream Analytics udostępnia wstępnie zdefiniowane zapytania, które umożliwiają łatwe wyszukiwanie zainteresowanych dzienników. W okienku po lewej stronie możesz wybrać dowolne wstępnie zdefiniowane zapytania, a następnie wybrać pozycję Uruchom. Wyniki zapytania zostaną wyświetlone w dolnym okienku.

    Zrzut ekranu przedstawiający dzienniki dla zadania usługi Stream Analytics.

Kategorie dzienników zasobów

Usługa Azure Stream Analytics przechwytuje dwie kategorie dzienników zasobów:

  • Tworzenie: przechwytuje zdarzenia dziennika związane z operacjami tworzenia zadań, takimi jak tworzenie zadań, dodawanie i usuwanie danych wejściowych i wyjściowych, dodawanie i aktualizowanie zapytania oraz uruchamianie lub zatrzymywanie zadania.

  • Wykonanie: przechwytuje zdarzenia występujące podczas wykonywania zadania.

    • Błędy łączności
    • Błędy przetwarzania danych, w tym:
      • Zdarzenia, które nie są zgodne z definicją zapytania (niezgodne typy pól i wartości, brakujące pola itd.)
      • Błędy oceny wyrażeń
    • Inne zdarzenia i błędy

Schemat dzienników zasobów

Wszystkie dzienniki są przechowywane w formacie JSON. Każdy wpis ma następujące typowe pola ciągów:

Nazwa/nazwisko Opis
time Sygnatura czasowa (w formacie UTC) dziennika.
resourceId Identyfikator zasobu, na który miała miejsce operacja, w wielkim przypadku. Zawiera identyfikator subskrypcji, grupę zasobów i nazwę zadania. Na przykład /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT. STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.
category Kategoria dziennika, Wykonywanie lub Tworzenie.
operationName Nazwa zarejestrowanej operacji. Na przykład wysyłanie zdarzeń: niepowodzenie zapisu danych wyjściowych SQL w usłudze mysqloutput.
status Stan operacji. Na przykład Niepowodzenie lub Powodzenie.
poziom Poziom dziennika. Na przykład Błąd, Ostrzeżenie lub Informacje.
właściwości Szczegóły specyficzne dla wpisu dziennika, serializowane jako ciąg JSON. Aby uzyskać więcej informacji, zobacz następujące sekcje w tym artykule.

Schemat właściwości dziennika wykonywania

Dzienniki wykonywania zawierają informacje o zdarzeniach, które wystąpiły podczas wykonywania zadania usługi Stream Analytics. Schemat właściwości różni się w zależności od tego, czy zdarzenie jest błędem danych, czy zdarzeniem ogólnym.

Błędy danych

Każdy błąd, który występuje, gdy zadanie przetwarza dane, znajduje się w tej kategorii dzienników. Te dzienniki są najczęściej tworzone podczas operacji odczytu, serializacji i zapisu danych. Te dzienniki nie zawierają błędów łączności. błędy Połączenie ivity są traktowane jako zdarzenia ogólne. Możesz dowiedzieć się więcej o przyczynie różnych błędów danych wejściowych i wyjściowych.

Nazwa/nazwisko opis
Źródło Nazwa danych wejściowych lub wyjściowych zadania, w których wystąpił błąd.
Komunikat Komunikat skojarzony z błędem.
Typ Typ błędu. Na przykład DataConversionError, CsvParserError lub ServiceBusPropertyColumnMissingError.
Data Zawiera dane przydatne do dokładnego zlokalizowania źródła błędu. Podlega obcinaniu, w zależności od rozmiaru.

W zależności od wartości operationName błędy danych mają następujący schemat:

  • Serializacja zdarzeń występuje podczas operacji odczytu zdarzeń. Występują one, gdy dane wejściowe nie spełniają schematu zapytania z jednego z następujących powodów:

    • Niezgodność typów podczas serializacji/deserializacji zdarzeń: identyfikuje pole, które powoduje błąd.

    • Nie można odczytać zdarzenia, nieprawidłowa serializacja: wyświetla informacje o lokalizacji w danych wejściowych, w których wystąpił błąd. Zawiera nazwę obiektu blob dla danych wejściowych, przesunięć i przykładowych danych.

  • Zdarzenia wysyłania występują podczas operacji zapisu. Identyfikują zdarzenie przesyłania strumieniowego, które spowodowało błąd.

Zdarzenia ogólne

Zdarzenia ogólne obejmują wszystkie inne elementy.

Nazwa/nazwisko opis
Błąd (opcjonalnie) Informacje o błędzie. Zazwyczaj są to informacje o wyjątku, jeśli są dostępne.
Komunikat Komunikat dziennika.
Typ Typ wiadomości. Mapy do wewnętrznej kategoryzacji błędów. Na przykład JobValidationError lub BlobOutputAdapterInitializationFailure.
Identyfikator korelacji Identyfikator GUID, który jednoznacznie identyfikuje wykonywanie zadania. Wszystkie wpisy dziennika wykonywania od momentu uruchomienia zadania do momentu zatrzymania zadania mają taką samą wartość identyfikatora korelacji.

Aby uzyskać informacje, zobacz listę wszystkich typów kategorii dzienników zasobów obsługiwanych w usłudze Azure Monitor lub wszystkich typów kategorii dzienników zasobów zebranych dla usługi Azure Stream Analytics.

Następne kroki