Teilen über


Problembehandlung bei der Überwachung von UNIX‑ und Linux-Computern

System Center – Operations Manager bietet für UNIX‑ und Linux-Computer eine Überwachung, die der für Windows-Computer ähnelt. Sie können den Status und die Leistung überwachen, Berichte abrufen, Aufgaben ausführen und benutzerdefinierte Überwachungsinstrumente implementieren.

Sie können die folgenden Aspekte von UNIX- und Linux-Computern überwachen:

  • Dienste und Anwendungen

  • Dateisystem, Speicherplatz, Auslagerungsbereich, Systemspeicher

  • Netzwerkschnittstellen

  • Kernprozesse und Attribute

  • Schlüsselkonfigurationen

Bevor Sie UNIX‑ und Linux-Computer überwachen können, müssen Sie die folgenden Schritte ausführen:

  1. Importieren Sie Management Packs, indem Sie die neuesten Versionen vom Microsoft Download Center herunterladen.
  2. Erstellen Sie einen dedizierten Ressourcenpool für die Überwachung von UNIX‑ und Linux-Computern.
  3. Konfigurieren Sie die Zertifikate für jeden Verwaltungsserver im Pool.
  4. Erstellen und konfigurieren Sie ausführende Konten.
  5. Installieren Sie den Agent auf UNIX und Linux mit dem Ermittlungs-Assistenten.
  1. Importieren Sie Management Packs, indem Sie die neuesten Versionen vom Microsoft Download Center herunterladen.
  2. Erstellen Sie einen dedizierten Ressourcenpool für die Überwachung von UNIX‑ und Linux-Computern.
  3. Konfigurieren Sie die Zertifikate für jeden Verwaltungsserver im Pool.
  4. Erstellen und konfigurieren Sie ausführende Konten.
  5. Installieren Sie den Agent auf UNIX und Linux mit dem Ermittlungs-Assistenten.
  1. Importieren Sie Management Packs, indem Sie die neuesten Versionen vom Microsoft Download Center herunterladen.
  2. Erstellen Sie einen dedizierten Ressourcenpool für die Überwachung von UNIX‑ und Linux-Computern.
  3. Konfigurieren Sie die Zertifikate für jeden Verwaltungsserver im Pool.
  4. Erstellen und konfigurieren Sie ausführende Konten.
  5. Installieren Sie den Agent auf UNIX und Linux mit dem Ermittlungs-Assistenten.

Nachdem Sie die oben genannten Schritte abgeschlossen und den Agent erfolgreich auf einem oder mehreren UNIX‑ und Linux-Computern entdeckt und bereitgestellt haben, sollten Sie überprüfen, ob diese ordnungsgemäß überwacht werden. Nachdem ein Agent bereitgestellt wurde, werden die ausführenden Konten verwendet, um Erkennungen unter Verwendung der entsprechenden Ermittlungsregeln durchzuführen und anschließend mit der Überwachung zu beginnen. Navigieren Sie nach mehreren Minuten im Verwaltungsarbeitsbereich zu Geräteverwaltung/UNIX/Linux-Computer, und stellen Sie sicher, dass die Computer nicht als Unbekannt aufgeführt sind. Sie sollten ermittelt und die spezifische Version des Betriebssystems und der Distribution angezeigt werden.

Standardmäßig überwacht Operations Manager die folgenden Betriebssystemobjekte:

  • Betriebssystem
  • Logischer Datenträger
  • Netzwerkadapter

Sie können zusätzliche Überwachungs‑ und Interaktionsfunktionen für Ihre verwalteten UNIX‑ und Linux-Computer bereitstellen, indem Sie die UNIX‑ und Linux-Überwachungspaketvorlagen verwenden. Weitere Informationen finden Sie unter UNIX‑ oder Linux-Protokolldatei und UNIX‑ oder Linux-Prozess im Erstellungshandbuch.

Problembehandlung bei UNIX‑ und Linux-Überwachung

Der folgende Abschnitt enthält Informationen zu Problemen, die bei der Überwachung von UNIX- und Linux-Computern im Operations Manager auftreten können.

Fehlermeldung zur Zertifikatsignierung

Während der Installation UNIX/Linux-Agents wird möglicherweise folgende Fehlermeldung angezeigt:

Event Type: Error  
Event Source: Cross Platform Modules  
Event Category: None  
Event ID: 256  
Date: 4/1/2009  
Time: 4:02:27 PM  
User: N/A  
Computer: COMPUTER1  
Description: Unexpected ScxCertLibException: Can't decode from base64  
; input data is:  

