Jak zbierać dzienniki samodzielnej diagnostyki 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 wykrycia i zdiagnozowania problemów z usługą Application Insights.
W tym artykule przedstawiono sposób zbierania dzienników samodzielnej diagnostyki dla następujących zestawów SDK usługi Application Insights:
- Application Insights .NET/.NET Core Framework SDK
- Application Insights Java 2.x
- Application Insights Java 3.x
Application Insights .NET/.NET Core Framework SDK
W wersji 2.18.0-beta2 zestawu SDK .NET/.NET Core Framework usługi Application Insights funkcja "self-diagnostics" jest dostarczana 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 16.
- Plik konfiguracji do samodzielnej diagnostyki musi mieć prawidłowe parametry zestawu SDK platformy .NET/.NET Core Framework usługi Application Insights, aby je przeanalizować. Jeśli plik jest nieprawidłowy lub nieprawidłowo sformułowany, zestaw SDK go zignoruje i nie zostanie włączona samodzielna diagnostyka. Nie wpłynie to jednak na normalne działanie monitorowanej aplikacji.
- Ten plik konfiguracji nie może przekraczać 4 kilobajtów (KB). W przeciwnym razie odczytane będą tylko pierwsze 4 KB zawartości.
- Zestaw SDK .NET/.NET Core Framework usługi Application Insights podejmie próbę odczytania pliku konfiguracji co 10 sekund i utworzenia lub cyklicznego zastąpienia pliku dziennika.
Poniżej przedstawiono 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 względna ścieżka 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 znacznika czasu generowanego podczas tworzenia pliku. |
FileSize |
Dodatnia liczba całkowita określająca rozmiar pliku dziennika w kb. Ta wartość musi należeć do przedziału 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 skonfigurowanego maksymalnego rozmiaru. |
LogLevel |
Poziom zdarzeń do przechwycenia. Ta wartość musi być zgodna z jednym z pól obiektu EventLevel . 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 jeśli 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 i
AppContext.BaseDirectory
,GetCurrentDirectory
aby pobrać bieżący katalog roboczy.
Samodzielna diagnostyka aplikacji internetowej usługi App Service w systemie Windows
Przejdź do aplikacji internetowej usługi App Service z witryny Azure Portal.
Przejdź do strony Kudu, wybierając pozycję Zaawansowane narzędzia>Przejdź.
Na pulpicie nawigacyjnym Kudu wybierz pozycję CmD konsoli>debugowania.
Przejdź do katalogu, w którym znajduje się aplikacja internetowa usługi App Service, na przykład D:\home\site\wwwroot.
Użyj symbolu "+" u góry pulpitu nawigacyjnego Kudu, aby utworzyć nowy plik w folderze wwwroot i nadaj mu nazwę ApplicationInsightsDiagnostics.json.
Plik ApplicationInsightsDiagnostics.json należy umieścić w folderze< drive>:\home\site\wwwroot. Nie wszystkie aplikacje internetowe usługi App Service znajdują się na tym samym dysku. Niektóre z nich mogą znajdować się na dysku C: i niektóre mogą znajdować się na dysku D: . Aby go znaleźć, sprawdź pola Folder witryny i Folder tymczasowy z domyślnej strony Kudu.
Edytuj i dodaj następującą konfigurację do pliku ApplicationInsightsDiagnostics.json :
{ "LogDirectory": "<drive>:\home\site\wwwroot", "FileSize": 5120, "LogLevel": "Verbose" }
Uwaga 16.
Parametr
LogDirectory
powinien być ustawiony na lokalizację w obszarze <dysku>:\home w celu łatwego dostępu, ale inne lokalizacje są prawidłowe, jeśli jest wystarczająca ilość dostępu.Zapisz plik.
Po 10 sekundach nowy plik dziennika, taki jak 20220307-193542.w3wp.exe.7692.log, zostanie wyświetlony w folderze wwwroot .
Usuń plik konfiguracji lub zmień jego nazwę na ApplicationInsightsDiagnostics.bak.
Po 10 sekundach rejestrowanie zostanie zatrzymane.
Samodzielna diagnostyka aplikacji internetowej usługi App Service w systemie Linux
Na komputerze lokalnym utwórz plik i nadaj mu nazwę, aby ApplicationInsightsDiagnostics.json.
Edytuj plik i dodaj następującą zawartość:
{ "LogDirectory": ".", "FileSize": 5120, "LogLevel": "Verbose" }
Zapisz plik.
Przejdź do aplikacji internetowej usługi App Service z witryny Azure Portal.
Przejdź do strony Kudu, wybierając pozycję Zaawansowane narzędzia>Przejdź.
Po uruchomieniu sesji przeglądarki dodaj
/newui
go na końcu adresu URL. Adres URL w przeglądarce powinien wyglądać następująco:https://<appname>.scm.azurewebsites.net/newui
.Naciśnij klawisz Enter. Zostanie otwarta strona Kudu z nowym interfejsem użytkownika.
W menu po lewej stronie wybierz pozycję Menedżer plików.
Wybierz folder Lokacja, a następnie wybierz folder wwwroot.
Przeciągnij i upuść plik ApplicationInsightsDiagnostics.json do folderu wwwroot .
Po 10 sekundach nowy plik dziennika zostanie wyświetlony w folderze wwwroot , na przykład 20220307-193542.w3wp.exe.7692.log.
Usuń plik konfiguracji lub zmień jego nazwę na ApplicationInsightsDiagnostics.bak.
Po 10 sekundach rejestrowanie zostanie zatrzymane.
Application Insights Java 2.x
Możesz zbierać dzienniki diagnostyczne dla środowiska Java 2.6 usługi Application Insights lub starszej wersji. W tym celu dodaj <SDKLogger>
element w węźle głównym pliku konfiguracji ApplicationInsights.xml (w folderze resources w projekcie). W elemecie <SDKLogger>
można poinstruować rejestratora, aby wyprowadził 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 Rozwiązywanie problemów z aplikacja systemu Azure Insights w projekcie internetowym Java.
Application Insights Java 3.x
Dzienniki diagnostyczne dla środowiska Java 3.x usługi Application Insights można zbierać przy użyciu funkcji "samodzielnej diagnostyki". Aby to zrobić, zobacz Samodzielna diagnostyka.
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 na temat platformy Azure.