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
- Application Insights Java 2.x
- Application Insights Java 3.x
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 EventLevel elementu . 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 i
AppContext.BaseDirectory
,GetCurrentDirectory
aby uzyskać bieżący katalog roboczy.
Samodzielna diagnostyka aplikacji internetowej App Service w systemie Windows
Przejdź do aplikacji internetowej App Service z Azure Portal.
Przejdź do strony Kudu, wybierając pozycję Narzędzia> zaawansowanePrzejdź.
Na pulpicie nawigacyjnym Kudu wybierz pozycjęCmd konsoli >debugowania.
Przejdź do katalogu, w którym znajduje się aplikacja internetowa App Service, na przykład D:\home\site\wwwroot.
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.
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.Zapisz plik.
Po 10 sekundach w folderze wwwroot zostanie wyświetlony nowy plik dziennika, taki jak 20220307-193542.w3wp.exe.7692.log.
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
Na komputerze lokalnym utwórz plik i nadaj mu nazwę ApplicationInsightsDiagnostics.json.
Edytuj plik i dodaj następującą zawartość:
{ "LogDirectory": ".", "FileSize": 5120, "LogLevel": "Verbose" }
Zapisz plik.
Przejdź do aplikacji internetowej App Service z Azure Portal.
Przejdź do strony Kudu, wybierając pozycję Narzędzia> zaawansowanePrzejdź.
Po uruchomieniu sesji przeglądarki dodaj
/newui
na końcu adresu URL. Adres URL w przeglądarce powinien wyglądać następującohttps://<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 w folderze wwwroot zostanie wyświetlony nowy plik dziennika, 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
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.