Microsoft SysInternals besser verstehen: Process Monitor im Einsatz

Im ersten Teil haben wir uns mit dem Funktionsumfang des Microsoft SysInternals Process Monitors beschäftigt. Jetzt folgt ohne viel Geschwafel der Praxiseinsatz.

 

Das Microsoft SysInternals Process Monitor Interface

Microsoft SysInternals Process Monitor Interface in der Standardansicht

Microsoft SysInternals Process Monitor Interface in der Standardansicht ohne besondere Einstellungen gleich nach dem Starten.

Wenn ihr den Microsoft SysInternals Process Monitor startet, seht ihr Events, sehr viele Event. Diese Events werden pro Zeile angegeben und die einzelnen Informationen sind zusätzlich nochmal in Spalten angezeigt. Ihr seht also eine riesige Tabelle. Um genauer zu sein, seht ihr auf dem Screenshot gute 11.000 Events – und der SysInternals Process Explorer lief zu diesem Zeitpunkt erst wenige Sekunden auf dem System. Ganz schön viele Daten oder? .. Und es werden von Sekunde zu Sekunde mehr Daten – ohne, dass ihr konkret etwas auf dem System macht.

Lasst euch von diesem Datenberg aber nicht entmutigen. Am Ende des Artikels habt ihr eine Idee wie ihr damit umgehen müsst, um Ordnung reinzubekommen. Hier passiert also gerade nichts Ungutes auf dem System. Es werden lediglich viele Events im Hintergrund ausgeführt, die schon seit eh und je da sind. Wir haben sie mit Hilfe des SysInternals Process Monitors nur sichtbar gemacht.

Was bedeuten die Spalten, die Standardmäßig angezeigt werden?

Um sich einen Reim darauf bilden zu können, was hier eigentlich angezeigt wird, gehen wir als erstes einmal die Standardspalten durch:

Time: Gut geraten! Diese Spalte zeigt dir einfach nur den genauen Zeitstempel an, wann dieser Event “passiert” ist. 🙂

Process Name: Der „Process Name“ zeigt dir auch ganz einfach nur den Namen des Prozesses an, der diesen Event generiert hat. Den genauen Pfad des Prozesses bekommst du angezeigt, wenn du mit der Maus über diesen Eintrag fährst.

PID: Die PID steht für „Process ID” und zeigt dir die ID des Events an, der den Aufruf generiert hat. Das ist nützlich, wenn wir zum Beispiel an die „svchost.exe“ denken. Dieser Prozess generiert viele Events und zu verstehen wer diesen Prozess angesteuert hat, ist die PID ein sehr guter Helfer. Zusätzlich können wir mit Hilfe der PID, unter der Annahme, dass der Prozess sich nicht neustartet, auch einen einzelnen Prozess isolieren und gezielt überwachen.

Operation: In der Spalte „Operation“ zeigt uns der SysInternals Process Monitor die Art der Operation an, die mitgeschrieben wurde. Die Icons sollen unterstützend dabei helfen, die verschiedenen Operationen zu unterscheiden. Das gelingt mal schlechte rund mal besser. 🙂

Path: Die „Path“-Spalte zeigt an was bearbeitet wurde und nicht etwa wo der Prozess herkommt, der den Event ausgelöst hat. Das ist sehr wichtig zu verstehen und nicht zu verwechseln!

Result: Das „Result“ steht ganz klar für das Ergebnis der durchgeführten Operation. Im Fehlerfall ist das natürlich sehr aufschlussreich. In unserem Screenshot oben zeigt der Microsoft SysInternals Monitor meistens nur „SUCCESS“ an. Na das ist ja beruhigend.. 😉

Detail: Im „Detail“-Feld werden zusätzliche Informationen angezeigt, die oft vernachlässigbar sind. Meistens reichen die Informationen der ersten Spalten absolut aus, um die benötigten Informationen herauszuziehen.

Euch fehlen bestimmte Spalten mit nützlichen Informationen, die ihr gerne eingeblendet hättet? Kein Problem. Natürlich kann man auch noch zusätzliche Spalten einblenden lassen. Nein, wir gehen diese jetzt nicht alle Stück für Stück durch. Einblenden könnt ihr diese aber trotzdem über das Menü „Optionen“ und dann „Select Columns…“.