Dieser Fehler tritt auf, wenn das Zertifikatsignaturmodul aufgerufen wird, aber das Zertifikat selbst leer ist. Dieser Fehler kann durch einen SSH-Verbindungsfehler mit dem Remotesystem verursacht werden.

Wenn dieser Fehler angezeigt wird, gehen Sie folgendermaßen vor:

  1. Stellen Sie sicher, dass der SSH-Daemon auf dem Remotehost ausgeführt wird.

  2. Stellen Sie sicher, dass Sie eine SSH-Sitzung mit dem Remote-Host öffnen können, indem Sie die im Ermittlungs-Assistent angegebenen Anmeldeinformationen verwenden.

  3. Stellen Sie sicher, dass die im Ermittlungs-Assistenten angegebenen Anmeldeinformationen über die erforderlichen Berechtigungen für die Ermittlung verfügen. Weitere Informationen finden Sie unter Anmeldeinformationen für den Zugriff auf UNIX- und Linux-Computer.

Zertifikatname und Hostname stimmen nicht überein

Der im Zertifikat verwendete allgemeine Name (CN) muss mit dem vollqualifizierten Domänennamen (FQDN) übereinstimmen, der von Operations Manager aufgelöst wird. Wenn der CN nicht übereinstimmt, wird beim Ausführen des Ermittlungs-Assistenten der folgende Fehler angezeigt:

The SSL certificate contains a common name (CN) that doesn't match the hostname  

Sie können die grundlegenden Details des Zertifikats auf dem UNIX- oder Linux-Computer anzeigen, indem Sie den folgenden Befehl eingeben:

openssl x509 -noout -in /etc/opt/microsoft/scx/ssl/scx.pem -subject -issuer -dates  

Wenn Sie dies tun, wird die Ausgabe angezeigt, die den folgenden ähnelt:

subject= /DC=name/DC=newdomain/CN=newhostname/CN=newhostname.newdomain.name  
issuer= /DC=name/DC=newdomain/CN=newhostname/CN=newhostname.newdomain.name  
notBefore=Mar 25 05:21:18 2008 GMT  
notAfter=Mar 20 05:21:18 2029 GMT  

Überprüfen Sie die Hostnamen und Datumsangaben, und stellen Sie sicher, dass sie mit dem Namen übereinstimmen, der vom Operations Manager-Verwaltungsserver aufgelöst wird.

Wenn die Hostnamen nicht übereinstimmen, verwenden Sie eine der folgenden Aktionen, um das Problem zu beheben:

  • Wenn der UNIX- oder Linux-Hostname korrekt ist, aber vom Operations Manager-Verwaltungsserver falsch aufgelöst wird, ändern Sie entweder den DNS-Eintrag so, dass er mit dem korrekten FQDN übereinstimmt, oder fügen Sie einen Eintrag in der Hostsdatei auf dem Operations Manager-Server hinzu.

  • Wenn der UNIX- oder Linux-Hostname falsch ist, führen Sie eine der folgenden Aktionen aus:

    • Ändern Sie den Hostnamen auf dem UNIX- oder Linux-Host in den richtigen Namen und erstellen Sie ein neues Zertifikat.

    • Erstellen Sie ein neues Zertifikat mit dem gewünschten Hostnamen.

Ändern Sie den Namen auf dem Zertifikat:

Wenn das Zertifikat mit einem falschen Namen erstellt wurde, können Sie den Hostnamen ändern und das Zertifikat und den privaten Schlüssel erneut erstellen. Führen Sie dazu den folgenden Befehl auf dem UNIX- oder Linux-Computer aus:

/opt/microsoft/scx/bin/tools/scxsslconfig -f -v  

Die Option -f bewirkt, dass die Dateien in /etc/opt/microsoft/scx/ssl überschrieben werden.

Sie können auch den Hostnamen und den Domänennamen auf dem Zertifikat ändern, indem Sie die Schalter -h und -d verwenden, wie im folgenden Beispiel:

/opt/microsoft/scx/bin/tools/scxsslconfig -f -h <hostname> -d <domain.name>  

Starten Sie den Agent neu, indem Sie den folgenden Befehl ausführen:

/opt/microsoft/scx/bin/tools/scxadmin -restart  

Fügen Sie der Hostsdatei einen Eintrag hinzu:

