Udostępnij za pośrednictwem


Jak zbierać dzienniki samo diagnostyczne dla zestawów SDK usługi Application Insights

Podczas instrumentacji aplikacji za pomocą automatycznego instrumentacji usługi Application Insights lub instrumentacji ręcznej przy użyciu zestawu SDK usługi Application Insights mogą wystąpić problemy z samym zestawem SDK usługi Application Insights. W tym scenariuszu dzienniki diagnostyczne zestawu SDK usługi Application Insights są potrzebne do wykrywania i diagnozowania problemów z usługą Application Insights.

W tym artykule przedstawiono sposób zbierania dzienników samo diagnostycznych dla następujących zestawów SDK usługi Application Insights:

Application Insights .NET/.NET Core Framework SDK

W wersji 2.18.0-beta2 zestawu .NET/.NET Core Framework SDK usługi Application Insights jest dostarczana funkcja "self-diagnostics" do przechwytywania dzienników z samego zestawu SDK i zapisywania ich w pliku dziennika w określonym katalogu.

Konfiguracja samodzielnej diagnostyki

Skonfiguruj samodzielną diagnostykę przy użyciu pliku o nazwie ApplicationInsightsDiagnostics.json , który ma następującą zawartość:

{
    "LogDirectory": "<LogDirectory>",
    "FileSize": <FileSize>,
    "LogLevel": "<LogLevel>"
}

Uwaga

  • Plik konfiguracji do samodzielnej diagnostyki musi mieć prawidłowe parametry zestawu .NET/.NET Core Framework SDK usługi Application Insights do przeanalizowania. Jeśli plik jest nieprawidłowy lub źle sformułowany, zestaw SDK zignoruje go i nie będzie włączona samodzielna diagnostyka. Nie wpłynie to jednak na normalne funkcjonowanie monitorowanej aplikacji.
  • Ten plik konfiguracji nie może być większy niż 4 kilobajty (KB). W przeciwnym razie będą odczytywane tylko pierwsze 4 KB zawartości.
  • Zestaw SDK platformy .NET/.NET Core Framework usługi Application Insights będzie próbował odczytać plik konfiguracji co 10 sekund i utworzyć lub zastąp plik dziennika cyklicznie.

Oto kilka wyjaśnień dotyczących parametrów konfiguracji:

Parametry konfiguracji Opis
LogDirectory Katalog, w którym jest przechowywany plik dziennika. Może to być ścieżka bezwzględna lub ścieżka względna do bieżącego katalogu roboczego aplikacji internetowej. Ten plik dziennika ma nazwę YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log, na przykład 20220307-193542.w3wp.exe.7692.log. Nazwa pliku rozpoczyna się od sygnatury czasowej, która jest generowana podczas tworzenia pliku.
FileSize Dodatnia liczba całkowita określająca rozmiar pliku dziennika w kb. Ta wartość musi wynosić od 1 megabajtu (MB) do 128 MB (włącznie) lub zostanie zaokrąglona do najbliższego górnego lub dolnego limitu. Plik dziennika nie przekroczy tego skonfigurowanego maksymalnego rozmiaru.
LogLevel Poziom zdarzeń do przechwycenia. Ta wartość musi być zgodna z jednym z pól EventLevelelementu . Niższe poziomy ważności obejmują wyższe poziomy ważności (na przykład Warning obejmują Error poziomy i Critical ).

Samodzielna diagnostyka aplikacji internetowej

Aby włączyć samodzielną diagnostykę, przejdź do bieżącego katalogu roboczego aplikacji internetowej i utwórz plik konfiguracji ApplicationInsightsDiagnostics.json .

Aby wyłączyć samodzielną diagnostykę, usuń plik konfiguracji. Nawet gdy aplikacja internetowa jest uruchomiona, możesz włączyć lub wyłączyć samodzielną diagnostykę bez konieczności ponownego uruchamiania aplikacji.

W większości przypadków można usunąć plik wraz z aplikacją. Poniżej przedstawiono dwa sposoby znajdowania bieżącego katalogu roboczego:

  • W systemie Windows użyj Eksploratora procesów.

    Otwórz Eksploratora procesów, wybierz proces i otwórz okno dialogowe Właściwości . Znajdź bieżący katalog w obszarze Plik obrazu.

  • Wywołaj metody iAppContext.BaseDirectory, GetCurrentDirectory aby uzyskać bieżący katalog roboczy.