Microsoft SysInternals Process Monitor Column Selection

Microsoft SysInternals Process Monitor Spalten Auswahlmenü für eine angepasste Spaltenübersicht.

Wie wird so ein einzelner Event ausgewertet?

Im Endeffekt wird die Zeile ganz einfach von links nach rechts gelesen. Das ist so ziemlich die einfachste Möglichkeit, um eine große Anzahl von Events zu überfliegen. Wenn ihr euch einen Event genauer angucken wollt, empfehle ich euch ihn einfach doppelt anzuklicken. Gehen wir das am besten mal anhand eines Beispiels durch.

Microsoft SysInternals Process Monitor Event untersuchen

Microsoft SysInternals Process Monitor Event untersuchen und wie man die Information interpretiert.

Um 18:58:32 hat die „svchost.exe“ mit der Process ID 716 die Datei wuaueng.dll aus dem Verzeichnis C:\Windows\System32\ gelesen. Das Ganze war auch noch erfolgreich. Super einfach, oder?

Soweit so gut. Was macht jetzt aber die „svchost.exe“ genau? Erfahrenere Windows Administratoren wissen, dass diese EXE grob dafür verantwortlich ist, dass Dienste auf dem System ausgeführt werden. Welcher Dienst versteckt sich aber jetzt dahinter? Bislang wissen wir das nicht und können das nur erraten. Gucken wir uns also als nächstes diesen Event-Eintrag mit Hilfe eines Doppelklicks genauer an.

Microsoft SysInternals Process Monitor Event Properties

Microsoft SysInternals Process Monitor Event Properties zum erlangen zusätzlicher Informationen des Events.

Auf den ersten Blick unspektakulär, wenn nicht sogar etwas enttäuschend, oder? Der „Event“-Tab, der standardmäßig angezeigt wird, bringt je nach Art des Events, nicht viel Mehrwert. Gehen wir also gleich weiter zum „Process“-Tab:

Microsoft SysInternals Process Monitor Event Properties Process-Tab

Microsoft SysInternals Process Monitor Event Properties Process-Tab zur Anzeige zusätzlicher Event-Informationen inkl. Erklärung der angezeigten Informationen.

Auf diesem Tab sehen wir eine Menge zusätzlicher Informationen. Unter anderem wird unter Image (1) nochmal ein Wort zur EXE-Datei (Host Process for Windows Services“) verloren sowie zum Beispiel die Version der Datei angegeben. Interessant wird es in diesem Fall dann bei der Information „Command Line“ (2). Hier sehen wir, dass sich offensichtlich der Dienst „netsvcs“ dahinter versteckt. Aha! Das ist doch mal eine Information! Auch wenn wir an diesem Punkt den Fokus weiterhin auf dem Microsoft SysInternals Process Monitor lassen, so könnt ihr ja trotzdem mal erforschen welcher Dienst das ist, ob man diesen unbedingt benötigt oder ob man den vielleicht sogar abdrehen kann?!

Wie dem auch sei: Unser Fokus bleibt beim Process Monitor. Eine weitere, nützliche Information ist zum Beispiel auch immer der „User“ (3), der den Event ausgelöst hat. In diesem Fall zeichnet sich das „System“ dafür verantwortlich. Ansonsten bleibt hier nur noch anzumerken, dass für das Prozess-Handling nach wie vor der Microsoft SysInternals Process Explorer das Tool der Wahl sein sollte. Der Microsoft SysInternals Process Monitor kann euch hier aber Hinweise liefern, insbesondere dann, wenn die Information im Microsoft SysInternals Process Explorer sehr flüchtig ist, wie ihr an den richtigen Prozess kommt. Die „svchost.exe“ ist dafür, wie ich finde, immer ein sehr schönes Beispiel.

Der Tab „Stack“ ist in meinem Beispiel unspektakulär – weil er gänzlich leer ist. Manchmal liefern aber auch die Stack-Informationen wichtige Erkenntnisse. Ein gern genommenes Beispiel wäre das Szenario, wenn ein Prozess permanent versucht auf eine Datei zuzugreifen, die nicht existiert. Du weißt aber nicht warum das so ist. Also guckst du dir die Stack-Informationen an und versuchst herauszufinden bzw. zu erforschen, ob hier irgendetwas nicht stimmt. Gerne genommen sind immer veraltete Komponenten oder Maleware.

