Udostępnij za pośrednictwem


Rozwiązywanie problemów z błędami usługi wewnętrznej HTTP 500

DOTYCZY: ZESTAW SDK w wersji 4

Pierwszym krokiem rozwiązywania problemów z błędami 500 jest włączenie Szczegółowe informacje aplikacji.

Aby zapoznać się z przykładami app Szczegółowe informacje, zobacz przykładowy kod C# luis-with-appinsights i przykład JS.

Uwaga

Usługa Language Understanding (LUIS) zostanie wycofana 1 października 2025 r. Od 1 kwietnia 2023 r. nie będzie można tworzyć nowych zasobów usługi LUIS. Nowsza wersja interpretacji języka jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure.

Język konwersacyjny (CLU), funkcja języka AI platformy Azure, to zaktualizowana wersja usługi LUIS. Aby uzyskać więcej informacji na temat obsługi języka w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Aby uzyskać informacje na temat dodawania aplikacji Szczegółowe informacje do istniejącego bota, zobacz telemetrię analizy konwersacji.

Włączanie Szczegółowe informacje aplikacji dla ASP.NET

Aby uzyskać podstawową obsługę Szczegółowe informacje aplikacji, zobacz konfigurowanie Szczegółowe informacje aplikacji dla witryny internetowej ASP.NET. Platforma Bot Framework (począwszy od wersji 4.2) zapewnia dodatkowy poziom telemetrii usługi Application Szczegółowe informacje, ale nie jest wymagany do diagnozowania błędów HTTP 500.

Włączanie Szczegółowe informacje aplikacji dla środowiska Node.js

Aby uzyskać podstawową obsługę usługi Application Szczegółowe informacje, zobacz jak monitorować usługi i aplikacje Node.js za pomocą Szczegółowe informacje Aplikacji. Platforma Bot Framework (począwszy od wersji 4.2) zapewnia dodatkowy poziom telemetrii usługi Application Szczegółowe informacje, ale nie jest wymagany do diagnozowania błędów HTTP 500.

Wykonywanie zapytań dotyczących wyjątków

Najprostszą metodą analizowania kodu stanu HTTP 500 jest rozpoczęcie od wyjątków.

Następujące zapytania informują o najnowszych wyjątkach:

exceptions
| order by timestamp desc
| project timestamp, operation_Id, appName

W pierwszym zapytaniu wybierz kilka identyfikatorów operacji i poszukaj dodatkowych informacji:

let my_operation_id = "d298f1385197fd438b520e617d58f4fb";
let union_all = () {
    union
    (traces | where operation_Id == my_operation_id),
    (customEvents | where operation_Id == my_operation_id),
    (requests | where operation_Id == my_operation_id),
    (dependencies | where operation_Id  == my_operation_id),
    (exceptions | where operation_Id == my_operation_id)
};

union_all
    | order by timestamp desc

Jeśli masz exceptionstylko element , przeanalizuj szczegóły i sprawdź, czy odpowiadają wierszom w kodzie. Jeśli widzisz tylko wyjątki pochodzące z Połączenie or kanału (Microsoft.Bot.ChannelConnector), zobacz Brak zdarzeń Szczegółowe informacje aplikacji, aby upewnić się, że Szczegółowe informacje aplikacji jest poprawnie skonfigurowana, a kod rejestruje zdarzenia.

Brak zdarzeń Szczegółowe informacje aplikacji

Jeśli otrzymujesz błędy 500 i nie ma żadnych dalszych zdarzeń w aplikacji Szczegółowe informacje od bota, sprawdź następujące kwestie:

Upewnij się, że bot działa lokalnie

Najpierw przetestuj bota lokalnie za pomocą programu Bot Framework Emulator.

Upewnij się, że pliki konfiguracji są kopiowane (tylko platforma.NET)

Upewnij się, że pliki appsettings.json konfiguracji i inne pliki konfiguracji są prawidłowo pakowane podczas procesu wdrażania.

Zestawy aplikacji

Upewnij się, że zestawy Szczegółowe informacje aplikacji są prawidłowo pakowane podczas procesu wdrażania.

  • Microsoft.Application Szczegółowe informacje
  • Microsoft.Application Szczegółowe informacje. Tracelistener
  • Microsoft.AI.Web
  • Microsoft.AI.WebServer
  • Microsoft.AI.ServeTelemetryChannel
  • Microsoft.AI.PerfCounterCollector
  • Microsoft.AI.DependencyCollector
  • Microsoft.AI.Agent.Intercept

Upewnij się, że pliki appsettings.json konfiguracji i inne pliki konfiguracji są prawidłowo pakowane podczas procesu wdrażania.

appsettings.json

W pliku appsettings.json upewnij się, że ustawiono klucz instrumentacji.

{
    "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
            "Default": "Debug",
            "System": "Information",
            "Microsoft": "Information"
        },
        "Console": {
            "IncludeScopes": "true"
        }
    }
}

Weryfikowanie pliku konfiguracji

Upewnij się, że w pliku konfiguracji znajduje się klucz Szczegółowe informacje aplikacji.

{
    "ApplicationInsights": {
        "type": "appInsights",
        "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "resourceGroup": "my resource group",
        "name": "my appinsights name",
        "serviceName": "my service name",
        "instrumentationKey": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "apiKeys": {},
        "id": ""
    }
},

Sprawdzanie dzienników

Bot ASP.NET i Node będą emitować dzienniki na poziomie serwera, które można sprawdzić.

Konfigurowanie przeglądarki w celu obejrzenia dzienników

  1. Otwórz bota w witrynie Azure Portal.
  2. Otwórz stronę Ustawienia/Wszystkie ustawienia usługi App Service, aby wyświetlić wszystkie ustawienia usługi.
  3. Otwórz stronę Dzienniki monitorowania/diagnostyki dla usługi app Service.
    • Upewnij się, że włączono rejestrowanie aplikacji (system plików). Pamiętaj, aby kliknąć przycisk Zapisz , jeśli zmienisz to ustawienie.
  4. Przejdź do strony Monitorowanie/strumień dzienników .
    • Wybierz pozycję Dzienniki serwera sieci Web i upewnij się, że zostanie wyświetlony komunikat, że masz połączenie. Powinien wyglądać podobnie do następującego:

      Connecting...
      2018-11-14T17:24:51  Welcome, you are now connected to log-streaming service.
      

      Pozostaw to okno otwarte.

Konfigurowanie przeglądarki w celu ponownego uruchomienia usługi bota

  1. Za pomocą oddzielnej przeglądarki otwórz bota w witrynie Azure Portal.
  2. Otwórz stronę Ustawienia/Wszystkie ustawienia usługi App Service, aby wyświetlić wszystkie ustawienia usługi.
  3. Przejdź do strony Przegląd usługi app Service i kliknij przycisk Uruchom ponownie.
    • Jeśli masz pewność, zostanie wyświetlony monit. wybierz pozycję Tak.
  4. Wróć do pierwszego okna przeglądarki i obejrzyj dzienniki.
  5. Sprawdź, czy otrzymujesz nowe dzienniki.
    • Jeśli nie ma żadnych działań, ponownie wdróż bota.
    • Następnie przejdź do strony Dzienniki aplikacji i poszukaj błędów.

Następne kroki