Samodzielna diagnostyka aplikacji internetowej App Service w systemie Windows

  1. Przejdź do aplikacji internetowej App Service z Azure Portal.

  2. Przejdź do strony Kudu, wybierając pozycję Narzędzia> zaawansowanePrzejdź.

  3. Na pulpicie nawigacyjnym Kudu wybierz pozycjęCmd konsoli >debugowania.

  4. Przejdź do katalogu, w którym znajduje się aplikacja internetowa App Service, na przykład D:\home\site\wwwroot.

  5. Użyj symbolu "+" w górnej części pulpitu nawigacyjnego Kudu, aby utworzyć nowy plik w folderze wwwroot i nadać mu nazwę ApplicationInsightsDiagnostics.json.

    Plik ApplicationInsightsDiagnostics.json należy umieścić w folderze <drive>:\home\site\wwwroot . Nie wszystkie App Service Web Apps znajdują się na tym samym dysku. Niektóre z nich mogą znajdować się na dysku C:, a niektóre na dysku D:. Aby go znaleźć, sprawdź pola Folder lokacji i Folder tymczasowy na domyślnej stronie Kudu.

    Zrzut ekranu przedstawiający pola

  6. Edytuj i dodaj następującą konfigurację do pliku ApplicationInsightsDiagnostics.json :

    {
        "LogDirectory": "<drive>:\home\site\wwwroot",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    }
    

    Uwaga

    Parametr LogDirectory powinien być ustawiony na lokalizację w obszarze <drive>:\home , aby ułatwić dostęp, ale inne lokalizacje są prawidłowe, jeśli dostęp jest wystarczający.

  7. Zapisz plik.

    Po 10 sekundach w folderze wwwroot zostanie wyświetlony nowy plik dziennika, taki jak 20220307-193542.w3wp.exe.7692.log.

  8. Usuń plik konfiguracji lub zmień jego nazwę na ApplicationInsightsDiagnostics.bak.

    Po 10 sekundach rejestrowanie zostanie zatrzymane.

Samodzielna diagnostyka aplikacji internetowej App Service w systemie Linux

  1. Na komputerze lokalnym utwórz plik i nadaj mu nazwę ApplicationInsightsDiagnostics.json.

  2. Edytuj plik i dodaj następującą zawartość:

    {
        "LogDirectory": ".",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    } 
    
  3. Zapisz plik.

  4. Przejdź do aplikacji internetowej App Service z Azure Portal.

  5. Przejdź do strony Kudu, wybierając pozycję Narzędzia> zaawansowanePrzejdź.

  6. Po uruchomieniu sesji przeglądarki dodaj /newui na końcu adresu URL. Adres URL w przeglądarce powinien wyglądać następująco https://<appname>.scm.azurewebsites.net/newui: .

  7. Naciśnij klawisz Enter. Zostanie otwarta strona Kudu z nowym interfejsem użytkownika.

  8. W menu po lewej stronie wybierz pozycję Menedżer plików.

  9. Wybierz folder Lokacja , a następnie wybierz folder wwwroot .

  10. Przeciągnij i upuść plik ApplicationInsightsDiagnostics.json do folderu wwwroot .

    Po 10 sekundach w folderze wwwroot zostanie wyświetlony nowy plik dziennika, na przykład 20220307-193542.w3wp.exe.7692.log.

  11. Usuń plik konfiguracji lub zmień jego nazwę na ApplicationInsightsDiagnostics.bak.

    Po 10 sekundach rejestrowanie zostanie zatrzymane.

Application Insights Java 2.x

Dzienniki diagnostyczne można zbierać dla języka Java 2.6 lub starszej wersji usługi Application Insights. W tym celu dodaj <SDKLogger> element w węźle głównym pliku konfiguracji ApplicationInsights.xml (w folderze resources w projekcie). W elemencie <SDKLogger> można poinstruować rejestratora, aby wyprowadzał dane wyjściowe do pliku.

Oto przykład pliku ApplicationInsights.xml :

<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>

Aby uzyskać więcej informacji, zobacz Troubleshoot aplikacja systemu Azure Insights in a Java web project (Rozwiązywanie problemów z usługą aplikacja systemu Azure Insights w projekcie internetowym Java).

Application Insights Java 3.x

Dzienniki diagnostyczne dla usługi Application Insights Java 3.x można zbierać przy użyciu funkcji "samodzielnej diagnostyki". Aby to zrobić, zobacz Self-diagnostics (Self-diagnostics).

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.