Wie können wir die Daten jetzt filtern?

Wie bereits schon einige Male erwähnt, sind die Datenmengen enorm. Um jetzt den benötigten Teil vom nicht benötigten Teil zu befreien, haben wir die Möglichkeit unsere erfassten Events im Microsoft SysInternals Process Monitor zu filtern. Wenn du also genau weißt, dass du alles was mit der „explorer.exe“ zu tun hat, nicht benötigst, schließe sie einfach aus:

Microsoft SysInternals Process Monitor Exclude Process

Microsoft SysInternals Process Monitor Exclude Prozesse aus dem Event-Dump zur Verbesserung der Übersichtlichkeit.

Alle Einträge für die „explorer.exe“ sind jetzt aus der Liste verschwunden. Wenn euch nur die Einträge der Explorer.exe interessieren, könnt ihr auch ganz einfach den entsprechenden Event inkludieren.

Microsoft SysInternals Process Monitor Include Process

Microsoft SysInternals Process Monitor Include Process zum Ausklammern sämtlicher nicht benötigter Informationen.

Natürlich könnt ihr die Filter auch wieder entfernen und es gehen keinerlei Daten verloren. Wie macht ihr das am besten? Entweder ihr navigiert über das Menü „Filter“ zum Menüpunkt „Filter…“ oder aber ihr benutzt ganz einfach die Tastenkombination „STRG + L“. Hier bekommt ihr dann eine Übersicht über die geschalteten Filter und könnt diese komfortabel aktivieren, deaktivieren, löschen oder hinzufügen.

Microsoft SysInternals Process Monitor Process Filter

Microsoft SysInternals Process Monitor Process Filter zur übersichtlichen Verwaltung sämtlicher Filter im geöffneten Dump.

Dumps speichern und mitnehmen – Geht das?

Als letzten Hinweis noch für euch. Jeder Arbeitstag darf bei uns nicht mehr als 10 Stunden haben. Was jetzt also, wenn ihr Feierabend machen wollt, aber die Daten noch nicht gänzlich durchgewühlt habt? Oder aber das System ist so langsam, dass ihr es keine Minute mehr an diesem System aushaltet und ihr das System wechseln möchtet? Natürlich bietet der Microsoft SysInternals Process Monitor auch hierfür eine Lösung: Speichert einfach eure erfassten Events in eine Datei, so dass ihr später weitermachen könnt. Klickt dafür einfach auf das Disketten-Symbol oder aber geht über das Menü „File“ -> „Save“. Jetzt könnt ihr euch aussuchen in welchem Format und welche Events gespeichert werden sollen und fertig ist das Ganze. Leicht, oder?!

Microsoft SysInternals Process Monitor Dumps speichern

Die Microsoft SysInternals Process Monitor bietet die Möglichkeit Dumps zu speichern, um sie später oder aber an einem anderen System zu analysieren.

 

Alles in allem sind das doch ganz schön viele Funktionen und jede Menge Input für den ungeübten IT-Administrator, oder? Gewiss: Man muss sich etwas einarbeiten, aber wenn man sich erst einmal daran gewöhnt hat, birgt die Analyse von Problemen in Eigenregie meiner Meinung nach eine riesen Suchtgefahr in sich. Es macht einfach Spaß – verdammt viel Spaß – so zu forschen und eigene Erfolge beim Troubleshooting zu erzielen!

Welche Erfahrungen hast du mit dem Microsoft SysInternals Prozess Monitor gemacht und bei welchem Problem hat dir das Tool geholfen?

Print Friendly, PDF & Email
2 Kommentare

Trackbacks & Pingbacks

  1. […] Wir haben die Möglichkeiten des Microsoft SysInternals Process Monitor kennengelernt und uns die Bedienung im Einsatz angeguckt. Heute machen wir den nächsten Schritt und beschäftigen wir uns mit dem Microsoft […]

  2. […] Das war es auch schon für den ersten Teil. Eine Menge theoretischer Infos, die einen guten Überblick liefern sollten. Im zweiten Teil beschäftigen wir uns mit dem Einsatz des Process Monitor in der Praxis. […]

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.