Śledzenie
Śledzenie używa mechanizmu śledzenia zdarzeń w systemie Windows (ETW). Aby skorzystać z narzędzi do śledzenia dostępnych w systemie Windows Server 2008 R2, zainstaluj zestaw Microsoft Windows SDK.
Obsługiwane są trzy poziomy śledzenia:
- Szczegółowe (wszystkie dostępne ślady).
- Informacje (ślady informacyjne).
- Błąd (ślady błędów).
Śledzone są następujące zdarzenia:
- Wszelkie błędy (Level=Error, Level=Info lub Level=Verbose).
- Wejście/Wyjście interfejsu API (Poziom=Info lub Poziom=Szczegółowy).
- Początek i zakończenie dowolnej operacji I/O (Level=Info lub Level=Verbose)
- Wymienione komunikaty SOAP (Poziom=Szczegółowy, dostępne w systemie Windows 2003 z dodatkiem SP1 lub nowszym)
Generowanie i wyświetlanie śladów WWSAPI
WWSAPI wykorzystuje zdarzenia bazujące na manifeście w systemie Windows Vista i późniejszych. W związku z tym środowisko śledzenia ma pewne różnice w zależności od wersji systemu operacyjnego. Generowanie śladów ETW można wykonać przy użyciu wbudowanych narzędzi ETW na wszystkich obsługiwanych platformach. Jednak wyświetlanie śladów ETW w dobrym formacie wymaga niestandardowych narzędzi w systemach Windows XP z dodatkiem SP2 i Windows 2003 z dodatkiem SP1. Istnieje kilka różnych sposobów zbierania i wyświetlania śladów zdarzeń WWSAPI ETW w zależności od wersji systemu operacyjnego.
Włączanie i wyświetlanie śladów WWSAPI w Podglądzie zdarzeń (działa w systemie Windows Vista i nowszych)
- Uruchom plik eventvwr.msc z poziomu wiersza polecenia lub uruchom menu.
- Kliknij link Wyświetl w panelu Akcje po prawej stronie, i włącz opcję Pokaż dzienniki analityczne i debugowania.
- Przejdź do obszaru Dzienniki aplikacji i usługi\Microsoft\Windows\WebServices w okienku po lewej stronie.
- Kliknij prawym przyciskiem myszy dostawcę śledzenia i wybierz pozycję Włącz dziennik.
- Uruchom swój scenariusz.
- Gdy odświeżasz stronę Podglądu zdarzeń, powinieneś zacząć widzieć wpisy śledzenia WWSAPI.
Włączanie i wyświetlanie śladów WWSAPI przy użyciu skryptu Wstrace.bat (działa w systemie XPSP2 lub nowszym)
Plik skryptu wsadowego wstrace.bat oferuje wygodny sposób:
- Tworzenie dziennika śledzenia
- Usuwanie dziennika śledzenia
- Włączanie i wyłączanie śledzenia
- Aktualizuj poziom śledzenia (informacje/błąd/szczegółowy)
- Konwertowanie dzienników śledzenia na pliki CSV
Plik wsadowy używa logman.exe dla wszystkich poleceń, z wyjątkiem konwertowania dzienników na plik CSV, który wymaga niestandardowego narzędzia (wstracedump.exe).
Korzystanie z poleceń śledzenia
Następujące polecenie tworzy dziennik, który używa poziomu info, błędu lub szczegółowego. To polecenie wymaga podniesionych uprawnień.
utwórz wstrace.bat [info | błąd | szczegółowy]
Następujące polecenie usuwa dziennik. To polecenie wymaga podniesionych uprawnień.
wstrace.bat usuń
Następujące polecenie umożliwia śledzenie. Musisz najpierw utworzyć dziennik.
wstrace.bat na
Poziom śledzenia (informacje, błąd lub szczegółowe) można zmodyfikować w następujący sposób:
wstrace.bat aktualizacja [info | error | verbose]
Aby zrzucić dane wyjściowe śledzenia, użyj następującego polecenia:
wstrace.bat zrzutu > temp.csv
Zdarzenia zostaną zapisane do pliku CSV do momentu naciśnięcia Ctrl-C lub wyłączenia śledzenia.
Format pliku śledzenia
Pliki CSV utworzone przez wstrace.bat to proste pliki tekstowe rozdzielane przecinkami. Te pliki mogą być otwierane w programie Excel, Notatniku itp.
Kolumny pliku są następujące:
- Sygnatura czasowa — sygnatura czasowa zarejestrowania zdarzenia
- ProcessID — identyfikator ULONG procesu rejestrującego zdarzenie
- ThreadID — identyfikator ULONG wątku rejestrującego zdarzenie
- Zdarzenie — wyliczona wartość typu zdarzenia może być ("wejście do API" | "oczekiwanie na interfejs API" | "api ExitSyncSuccess" | "api ExitSyncFailure" | "api ExitAsyncSuccess" | "api ExitAsyncFailure" | "io rozpoczęte" | "io zakończone" | "io niepowodzenie" | "błąd" | "rozpoczęcie odbierania wiadomości" | "odebrano wiadomość" | "zatrzymanie odbierania komunikatu" | "rozpoczęcie wysyłania wiadomości" | "wysyłanie wiadomości" | "zatrzymanie wysyłania komunikatu")
- Operacja — nazwa wywoływanej operacji. Zazwyczaj jest to mapowane do wywoływanego interfejsu API.
- Błąd — opcjonalny numer błędu HRESULT
- Informacje — opcjonalne informacje o zdarzeniu
Zbieranie pliku śledzenia ETW WWSAPI przy użyciu narzędzi ETW (działa w systemie XPSP2 i nowszych)
Włączanie śledzenia ETW dla API WWS
logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets
aby utworzyć i uruchomić sesję śledzenia ETW. Logman.exe to wbudowane narzędzie ETW dostępne na wszystkich obsługiwanych platformach. Należy pamiętać, że musisz użyć Microsoft_Windows_WebServices jako nazwy dostawcy w XPSP2 i W2K3. Możesz uruchomić polecenie 'logman query providers', aby zobaczyć listę zarejestrowanych dostawców. Dostawca microsoft-Windows-WebServices (lub Microsoft_Windows_WebServices) powinien być wymieniony, chyba że nie jest zarejestrowany. Dostawca jest zwykle rejestrowany podczas instalacji. Można go również zarejestrować ręcznie, uruchamiając wevtutil.exe im <ManifestFileName> (w systemach Windows Vista i nowszych) lub mofcomp.exe <MofFileName> (w xpSP2 i W2K3).
Flagi mogą służyć do filtrowania śladów według ich rodzaju. Może to być wartość uzyskana poprzez operację OR z następujących typów śledzenia. Jeśli nie zostanie podany, wszystkie rodzaje śledzenia są włączone.
- 0x1 — ślady wejścia/zakończenia interfejsu API.
- 0x2 — ślady błędów.
- 0x4 — ślady we/wy.
- 0x8 — ślady komunikatów SOAP.
- 0x10 — ślady komunikatów binarnych.
Poziom może służyć do filtrowania śladów według ich poziomu. Powinna to być jedna z następujących wartości. Jeśli nie zostaną one podane, wszystkie poziomy śledzenia zostaną włączone.
- 0x1 — ślady śmiertelne.
- 0x2 — ślady błędów.
- 0x3 — ślady ostrzeżeń.
- 0x4 — ślady informacyjne.
- 0x5 — szczegółowe ślady.
EtlLogFileName to ścieżka do pliku dziennika zdarzeń ETW, który ma zostać utworzony. Użyj rozszerzenia .etl. Jeśli nie zostanie podana, funkcja ETW wybierze losową nazwę, która może zostać później zapytana. Ten plik nie powinien znajdować się w katalogu profilu użytkownika. Plik dziennika zdarzeń ETW (plik etl) jest w formacie binarnym. Może być używany przez aplikacje ETW, ale nie jest w czytelnym dla człowieka formacie. W następnym kroku opisano sposób wyświetlania jego zawartości.
Uruchamianie scenariusza
Zbieranie pliku dziennika zdarzeń ETW.
logman zatrzymać wstrace -ets
aby zatrzymać sesję śledzenia ETW. Dzieje się tak, gdy funkcja ETW zatrzymuje rejestrowanie zdarzeń. Plik dziennika zdarzeń ETW (określony w parametrze EtlLogFileName) jest gotowy do użycia. Można go albo wyświetlić lokalnie (instrukcje podane są poniżej), albo wysłać do grupy produktowej w celu zbadania.
Końcowy przykład użycia narzędzi ETW:
logman uruchom wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets
echo.. uruchom swój scenariusz.
logman zatrzymaj wstrace -ets
tracerpt mytrace.etl -o mytrace.xml
wstrace.htm
echo.. użyj mytrace.xml i wstrace.xsl na otwartej stronie .
Wyświetlanie śladów plików śledzenia ETW WWSAPI przy użyciu narzędzia wstracedump.exe (działa w systemie Windows XP i nowszych)
Wstracedump.exe jest niestandardowym narzędziem użytkowym ETW, które przetwarza zdarzenia w pliku śledzenia WWSAPI ETW i tworzy czytelny dla człowieka wynik. Może ona generować dane wyjściowe ze wszystkich obsługiwanych platform. Aby uzyskać dalsze informacje, zapoznaj się z jego zastosowaniem (wstracedump.exe -?).
Wyświetlanie śladów plików śledzenia ETW WWSAPI przy użyciu narzędzi ETW (działa w systemie Windows Vista i nowszych)
Tracerpt.exe to narzędzie do wyświetlania zawartości pliku dziennika zdarzeń ETW i dostępnego na wszystkich obsługiwanych platformach. Może być używany do generowania plików zrzutów CSV, EVTX lub XML z pliku dziennika zdarzeń ETW. Jednak wygenerowany plik wyjściowy zawiera dane śledzenia czytelne dla człowieka tylko w systemie Windows Vista i nowszych. W tych instrukcjach opisano sposób generowania pliku zrzutu XML i używania go wraz z plikiem xsl w celu wyświetlenia śladów w dobrym formacie (plik xsl jest bardzo prosty i może zostać zmieniony, jeśli są wymagane różne formaty).
Biegnij
tracerpt <EtlLogFileName> -o <OutputXMLFileName>
aby utworzyć zrzut XML z pliku binarnego ETL (tracerpt.exe domyślnie tworzy plik wyjściowy w formacie XML. Uruchom polecenie tracerpt -?, aby wyświetlić inne dostępne formaty).
W tym momencie można zobaczyć informacje śledzenia w pliku XML. Ponadto możesz otworzyć plik wstrace.htm i użyć pliku zrzutu XML i pliku wstrace.xsl, aby wyświetlić ślady w bardziej przejrzystym formacie. Należy pamiętać, że pliki muszą znajdować się na komputerze lokalnym, aby móc używać tego pliku HTML w programie IE.
Bezpieczeństwo
Podczas włączania śledzenia administratorzy powinni wziąć pod uwagę, że zużywa dodatkowe miejsce na dysku i moc obliczeniową. Złośliwy klient lub aplikacja może wyczerpać zasoby systemu, chyba że ustawienia śledzenia są skonfigurowane z rozsądnymi limitami. W przypadku korzystania z funkcji śledzenia komunikatów komunikaty niosące poufne informacje, takie jak poświadczenia, informacje osobiste itp., mogą być utrwalane na dysku lub wyświetlane przez każdego, kto ma dostęp do podglądu zdarzeń systemu. Aby rozwiązać ten problem, śledzenie może być włączone przez użytkowników systemu lub administratora w systemie Windows 2003 lub nowszym. Śledzenie komunikatów jest wyłączone w systemie Windows XP, na którym każdy użytkownik może włączyć śledzenie.
Następujące wyliczenie jest używane ze śledzeniem: