Event Viewer to dziennik zdarzeń systemu Windows Server — rejestruje każde istotne wydarzenie: błędy, ostrzeżenia, audyty bezpieczeństwa i komunikaty informacyjne w ustrukturyzowanych logach. Performance Monitor (perfmon) to natomiast narzędzie do pomiaru wydajności w czasie rzeczywistym i historycznym — pokazuje, jak serwer wykorzystuje procesor, pamięć, dyski i sieć, pozwalając wykryć wąskie gardła zanim przerodzą się w awarię. Oba narzędzia są wbudowane w każdą edycję Windows Server (w tym Server 2025) i uzupełniają się nawzajem: Event Viewer mówi co się stało, Performance Monitor — dlaczego i kiedy to się stało.
W skrócie
- Event Viewer = rejestrator zdarzeń — logi aplikacji, systemu, bezpieczeństwa, przekazywane i niestandardowe
- Performance Monitor = miernik wydajności — ponad 350 wbudowanych liczników (CPU, RAM, dysk, sieć, procesy)
- Event Viewer operuje na zdarzeniach dyskretnych (stało się o 14:32:17), PerfMon na ciągłych szeregach czasowych
- PerfMon umożliwia definiowanie progów alertów (np. CPU > 90% przez 5 min → wyślij e-mail), Event Viewer nie ma natywnych alertów — wymaga Task Scheduler lub zewnętrznego monitoringu
- Oba dostępne przez GUI (MMC), linię poleceń (
wevtutil,logman/typeperf) i PowerShell (Get-WinEvent,Get-Counter)- Windows Server 2025 wprowadza natywny DTrace, nowe liczniki AD DS oraz integrację z Azure Arc — diagnostyka hybrydowa wchodzi na wyższy poziom
Pełna definicja — czym jest Event Viewer
Event Viewer (Podgląd zdarzeń) to wbudowana konsola MMC (Microsoft Management Console) dostępna w każdej wersji Windows Server od NT 3.1 (1993). Jego architektura została gruntownie przeprojektowana w Windows Vista/Server 2008 — od tego czasu logi zapisywane są w strukturalnym formacie XML (pliki .evtx) zamiast starszego binarnego .evt.
Główne kategorie logów
| Kategoria | Zawartość | Przykładowe zdarzenia |
|---|---|---|
| Application | Zdarzenia aplikacji i usług | Błąd SQL Server, ostrzeżenie .NET Runtime |
| Security | Audyty bezpieczeństwa | Logowanie użytkownika (Event ID 4624), nieudana próba (4625) |
| System | Zdarzenia jądra systemu i sterowników | Awaria usługi, błąd sterownika dysku |
| Setup | Zdarzenia instalacji i konfiguracji | Instalacja roli serwera, Windows Update |
| Forwarded Events | Zdarzenia przekazane z innych serwerów | Scentralizowane logowanie przez Event Collector |
Poziomy zdarzeń (Event Levels)
- Critical (Poziom 1) — awaria krytyczna, np. kernel-power (nieoczekiwane wyłączenie)
- Error (Poziom 2) — błąd uniemożliwiający działanie komponentu, np. nieudane uruchomienie usługi
- Warning (Poziom 3) — ostrzeżenie o potencjalnym problemie, np. mało miejsca na dysku
- Information (Poziom 4) — zdarzenie informacyjne, np. pomyślne uruchomienie usługi
- Verbose (Poziom 5) — szczegółowe logi debugowania (domyślnie wyłączone)
Każde zdarzenie posiada unikalny Event ID, źródło (Provider), datę i czas z dokładnością do milisekundy oraz opcjonalny opis XML z danymi kontekstowymi.
Filtrowanie i widoki niestandardowe
Od Windows Server 2008 Event Viewer wspiera filtrowanie za pomocą XPath 1.0, co umożliwia tworzenie precyzyjnych zapytań — np. "pokaż wszystkie błędy logowania dla użytkownika X w ciągu ostatniej godziny". Widoki niestandardowe (Custom Views) pozwalają zapisać takie filtry do szybkiego ponownego użycia.
Pełna definicja — czym jest Performance Monitor
Performance Monitor (Monitor wydajności) to narzędzie dostępne od Windows NT 3.1, które w czasie rzeczywistym mierzy setki parametrów systemu za pomocą tzw. liczników wydajności (performance counters). W Windows 2000 połączono go z System Monitor i Network Monitor w jedną konsolę MMC — od tego czasu stanowi centrum diagnostyki wydajnościowej.
Kluczowe komponenty PerfMon
| Komponent | Funkcja |
|---|---|
| Performance Monitor (widok wykresu) | Wykresy w czasie rzeczywistym — linie, słupki, raport numeryczny |
| Data Collector Sets (DCS) | Zestawy zbierania danych — harmonogramowe logowanie liczników do plików .blg lub .csv |
| Reports | Raporty generowane z zebranych danych, z podsumowaniami i wykresami |
| Alerts | Powiadomienia przy przekroczeniu progów — np. uruchom skrypt, gdy wolne miejsce < 5 GB |
Przykładowe kategorie liczników (z ponad 350 dostępnych)
- Processor:
% Processor Time,Interrupts/sec,Processor Queue Length - Memory:
Available MBytes,Pages/sec,Committed Bytes - LogicalDisk / PhysicalDisk:
% Disk Time,Avg. Disk sec/Transfer,Disk Reads/sec - Network Interface:
Bytes Total/sec,Packets Outbound Errors - System:
Processor Queue Length,Context Switches/sec - .NET CLR Memory:
# Bytes in all Heaps,% Time in GC - Active Directory (Windows Server 2025): nowe liczniki DC Locator i LSA Lookups
Jak oba narzędzia współpracują w praktyce — scenariusz awarii
Wyobraź sobie serwer Windows Server 2025, na którym użytkownicy zgłaszają spowolnienie aplikacji webowej. Oto jak administrator używa obu narzędzi:
- Event Viewer → otwiera log System i Application, szuka zdarzeń Critical/Error z ostatnich 30 minut. Znajduje Event ID 2004 (wyczerpanie puli pamięci niepaginowanej) — wie, co się stało.
- Performance Monitor → uruchamia widok na żywo z licznikami
Memory\Pool Nonpaged Bytes,Process\Private Bytesdla procesu IIS (w3wp.exe) iProcessor\% Processor Time. Widzi, że pula niepaginowana rosła stopniowo przez 6 godzin, osiągając limit przy 18:45 — wie kiedy i dlaczego problem narastał. - Data Collector Set → konfiguruje długoterminowe zbieranie tych liczników z próbkowaniem co 15 sekund, by mieć dane historyczne przy kolejnym incydencie.
- Alert → ustawia próg: jeśli
Memory\Pool Nonpaged Bytes > 80% maksimum, wykonaj skrypt PowerShell wysyłający powiadomienie na kanał Teams.
Porównanie Event Viewer vs Performance Monitor
| Cecha | Event Viewer | Performance Monitor |
|---|---|---|
| Główne przeznaczenie | Rejestracja zdarzeń dyskretnych (błędy, audyty, informacje) | Pomiar wydajności w sposób ciągły (CPU, RAM, I/O) |
| Typ danych | Zdarzenia punktowe z timestampem | Szeregi czasowe (wartości liczników próbkowane co N sekund) |
| Format plików | .evtx (XML) | .blg (binarny), .csv, .tsv |
| Natywne alerty | ❌ Nie — wymaga Task Scheduler + filtr XPath | ✅ Tak — alerty przy przekroczeniu progów |
| Dane historyczne | Logi archiwalne (ręczne czyszczenie/backup przez wevtutil) | Data Collector Sets z automatycznym harmonogramem |
| Szczegółowość | Milisekundowa precyzja czasu zdarzenia | Interwał próbkowania (min. 1 sekunda w GUI, szybszy przez API) |
| Wbudowane liczniki/źródła | Setki predefiniowanych providerów zdarzeń | Ponad 350 liczników, rozszerzalne przez aplikacje |
| Zdalny monitoring | Tak — przez MMC (podłącz do innego komputera) lub Event Collector | Tak — przez MMC lub logman z -s <serwer> |
| Filtrowanie | XPath 1.0 (strukturalne zapytania XML) | Wybór liczników + instancji + zakres czasu |
| Integracja z Task Scheduler | Tak — "Attach Task to This Event" | Ograniczona — głównie przez skrypty uruchamiane alertami |
| PowerShell | Get-WinEvent, New-WinEvent | Get-Counter, Export-Counter, New-Object System.Diagnostics.PerformanceCounter |
| Linia poleceń | wevtutil (query, export, archive, clear) | logman, typeperf, relog |
| Windows Server 2025 | Nowe eventy SMB over QUIC, LDAP channel binding audit (3074, 3075) | Nowe liczniki AD DS (DC Locator, LSA Lookups), natywny DTrace |
| Przechowywanie | Pliki .evtx w C:\Windows\System32\winevt\Logs\ | Pliki .blg w dowolnej lokalizacji (domyślnie C:\PerfLogs\) |
| Limity rozmiaru | Konfigurowalny na kanał (domyślnie 20 MB dla Application/System, 128 MB dla Security) | Brak sztywnego limitu — rotacja plików w ramach DCS |
Kiedy używać Event Viewer, a kiedy Performance Monitor
Event Viewer — sięgnij, gdy:
- Serwer nie uruchamia się poprawnie lub usługa odmawia startu
- Potrzebujesz prześledzić kto i kiedy logował się na serwer (audyt bezpieczeństwa)
- Aplikacja wyrzuca konkretny kod błędu (Event ID), który chcesz namierzyć
- Konfigurujesz centralne logowanie (Windows Event Forwarding) dla farmy serwerów
- Wdrażasz monitoring zgodności (compliance) — np. śledzenie zmian w Group Policy
Performance Monitor — sięgnij, gdy:
- Serwer działa, ale wolno — chcesz zobaczyć, co zżera zasoby
- Potrzebujesz baseline'u wydajności przed wdrożeniem nowej aplikacji
- Planujesz skalowanie — potrzebujesz danych: ile RAM/CPU faktycznie zużywa serwer w szczycie
- Chcesz wykryć trend — np. stopniowy wyciek pamięci (memory leak) w procesie
- Konfigurujesz proaktywne alerty przed osiągnięciem limitów sprzętowych
Złota zasada
Event Viewer pokazuje skutki — "aplikacja X przestała działać o 14:32". Performance Monitor pokazuje przyczyny — "proces aplikacji X od 3 godzin stopniowo alokował coraz więcej pamięci, aż przekroczył limit". Razem dają pełny obraz.
Windows Server 2025 — co nowego w diagnostyce
Windows Server 2025 (wydany jesienią 2024, z aktualizacjami na 2026 rok) wprowadza kilka istotnych usprawnień w obu narzędziach:
- Natywny DTrace — narzędzie do dynamicznego śledzenia kernela i przestrzeni użytkownika bez modyfikacji kodu. DTrace wykracza poza możliwości zarówno Event Viewer, jak i PerfMon, oferując śledzenie na poziomie pojedynczych wywołań systemowych.
- Nowe liczniki AD DS — Performance Monitor zyskuje dedykowane liczniki dla DC Locator (osobno dla klientów i kontrolerów domeny) oraz LSA Lookups (Name i SID), dostępne zarówno na serwerze, jak i kliencie.
- Nowe kanały zdarzeń — SMB over QUIC (Event ID 30832, 1913), SMB signing/encryption auditing (Event ID 31998-31999, 3021-3022) oraz LDAP channel binding audit (3074, 3075).
- Azure Arc Integration — możliwość przesyłania logów wydajności i zdarzeń do Azure Monitor, z centralnym pulpitem w Azure Portal i pay-as-you-go licencjonowaniem.
Częste pytania
Czy Event Viewer i Performance Monitor działają na Windows Server Core (bez GUI)?
Tak, oba narzędzia są w pełni dostępne na Server Core — ale tylko z linii poleceń i przez PowerShell. Event Viewer obsługujesz przez wevtutil (np. wevtutil qe System /c:10 /rd:true /f:text) lub Get-WinEvent. Performance Monitor przez typeperf (np. typeperf "\Procesor(_Total)\% czasu procesora") lub logman do zarządzania Data Collector Sets. Zdalnie możesz podłączyć konsolę MMC z komputera z GUI.
Jak długo przechowywane są logi w Event Viewer?
Domyślnie logi System, Application i Security mają limit rozmiaru (odpowiednio 20 MB, 20 MB i 128 MB), a po jego osiągnięciu najstarsze zdarzenia są nadpisywane (chyba że skonfigurujesz retencję true przez wevtutil sl). W praktyce przy średnio obciążonym serwerze to około 3–7 dni dla logu Security i 1–2 tygodnie dla Application. Aby archiwizować logi długoterminowo, użyj wevtutil epl (eksport) lub skonfiguruj Windows Event Forwarding do centralnego kolektora.
Czy Performance Monitor wpływa na wydajność monitorowanego serwera?
Przy domyślnym interwale próbkowania (1 sekunda w GUI, 15 sekund w Data Collector Sets) wpływ jest pomijalny — poniżej 0,1% CPU. Problemy mogą wystąpić przy bardzo agresywnym próbkowaniu (np. 100 ms) z setkami liczników jednocześnie — wtedy narzut może sięgnąć 2–5% CPU. Na serwerach produkcyjnych zaleca się interwał 15–60 sekund dla długoterminowych DCS i un