Wenn sich der FQDN nicht im Reverse-DNS befindet, können Sie der Hostdatei, die sich auf dem Verwaltungsserver befindet, einen Eintrag hinzufügen, um die Namensauflösung bereitzustellen. Die Datei „hosts“ befindet sich im Ordner „Windows\System32\Drivers\etc“. Ein Eintrag in der Hostsdatei ist eine Kombination aus der IP-Adresse und dem FQDN.

Wenn Sie beispielsweise einen Eintrag für den Host namens newhostname.newdomain.name mit einer IP-Adresse von 192.168.1.1 hinzufügen möchten, fügen Sie Folgendes am Ende der Hostsdatei hinzu:

192.168.1.1      newhostname.newdomain.name  

Probleme mit Management Pack

ExecuteCommand unterstützt keine Pipelineoperatoren oder Aliase

Wenn Sie einen Alias oder einen Pipelineoperator mit dem ExecuteCommand-Parameter verwenden, schlägt der Befehl fehl. Der ExecuteCommand-Parameter unterstützt den Pipelineoperator, Aliase und shellspezifische Syntax nicht.

In System Center Operations Manager Management Packs, die zum Verwalten von UNIX- und Linux-Computern entwickelt wurden, startet der ExecuteCommand-Parameter keinen Shellprozess, wodurch die benutzerdefinierte Aktion fehlschlägt.

Für jeden der folgenden benutzerdefinierten Aktionstypen geben Sie an, wie die Befehlsargumente mithilfe des ExecuteCommand-Parameters oder des ExecuteShellCommand-Parameters aufgerufen werden:

  • Microsoft.Unix.WSMan.Invoke.ProbeAction

  • Microsoft.Unix.WSMan.Invoke.WriteAction

  • Microsoft.Unix.WSMan.Invoke.Privileged.ProbeAction

  • Microsoft.Unix.WSMan.Invoke.Privileged.WriteAction

Der ExecuteCommand-Parameter übergibt die Befehlszeilenargumente an die Konsole, ohne einen Shellprozess zu starten.

Der ExecuteShellCommand-Parameter übergibt die Befehlsargumente mithilfe der Standardshell des Benutzenden an einen Shellprozess. Diese Shell unterstützt Pipeline-, Aliase- und Shellspezifische Syntax.

Hinweis

Der ExecuteShellCommand-Parameter verwendet die Standardshell der Benutzenden, die die Befehle ausführen. Wenn Sie eine bestimmte Shell benötigen, verwenden Sie den ExecuteCommand-Parameter und stellen Sie den Befehlsargumenten die erforderliche Shell voran.

Die folgenden Beispiele zeigen, wie Sie die Parameter ExecuteCommand und ExecuteShellCommand verwenden:

  • So übergeben Sie die Befehlszeilenargumente ohne Starten eines Shellprozesses an die Konsole:

    <p:ExecuteCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> service syslog status </p:Command> <p:timeout>10</p:timeout> </p:ExecuteCommand_INPUT>

  • So übergeben Sie die Befehlszeilenargumente an einen Shellprozess, der auf eine explizite Shell verweist:

    <p:ExecuteCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> /bin/sh ps -ef syslog | grep -v grep </p:Command> <p:timeout>10</p:timeout> </p:ExecuteCommand_INPUT>

  • So übergeben Sie die Befehlsargumente an einen Shellprozess, der die Standardshell der Benutzenden verwendet:

    <p:ExecuteShellCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> uptime |&nbsp; awk '{print $10}' |awk -F"," '{print $1}' </p:Command> <p:timeout>10</p:timeout> </p:ExecuteShellCommand_INPUT>

Protokollieren und Debuggen

In diesem Abschnitt wird beschrieben, wie Sie Protokollierungs- und Debug-Tools für die Problembehandlung bei der Überwachung von UNIX- und Linux-Computern aktivieren.

Hinweis

Mit Operations Manager 2019 UR3 können Einstellungen auf Protokollebene ohne den Agentneustart geändert werden. Weitere Informationen

Hinweis

Sie können Einstellungen auf Protokollebene ändern, ohne den Agent neu starten zu müssen. Weitere Informationen

Aktivieren der Operations Manager-Modulprotokollierung

Die Operations Manager-Agents für UNIX und Linux verwalten mehrere Protokolldateien, die beim Beheben von Clientproblemen hilfreich sein können. Diese Protokolldateien befinden sich auf dem verwalteten UNIX- oder Linux-Computer. Der Protokollierungsgrad für die Agent-Protokolldateien kann bei Bedarf konfiguriert werden. Ausführlichere Protokollierung kann bei der Diagnose eines Problems hilfreich sein. Für den normalen Betrieb sollten die Protokollebenen nicht auf einen Wert eingestellt werden, der ausführlicher ist als die Standardkonfigurationen (Fortgeschritten), um ein übermäßiges Anwachsen der Protokolldatei zu verhindern.

Hinweis

Anrufe außerhalb der Windows-Remoteverwaltung (WinRM) werden mit SSH/SFTP getätigt. Diese Komponenten basieren auf einem separaten Protokollierungsmechanismus, nicht auf Operations Manager.

Hinweis

Der Protokollierungsgrad für die Protokolldatei „omiserver.log“ kann in dieser Version des Operations Manager-Agents für UNIX und Linux nicht von der Standardeinstellung geändert werden.

  1. Erstellen Sie eine leere Datei mit dem Namen EnableOpsmgrModuleLogging im temporären Verzeichnis für das Benutzerkonto, das zum Aufrufen der Module verwendet wird. Geben Sie dazu als Befehlszeile oder in der Eingabeaufforderung für PowerShell Folgendes ein:

    COPY /Y NUL %windir%\TEMP\EnableOpsMgrModuleLogging
    
    New-Item "$env:windir\TEMP\EnableOpsMgrModuleLogging"
    

    Hinweis

    Im Allgemeinen ist es das SYSTEM-Konto, das die Aufrufe vornimmt, und „C:\Windows\Temp“ ist der Standardordner „SYSTEM temp“.

  2. Nach der Erstellung der leeren Datei beginnt Operations Manager sofort mit der Protokollierung der SSH‑ und Zertifikatsaktivitäten im temporären Verzeichnis. Skripts, die SSH-Module aufrufen, verwenden als Protokoll „<Scriptname.vbs>.log“. Andere Module verfügen über eigene Protokolle.

In einigen Fällen kann es erforderlich sein, HealthService neu zu starten, damit die Protokollierung von „EnableOpsmgrModuleLogging“ wirksam wird.

Aktivieren der Protokollierung für den UNIX-Agent

Diese Protokolle melden die UNIX-Agentaktionen. Wenn es ein Problem mit den an Operations Manager zurückgegebenen Daten gibt, sehen Sie in diesem Protokoll nach. Sie können die Menge der mit dem Befehl „scxadmin“ protokollierten Informationen festlegen. Die Syntax für diesen Befehl lautet:

scxadmin -log-set [all|cimom|provider] {verbose|intermediate|errors}

In der folgenden Tabelle sind die möglichen Parameterwerte aufgeführt:

Ebene Beschreibung
Fehler Protokollieren von nur Warnungs‑ oder Fehler-Nachrichten.
Fortgeschrittene Anfänger Protokollieren von Info‑, Warnungs‑ und Fehler-Nachrichten.
Ausführlich Protokolliieren von Info‑, Warnungs‑ und Fehler-Nachrichten mit Debugprotokollierung. Beachten Sie, dass dieser Protokollierungsgrad wahrscheinlich ein schnelles Wachstum in der Größe der Protokolldateien verursacht. Es wird empfohlen, diese Option nur für kurze Zeiträume zu verwenden, um ein bestimmtes Problem zu diagnostizieren.

Verwenden von DebugView zur Problembehandlung bei Problemen bei der Ermittlung

DebugView ist eine alternative Methode für „EnableOpsmgrModuleLogging“ zur Problembehandlung bei Problemen bei der Ermittlung.

  1. Laden Sie DebugView herunter über: https://go.microsoft.comfwlink/?Linkid=129486.

  2. Starten Sie DebugView auf dem Verwaltungsserver, der die Ermittlung ausführt.

  3. Beginnen Sie mit der Entdeckung der UNIX-Agents. Sie sollten mit der Anzeige der Ausgabe in Ihren DebugView-Fenstern beginnen.

  4. DebugView stellt ein schrittweises Lesen des Prozesses des Ermittlungs-Assistenten dar. Dies ist häufig die schnellste Methode zur Problembehandlung bei Problemen bei der Ermittlung.

Aktivieren der Operations Manager-Protokollierung für die Windows-Remoteverwaltung

