Struktur von Protokollmeldungen
Die in den Protokolldateimeldungen enthaltenen Informationen verfügen über eine konsistente Struktur. Die Kenntnis dieser Struktur ist wichtig, um die Informationen in den Protokolldateien interpretieren zu können.
Protokollierbare Meldungen werden von vielen Subsystemen von ArcGIS Server generiert. Meldungen werden infolge des Starts von Server Object Manager (SOM) und der Verwendung durch Administratoren und Benutzern generiert. Jede Meldung hat ein Ziel, bei dem es sich um den Server oder einen Service handeln kann. Serverorientierte Meldungen protokollieren auf die Kernfunktionalität des SOMs bezogene Ereignisse, während Service-Meldungen Ereignisse protokollieren, die mit einer bestimmten Service-Konfiguration und Instanzen dieser Service-Konfiguration verknüpft sind.
Alle Protokollmeldungen verfügen über die folgenden Eigenschaften:
- time – Die Uhrzeit, zu der das protokollierte Ereignis aufgetreten ist
- type – Die Detaillierungsebene der Meldung im Verhältnis zu anderen Meldungen. (Beschreibungen aller Ebenen finden Sie unter Interpretieren von Protokolldateien.)
- code – Der mit der Meldung verknüpfte Ergebniscode
- target – Entweder "Server" oder der Name einer mit der Meldung verknüpften Service-Konfiguration
- thread – Der SOM-Prozess-Thread, der die Meldung generiert hat
Diese zusätzlichen Eigenschaften sind möglicherweise in der Meldung enthalten:
- methodName – Der Methodenaufruf im Service, der zur Protokollmeldung geführt hat.
- machine – Der SOC-Computer, auf dem das Ereignis aufgetreten ist. Der Server darf z. B. einen Fehler protokollieren, wenn ein Serverkontext für eine bestimmte Service-Konfiguration nicht auf einem bestimmten Computer erstellt werden konnte. Nur diejenigen Meldungen, die sich auf Statistiken beziehen, welche für einen bestimmten Computer aufgezeichnet werden, enthalten die Eigenschaft "Computer".
- user – Der Benutzer, der die Anforderung, die zur Protokollmeldung geführt hat, abgeschickt hat. Diese Eigenschaft ist nützlich, wenn ArcGIS Server-Sicherheit aktiviert wird.
- elapsed – Die Zeitspanne bis zum Abschluss des Ereignisses, das protokolliert wird. Zum Beispiel verfügt das Ereignis, das beim Erstellen eines Serverobjekts protokolliert wird, über diese Eigenschaft, um die Zeitspanne anzugeben, die die Erstellung der Service-Instanz gedauert hat.
Die Protokollmeldung ist eine Klartextbeschreibung des protokollierten Ereignisses, die die Prozess-ID und die Thread-IDs der Container-Prozesse enthält, in denen der Service, der die Meldung generiert hat, ausgeführt wird, und den SOC-Computer angibt, auf dem dieser Prozess (sofern zutreffend) ausgeführt wird. Die Meldung kann auch Fehlerbeschreibungen enthalten, die vom Service selbst stammen, z. B. einen Fehler, der angibt, dass eine Ausgabe nicht geschrieben werden kann.
Es folgt ein Beispiel für eine typische Protokollmeldung. Diese Protokollmeldung gibt an, dass eine Instanz des Yellowstone-Karten-Services auf dem SOC-Computer padisha erstellt wurde und dass die Erstellung des Service 2,443 Sekunden gedauert hat.
<Msg time='2009-10-31T14:36:05' type='INFO3' code='4004' target='Yellowstone.MapServer' machine='padisha' user='Fred' thread='2936' elapsed='2.443'> Server Object instance is successfully created on machine padisha. </MSG>
Meldungsziele
Bei den Zielen der Protokollmeldungen kann es sich um den Server oder einen Service handeln. Mit Services verknüpfte Meldungen haben den Namen und den Typ des Services als Zieleigenschaft. Der Yellowstone-Karten-Service wird z. B. als Yellowstone.MapServer angezeigt.
Es gibt zwei zusätzliche Ziele, die im Protokoll angezeigt werden, nämlich interne Service-Konfigurationen. Der Administrator verwaltet diese Konfigurationen zwar nicht direkt, trotzdem können Fehler in Verbindung damit auftreten, die bewältigt werden müssen.
Die internen Services heißen SDM.ServerDirectoryManager und Engine.Engine. SDM.ServerDirectoryManager ist das Objekt, das Dateien in den Serververzeichnissen des GIS-Servers bereinigt. Beim Start von SOM wird eine Instanz von SDM.ServerDirectoryManager erstellt. Jedes Mal, wenn ein Verzeichnis bereinigt wird, führt diese Instanz von SDM.ServerDirectoryManager die Bereinigung für alle Serververzeichnisse durch. Alle Fehler, auf die dieser Service stößt, werden gemeldet. Zu den Fehlern, die in der Regel von SDM.ServerDirectoryManager gemeldet werden, gehört der mangelnde Zugriff auf ein Verzeichnis, das bereinigt werden soll.
Jedes Mal, wenn ein Serververzeichnis erstellt oder entfernt wird, wird SDM.ServerDirectoryManager beendet und neu gestartet.
Der Engine.Engine-Service stellt die leere Serverkontextkonfiguration dar. Wenn ein Client die Erstellung eines leeren Kontext anfordert, erstellt die Engine.Engine-Konfiguration einen Kontext für den Client.