Problembehandlung bei der Überwachung von UNIX- und Linux-Computern
Wichtig
Diese Version von Operations Manager hat das Ende des Supports erreicht. Es wird empfohlen, ein Upgrade auf Operations Manager 2022 durchzuführen.
System Center – Operations Manager stellt Überwachung für UNIX- und Linux-Computer bereit, die der Überwachung auf Windows-Computern ähnelt. Sie können die Integrität und die Leistung überwachen, Berichte abrufen, Aufgaben ausführen und benutzerdefinierte Überwachungs-Instrumentierung implementieren.
Die folgenden Aspekte von UNIX- und Linux-Computern können überwacht werden:
Dienste und Anwendungen
Dateisystem, Speicherplatz, Auslagerungsbereich und Systemspeicher
Netzwerkschnittstellen
Kernprozesse und -attribute
Schlüsselkonfigurationen
Bevor Sie UNIX- und Linux-Computer überwachen können, müssen Sie die folgenden Schritte ausführen:
- Importieren Sie Management Packs, indem Sie die neuesten Versionen aus dem Microsoft Download Center herunterladen.
- Erstellen Sie einen dedizierten Ressourcenpool für die Überwachung von UNIX- und Linux-Computern.
- Konfigurieren Sie die Zertifikate für jeden Verwaltungsserver im Pool.
- Erstellen und Konfigurieren ausführener Konten
- Installieren Sie den Agent unter UNIX und Linux mithilfe des Ermittlungs-Assistenten.
- Importieren Sie Management Packs, indem Sie die neuesten Versionen aus dem Microsoft Download Center herunterladen.
- Erstellen Sie einen dedizierten Ressourcenpool für die Überwachung von UNIX- und Linux-Computern.
- Konfigurieren Sie die Zertifikate für jeden Verwaltungsserver im Pool.
- Erstellen und Konfigurieren ausführener Konten
- Installieren Sie den Agent unter UNIX und Linux mithilfe des Ermittlungs-Assistenten.
- Importieren Sie Management Packs, indem Sie die neuesten Versionen aus dem Microsoft Download Center herunterladen.
- Erstellen Sie einen dedizierten Ressourcenpool für die Überwachung von UNIX- und Linux-Computern.
- Konfigurieren Sie die Zertifikate für jeden Verwaltungsserver im Pool.
- Erstellen und Konfigurieren ausführener Konten
- Installieren Sie den Agent unter UNIX und Linux mithilfe des Ermittlungs-Assistenten.
Nachdem Sie die obigen Schritte ausgeführt und den Agent erfolgreich ermittelt und auf einem oder mehreren UNIX- und Linux-Computern bereitgestellt haben, sollten Sie überprüfen, ob er ordnungsgemäß überwacht wird. Nach der Bereitstellung eines Agents werden die ausführenden Konten verwendet, um Ermittlungen mithilfe der entsprechenden Ermittlungsregeln auszuführen und anschließend mit der Überwachung zu beginnen. Navigieren Sie nach einigen Minuten im Arbeitsbereich Verwaltung zu Geräteverwaltung/UNIX/Linux-Computer, und überprüfen Sie, ob die Computer nicht als Unbekannt aufgeführt sind. Sie sollten ermittelt worden sein und die genaue Version des Betriebssystems und die Verteilung anzeigen.
Operations Manager überwacht standardmäßig die folgenden Betriebssystemobjekte:
- Betriebssystem
- Logischer Datenträger
- Netzwerkadapter
Mit den Vorlagen der UNIX- und Linux-Überwachungspakete können Sie für die verwalteten UNIX- und Linux-Computer weitere Überwachungs- und Interaktionsfunktionen bereitstellen. Weitere Informationen finden Sie unter UNIX oder Linux-Protokolldatei und UNIX oder Linux-Prozess im Erstellungshandbuch.
Problembehandlung bei der UNIX- und Linux-Überwachung
Im folgenden Abschnitt finden Sie Informationen zu Problemen, die bei der Überwachung von UNIX- und Linux-Computern in Operations Manager auftreten können.
Fehler bei der Zertifikatsignierung
Bei der Installation von UNIX/Linux-Agents wird möglicherweise die 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 der Aufruf des Zertifikatsignaturmoduls mit einem leeren Zertifikat erfolgt. Ursache hierfür kann z. B. eine fehlerhafte SSH-Verbindung mit dem Remotesystem sein.
Gehen Sie folgendermaßen vor, wenn dieser Fehler angezeigt wird:
Stellen Sie sicher, dass der SSH-Daemon auf dem Remotehost ausgeführt wird.
Stellen Sie sicher, dass Sie mithilfe der im Ermittlungs-Assistenten angegebenen Anmeldeinformationen eine SSH-Sitzung mit dem Remotehost öffnen können.
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.
Zertifikat- und Hostname stimmen nicht überein
Der im Zertifikat verwendete allgemeine Name (CN) muss mit dem voll qualifizierten 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 wichtigsten Zertifikatdetails 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 eine Ausgabe angezeigt, die der 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 Daten, und stellen Sie sicher, dass sie dem Namen entsprechen, 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 richtig angegeben ist, vom Operations Manager-Verwaltungsserver jedoch nicht ordnungsgemäß aufgelöst werden kann, können Sie entweder den DNS-Eintrag so bearbeiten, dass er dem richtigen FQDN entspricht, oder einen Eintrag zur Hostdatei auf dem Operations Manager-Server hinzufügen.
Wenn der UNIX- oder Linux-Hostname fehlerhaft ist, führen Sie einen der folgenden Schritte aus:
Korrigieren Sie den Hostnamen auf dem UNIX- oder Linux-Host, und erstellen Sie ein neues Zertifikat.
Erstellen Sie ein neues Zertifikat mit dem gewünschten Hostnamen.
So ändern Sie den Namen des Zertifikats:
Wenn das Zertifikat mit einem falschen Namen erstellt wurde, können Sie den Hostnamen ändern und das Zertifikat sowie den privaten Schlüssel erneut erstellen. Führen Sie hierzu den folgenden Befehl auf dem UNIX- oder Linux-Computer aus:
/opt/microsoft/scx/bin/tools/scxsslconfig -f -v
Mit der Option -f werden die Dateien in /etc/opt/microsoft/scx/ssl überschrieben.
Mithilfe der Switches -h und -d können Sie außerdem den im Zertifikat angegebenen Host- bzw. Domänennamen ändern, wie im folgenden Beispiel dargestellt:
/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
So fügen Sie einen Eintrag zur Hostdatei hinzu:
Wenn sich der FQDN nicht im Reverse-DNS befindet, können Sie der Hostdatei auf dem Verwaltungsserver einen Eintrag hinzufügen, um die Namensauflösung bereitzustellen. Die Hostdatei befindet sich im Ordner „Windows\System32\Drivers\etc“. Einträge in der Hostdatei setzen sich aus der IP-Adresse und dem FQDN zusammen.
Um beispielsweise einen Eintrag für den Host namens newhostname.newdomain.name mit der IP-Adresse 192.168.1.1 hinzuzufügen, fügen Sie am Ende der Hostdatei Folgendes hinzu:
192.168.1.1 newhostname.newdomain.name
Probleme mit Management Packs
„ExecuteCommand“ unterstützt keine Pipeline-Operatoren oder Aliase
Wenn Sie für den Parameter ExecuteCommand einen Alias oder Pipeline-Operator verwenden, schlägt der Befehl fehl. Der ExecuteCommand-Parameter unterstützt den Pipelineoperator, die Aliase und die shellspezifische Syntax nicht.
In System Center Operations Manager-Management Packs, die für die Verwaltung von UNIX- und Linux-Computern konzipiert sind, startet der ExecuteCommand-Parameter keinen Shellprozess, sodass die benutzerdefinierte Aktion fehlschlägt.
Für jeden der folgenden benutzerdefinierten Aktionstypen geben Sie mit dem Parameter ExecuteCommand oder dem Parameter ExecuteShellCommand an, wie die Befehlsargumente 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 Parameter ExecuteCommand übergibt die Befehlszeilenargumente an die Konsole, ohne einen Shellprozess zu starten.
Der Parameter ExecuteShellCommand übergibt die Befehlsargumente mit der Standardshell des Benutzers, die die Pipeline, Aliase und shellspezifische Syntax unterstützt, an einen Shellprozess.
Hinweis
Für den Parameter ExecuteShellCommand wird die Standardshell des Benutzers verwendet, der den Befehl ausführt. Wenn eine bestimmte Shell verwendet werden soll, stellen Sie dem Parameter ExecuteCommand die Befehlsargumente mit der erforderlichen Shell voran.
Das folgende Beispiel veranschaulicht die Verwendung der Parameter ExecuteCommand und ExecuteShellCommand :
Mit folgendem Befehl übergeben Sie die Befehlszeilenargumente an die Konsole, ohne einen Shellprozess zu starten:
<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>
Mit folgendem Befehl übergeben Sie die Befehlszeilenargumente an einen Shellprozess, der eine bestimmte Shell referenziert:
<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>
Mit folgendem Befehl übergeben Sie die Befehlsargumente an einen Shellprozess, der die Standardshell des Benutzers verwendet:
<p:ExecuteShellCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> uptime | awk '{print $10}' |awk -F"," '{print $1}' </p:Command> <p:timeout>10</p:timeout> </p:ExecuteShellCommand_INPUT>
Logging and Debugging
In diesem Abschnitt wird beschrieben, wie Sie Protokollierungs- und Debugtools für die Problembehandlung bei der Überwachung von UNIX- und Linux-Computern aktivieren.
Hinweis
Mit Operations Manager 2019 UR3 können Einstellungen auf Protokollebene geändert werden, ohne dass der Agent neu gestartet werden muss. Weitere Informationen
Hinweis
Sie können Einstellungen auf Protokollebene ändern, ohne den Agent neu starten zu müssen. Weitere Informationen
Aktivieren der Protokollierung für das Operations Manager-Modul
Die Operations Manager-Agents für UNIX und Linux verwalten mehrere Protokolldateien, die bei der Problembehandlung von Clientproblemen hilfreich sein können. Diese Protokolldateien befinden sich auf dem verwalteten UNIX- oder Linux-Computer. Die Protokollierungsstufe für die Agent-Protokolldateien kann je nach Bedarf konfiguriert werden. Eine detailliertere Protokollierung kann bei der Diagnose eines Problems hilfreich sein. Für den normalen Betrieb sollten Protokollebenen nicht auf einen Wert festgelegt werden, der ausführlicher als die Standardkonfigurationen (Intermediate) ist, um übermäßiges Wachstum der Protokolldateien zu verhindern.
Hinweis
Anrufe außerhalb der Windows-Remoteverwaltung (WinRM) werden mithilfe von SSH/SFTP vorgenommen. Diese Komponenten beruhen auf einem anderen Protokollierungsmechanismus als dem von Operations Manager.
Hinweis
Die Protokollierungsebene für die omiserver.log Protokolldatei kann in dieser Version der Operations Manager-Agents für UNIX und Linux nicht vom Standardwert geändert werden.
Erstellen Sie eine leere Datei mit dem Namen EnableOpsmgrModuleLogging im Verzeichnis Temp für das Benutzerkonto, das diese Module aufruft, indem Sie an einer Befehlszeilen- oder PowerShell-Eingabeaufforderung eingeben:
COPY /Y NUL %windir%\TEMP\EnableOpsMgrModuleLogging
New-Item "$env:windir\TEMP\EnableOpsMgrModuleLogging"
Hinweis
Im Allgemeinen handelt es sich um das SYSTEM-Konto, das die Aufrufe durchführt, und C:\Windows\Temp ist der standardordner SYSTEM temp.
Nach der Erstellung der leeren Datei beginnt Operations Manager sofort mit der Protokollierung der SSH- und Zertifikataktivität im Verzeichnis Temp. Skripts, die die SSH-Module aufrufen, protokollieren, um <Scriptname.vbs>.log. Andere Module verfügen über eigene Protokolle.
In einigen Fällen kann es erforderlich sein, den HealthService neu zu starten, damit die EnableOpsmgrModuleLogging-Protokollierung wirksam wird.
Aktivieren der Protokollierung auf dem UNIX-Agent
In diesen Protokollen werden die UNIX-Agentaktionen erfasst. Wenn es ein Problem mit den an Operations Manager zurückgegebenen Daten gibt, suchen Sie in diesem Protokoll. Sie können die Menge an protokollierten Informationen mit dem Befehl „Scxadmin“ festlegen. Die Syntax für diesen Befehl lautet:
scxadmin -log-set [all|cimom|provider] {verbose|intermediate|errors}
In der folgende Tabelle werden die möglichen Parameterwerte aufgeführt:
Ebene | BESCHREIBUNG |
---|---|
Errors | Protokollieren Sie nur die Meldungen Warnung oder Fehler . |
Fortgeschrittene Anfänger | Protokollinformationen, Warnungen und Fehlermeldungen. |
Ausführlich | Protokollieren Sie die Meldungen Information, Warnungund Fehler mit der Debug-Protokollierung. Beachten Sie, dass diese Stufe der Protokollierung dazu führt, dass die Größe der Protokolldateien schnell anwächst. Es wird empfohlen, diese Option nur für kurze Zeit zu verwenden, um ein bestimmtes Problem zu diagnostizieren. |
Verwenden von DebugView zur Behandlung von Ermittlungsproblemen
DebugView kann alternativ zu EnableOpsmgrModuleLogging für die Behandlung von Ermittlungsproblemen verwendet werden.
Laden Sie DebugView hier herunter: https://go.microsoft.comfwlink/?Linkid=129486.
Starten Sie DebugView auf dem Verwaltungsserver, der für die Ermittlung verwendet wird.
Beginnen Sie mit der Ermittlung von UNIX-Agents. Die Ergebnisse werden in den DebugView-Fenstern angezeigt.
DebugView liefert umfassende Informationen zu den durch den Ermittlungs-Assistenten ausgeführten Vorgängen. Zur schnellen Beseitigung von Ermittlungsproblemen ist diese Methode häufig am besten geeignet.
Aktivieren der Protokollierung für Windows-Remoteverwaltung in Operations Manager
Die ausführliche Ablaufverfolgung dient zur Erfassung der WinRM-Abfragen (Windows-Remoteverwaltung), die von Operations Manager für den Abruf von Agentdaten verwendet werden. Wenn Sie vermuten, dass ein Problem mit der WinRM-Verbindung vorliegt, enthält dieses Protokoll ausführliche Informationen, die bei der Problembehandlung hilfreich sein können.
Öffnen Sie auf dem Verwaltungsserver, mit dem der UNIX- oder Linux-Agent überwacht wird, eine Eingabeaufforderung.
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:
cd C:\Program Files\Microsoft System Center\Operations Manager\Tools
StopTracing.cmd
StartTracing.cmd VER
Replizieren Sie den Fehler in Operations Manager.
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:
StopTracing.cmd
FormatTracing.cmd
Suchen Sie in der Datei „TracingGuidsNative.log“ nach WS-Man.
Hinweis
WinRM wird manchmal auch als „WS-Verwaltung“ („WSMan“) bezeichnet.
Hinweis
Mit dem Befehl „FormatTracing“ 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 die Größe der Agent-Protokolldateien nicht. Um die maximale Größe der Protokolldateien zu steuern, implementieren Sie einen Prozess zum Verwalten der Protokolldateien. Beispielsweise ist das Standard-Dienstprogramm Logrotate auf vielen UNIX- und Linux-Betriebssystemen verfügbar. Das Logrotate-Dienstprogramm kann so konfiguriert werden, dass es die von Operations Manager-Agents für UNIX oder Linux verwendeten Protokolldateien steuert. Nach der Rotation oder Änderung der Protokolldateien des Agents muss dem Agent signalisiert werden, dass Protokolle gedreht 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 der scx.log-Dateien und omiserver.log mit dem Hilfsprogramm logrotate von Linux. In der Regel wird Logrotate als geplanter Auftrag (mit „crond“) ausgeführt, und bearbeitet Konfigurationsdateien in /etc/logrotate.d
. Um diese Konfigurationsdatei zu testen und zu verwenden, passen Sie die Konfiguration Ihrer 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 zum Beheben von bekannten Problemen bei der Bereitstellung von Agents finden Sie im Wiki unter Operations Manager 2012 Troubleshooting: UNIX/Linux Agent Discovery.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für