Diese ausführliche Ablaufverfolgungsmethode wird verwendet, um die Abfragen für die Windows-Remoteverwaltung (WinRM) anzuzeigen, die von Operations Manager verwendet werden, um Daten von Agents zu sammeln. Wenn Sie vermuten, dass es ein Problem mit der WinRM-Verbindung gibt, finden Sie in diesem Protokoll detaillierte Informationen, die bei der Problembehandlung helfen können.

  1. Öffnen Sie auf dem Verwaltungsserver, der den UNIX‑ oder Linux-Agent überwacht, eine Eingabeaufforderung.

  2. Geben Sie die folgenden Befehle in die Eingabeaufforderung ein:

    1. cd C:\Program Files\Microsoft System Center\Operations Manager\Tools

    2. StopTracing.cmd

    3. StartTracing.cmd VER

  3. Reproduzieren Sie das Problem in Operations Manager.

  4. Geben Sie die folgenden Befehle in die Eingabeaufforderung ein:

    1. StopTracing.cmd

    2. FormatTracing.cmd

  5. Suchen Sie in der Datei „TracingGuidsNative.log“ nach „WS-Man“.

Hinweis

WinRM ist auch als WS-Management (WS-Man) bekannt.

Hinweis

Mit dem FormatTracing-Befehl wird ein Windows-Explorer-Fenster geöffnet, in dem das Verzeichnis C:\Windows\Logs\OpsMgrTrace angezeigt wird. Die Datei „TracingGuidsNative.log“ befindet sich in diesem Verzeichnis.

Verwalten von UNIX‑ und Linux-Protokolldateien

Die Operations Manager-Agents für UNIX und Linux beschränken nicht die Größe der Agent-Protokolldateien. Implementieren Sie einen Prozess zum Verwalten der Protokolldateien, um die maximale Größe der Protokolldateien zu steuern. Zum Beispiel ist das Standard-Hilfsprogramm „logrotate“ auf vielen UNIX‑ und Linux-Betriebssystemen verfügbar. Das Hilfsprogramm „logrotate“ kann so konfiguriert werden, dass es die Protokolldateien steuert, die von den Operations Manager-Agents für UNIX oder Linux verwendet werden. Nach dem Rotieren oder Ändern der Protokolldateien des Agents muss dem Agent mitgeteilt werden, dass die Protokolle rotiert wurden, damit die Protokollierung fortgesetzt werden kann. Der Befehl „scxadmin“ kann mit dem Parameter „–log-rotate“ in der folgenden Syntax verwendet werden:

scxadmin -log-rotate all

Beispiel für eine Logrotate-Konfigurationsdatei

Das folgende Beispiel veranschaulicht eine Konfigurationsdatei zum Rotieren von scx.log-Dateien und omiserver.log mit dem logrotate-Hilfsprogramm von Linux. In der Regel wird logrotate als geplanter Auftrag (mit crond) ausgeführt und auf Konfigurationsdateien angewendet, die sich in /etc/logrotate.d befinden. Um diese Konfigurationsdatei zu testen und zu verwenden, passen Sie die Konfiguration an Ihre Umgebung an und verknüpfen oder speichern Sie die Datei in /etc/logrotate.d.

#opsmgr.lr  

#Rotate scx.log  
#Weekly rotation, retain four weeks of compressed logs  
#Invoke scxadmin -log-rotate to resume logging after rotation  

/var/opt/microsoft/scx/log/scx.log {  
rotate 4  
weekly  
compress  
missingok  
notifempty  
postrotate  

/usr/sbin/scxadmin -log-rotate all  
endscript  
}

#Rotate scx.log for the monitoring user account named: monuser  
#Weekly rotation, retain four weeks of compressed logs  
#Invoke scxadmin -log-rotate to resume logging after rotation  

/var/opt/microsoft/scx/log/monuser/scx.log {  
rotate 4  
weekly  
compress  
missingok  
notifempty  
postrotate  

/usr/sbin/scxadmin -log-rotate all
endscript  
}  

#Optionally, rotate omiserver.log. This requires that OMI be stopped and started to prevent  
#impact to logging. Monthly rotation, retain two weeks of compressed logs  
#Uncomment these lines if rotation of omiserver.log is needed  

#/var/opt/microsoft/scx/log/omiserver.log{  
#        rotate 2  
#        monthly  
#        compress  
#        missingok  
#        notifempty  
#        prerotate  
#        /usr/sbin/scxadmin -stop  
#        endscript  
#        postrotate  
#        /usr/sbin/scxadmin -start  
#        endscript\
#}  

Nächste Schritte

Weitere Anleitungen zur Behebung gängiger Agent-Bereitstellungsprobleme finden Sie im Wiki Operations Manager 2012 Problembehandlung: UNIX/Linux-Agent-Ermittlung.