Delen via


Problemen met bewaking van UNIX- en Linux-computers oplossen

Belangrijk

Deze versie van Operations Manager heeft het einde van de ondersteuning bereikt. U wordt aangeraden een upgrade uit te voeren naar Operations Manager 2022.

System Center - Operations Manager biedt bewaking van UNIX- en Linux-computers die vergelijkbaar zijn met de bewaking van Windows-computers. U kunt de status en prestaties bewaken, rapporten verkrijgen, taken uitvoeren en aangepaste bewakingsinstrumentatie implementeren.

U kunt de volgende aspecten van UNIX- en Linux-computers bewaken:

  • Services en toepassingen

  • Bestandssysteem, schijfruimte, wisselruimte, systeemgeheugen

  • Netwerkinterfaces

  • Kernprocessen en kenmerken

  • Belangrijkste configuraties

Voordat u UNIX- en Linux-computers kunt bewaken, moet u de volgende stappen uitvoeren:

  1. Importeer management packs door de nieuwste versies van het Microsoft Downloadcentrum te downloaden.
  2. Maak een toegewezen resourcegroep voor het bewaken van UNIX- en Linux-computers.
  3. Configureer de certificaten voor elke beheerserver in de groep.
  4. Run As-accounts maken en configureren.
  5. Installeer de agent op UNIX en Linux met behulp van de wizard Detectie.
  1. Importeer management packs door de nieuwste versies van het Microsoft Downloadcentrum te downloaden.
  2. Maak een toegewezen resourcegroep voor het bewaken van UNIX- en Linux-computers.
  3. Configureer de certificaten voor elke beheerserver in de groep.
  4. Run As-accounts maken en configureren.
  5. Installeer de agent op UNIX en Linux met behulp van de wizard Detectie.
  1. Importeer management packs door de nieuwste versies van het Microsoft Downloadcentrum te downloaden.
  2. Maak een toegewezen resourcegroep voor het bewaken van UNIX- en Linux-computers.
  3. Configureer de certificaten voor elke beheerserver in de groep.
  4. Run As-accounts maken en configureren.
  5. Installeer de agent op UNIX en Linux met behulp van de wizard Detectie.

Nadat u de bovenstaande stappen hebt voltooid en de agent hebt gedetecteerd en geïmplementeerd op een of meer UNIX- en Linux-computers, moet u controleren of ze correct worden bewaakt. Nadat een agent is geïmplementeerd, worden de Uitvoeren als-accounts gebruikt om detecties uit te voeren die worden uitgevoerd met behulp van de toepasselijke detectieregels en vervolgens de bewaking starten. Ga na enkele minuten onder de werkruimte Beheer naar Apparaatbeheer/UNIX/Linux-computers en controleer of de computers niet worden vermeld als Onbekend. Ze moeten worden gedetecteerd en de specifieke versie van het besturingssysteem en distributie weergeven.

Standaard bewaakt Operations Manager de volgende besturingssysteemobjecten:

  • Besturingssysteem
  • Logische schijf
  • Netwerkadapters

U kunt aanvullende bewakings- en interactiemogelijkheden bieden voor uw beheerde UNIX- of Linux-computers door de UNIX- en Linux-bewakingspakketsjablonen te gebruiken. Zie UNIX- of Linux-logboekbestand en UNIX- of Linux-proces in de ontwerphandleiding voor meer informatie.

Problemen met UNIX- en Linux-bewaking oplossen

De volgende sectie bevat informatie over problemen die kunnen optreden met het bewaken van UNIX- en Linux-computers in Operations Manager.

Foutbericht bij Certificaat ondertekenen

Tijdens de installatie van UNIX/Linux-agents kunt u de volgende fout zien.

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:  

Deze fout doet zich voor als de module voor het ondertekenen van certificaten wordt aangeroepen maar het certificaat zelf leeg is. Deze fout kan worden veroorzaakt door een mislukte SSH-verbinding met het externe systeem.

Als u deze fout ziet, doet u het volgende:

  1. Zorg ervoor dat de SSH-daemon op de externe host wordt uitgevoerd.

  2. Zorg ervoor dat u een SSH-sessie met de externe host kunt openen met behulp van de referenties die zijn opgegeven in de wizard Detectie.

  3. Zorg ervoor dat de referenties die zijn opgegeven in de wizard Detectie, de vereiste bevoegdheden voor detectie hebben. Zie Referenties die u moet hebben voor toegang tot UNIX- en Linux-computers voor meer informatie.

Naam van het certificaat en hostnaam komen niet overeen

De algemene naam (CN) die in het certificaat wordt gebruikt, moet overeenkomen met de FQDN (Fully Qualified Domain Name) die wordt omgezet door Operations Manager. Als de CN niet overeenkomt, ziet u de volgende fout wanneer u de detectiewizard uitvoert:

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

U kunt de basisgegevens van het certificaat weergeven op de UNIX- of Linux-computer door de volgende opdracht op te geven:

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

Wanneer u dit doet, ziet u uitvoer die er ongeveer als volgt uitziet:

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  

Valideer de hostnamen en datums en controleer dat ze overeenkomen met de naam die wordt omgezet door de Operations Manager-beheerserver.

Als de hostnamen niet overeenkomen, gebruikt u een van de volgende acties om het probleem op te lossen:

  • Als de UNIX- of Linux-hostnaam juist is maar de Operations Manager-beheerserver deze onjuist omzet, past u de DNS-vermelding aan zodat deze overeenkomt met de juiste FQDN of voegt u een vermelding toe aan het bestand hosts op de Operations Manager-server.

  • Als de UNIX- of Linux-hostnaam onjuist is, gaat u op een van de volgende manieren te werk:

    • Wijzig de hostnaam op de UNIX- of Linux-host naar de juiste naam en maak een nieuw certificaat.

    • Maak een nieuw certificaat met de gewenste hostnaam.

Ga als volgende te werk om de naam van het certificaat te wijzigen:

Als het certificaat met een onjuiste naam is gemaakt, kunt u de hostnaam wijzigen en het certificaat en de persoonlijke sleutel opnieuw maken. Voer hiervoor de volgende opdracht uit op de UNIX- of Linux-computer:

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

Met de optie -f worden de bestanden in /etc/opt/microsoft/scx/ssl overschreven.

U kunt ook de hostnaam en domeinnaam op het certificaat wijzigen met behulp van de schakelopties -h en -d , zoals in het volgende voorbeeld:

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

Start de agent opnieuw door de volgende opdracht uit te voeren:

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

Een vermelding toevoegen aan het hosts-bestand:

Als de FQDN zich niet in Reverse DNS bevindt, kunt u een vermelding toevoegen aan het hosts-bestand op de beheerserver om naamomzetting te bieden. Het hosts-bestand bevindt zich in de map Windows\System32\Drivers\etc. Een vermelding in het hosts-bestand is een combinatie van het IP-adres en de FQDN.

Als u bijvoorbeeld een vermelding wilt toevoegen voor de host met de naam newhostname.newdomain.name met ip-adres 192.168.1.1, voegt u het volgende toe aan het einde van het hosts-bestand:

192.168.1.1      newhostname.newdomain.name  

Problemen met management pack

ExecuteCommand biedt geen ondersteuning voor pipeline-operators of aliassen

Wanneer u een alias of een pijplijnoperator gebruikt met de parameter ExecuteCommand , mislukt de opdracht. De executeCommand parameter biedt geen ondersteuning voor de pijplijnoperator, aliassen en shell-specifieke syntaxis.

In Management Packs van System Center Operations Manager die zijn ontworpen voor het beheren van UNIX- en Linux-computers, start de parameter ExecuteCommand geen shellproces, waardoor de aangepaste actie mislukt.

Voor elk van de volgende aangepaste actietypen geeft u op hoe de opdrachtargumenten worden aangeroepen met behulp van de parameter ExecuteCommand of de parameter ExecuteShellCommand :

  • Microsoft.Unix.WSMan.Invoke.ProbeAction

  • Microsoft.Unix.WSMan.Invoke.WriteAction

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

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

De parameter ExecuteCommand geeft de opdrachtregelargumenten door aan de console zonder een shellproces te starten.

De parameter ExecuteShellCommand geeft de opdrachtargumenten door aan een shellproces met behulp van de standaardshell van de gebruiker; deze shell ondersteunt pijplijn, aliassen en shell-specifieke syntaxis.

Notitie

De parameter ExecuteShellCommand maakt gebruik van de standaardshell van de gebruiker die de opdracht uitvoert. Als u een specifieke shell nodig hebt, gebruikt u de parameter ExecuteCommand en vervangt u de opdrachtargumenten door de vereiste shell.

In de volgende voorbeelden ziet u hoe u de parameters ExecuteCommand en ExecuteShellCommand gebruikt:

  • De opdrachtregelargumenten doorgeven aan de console zonder een shellproces te 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>

  • De opdrachtregelargumenten doorgeven aan een shellproces dat verwijst naar een expliciete shell:

    <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>

  • De opdrachtargumenten doorgeven aan een shellproces dat gebruikmaakt van de standaardshell van de gebruiker:

    <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>

Logboekregistratie en foutopsporing

In deze sectie wordt beschreven hoe u hulpprogramma's voor logboekregistratie en foutopsporing inschakelt voor het oplossen van problemen met het bewaken van UNIX- en Linux-computers.

Notitie

Met Operations Manager 2019 UR3 kunnen instellingen op logboekniveau worden gewijzigd zonder dat de agent opnieuw wordt opgestart. Meer informatie.

Notitie

U kunt instellingen op logboekniveau wijzigen zonder dat de agent opnieuw wordt opgestart. Meer informatie.

Logboekregistratie voor Operations Manager-module

De Operations Manager-agents voor UNIX en Linux onderhouden verschillende logboekbestanden die nuttig kunnen zijn bij het oplossen van clientproblemen. Deze logboekbestanden bevinden zich op de beheerde UNIX- of Linux-computer. Het logboekregistratieniveau voor de logboekbestanden van de agent kan zo nodig worden geconfigureerd. Een uitgebreidere logboekregistratie is handig bij het oplossen van een probleem. Voor een normale werking moeten logboekniveaus niet worden ingesteld op een waarde die uitgebreider is dan de standaardconfiguraties (tussenliggend) om overmatige groei van logboekbestanden te voorkomen.

Notitie

Aanroepen buiten Windows Remote Management (WinRM) worden gedaan met behulp van SSH/SFTP. Deze onderdelen maken gebruik van een ander mechanisme voor logboekregistratie dan Operations Manager.

Notitie

Het logboekregistratieniveau voor het omiserver.log logboekbestand kan niet worden gewijzigd ten opzichte van het standaardniveau in deze versie van de Operations Manager-agents voor UNIX en Linux.

  1. Maak een leeg bestand met de naam EnableOpsmgrModuleLogging in de map Temp voor het gebruikersaccount dat deze modules aanroept door te typen op een opdrachtregel of een PowerShell-prompt:

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

    Notitie

    Over het algemeen is het het SYSTEEM-account dat de aanroepen doet, en C:\Windows\Temp is de standaard map SYSTEM temp.

  2. Nadat het lege bestand is gemaakt, begint Operations Manager onmiddellijk met het registreren van SSH- en certificaatactiviteit in de map Temp. Scripts die de SSH-modules aanroepen, worden aangemeld bij <Scriptname.vbs>.log. Andere modules hebben hun eigen logboeken.

In sommige gevallen kan het nodig zijn om de HealthService opnieuw te starten om de logboekregistratie van EnableOpsmgrModuleLogging van kracht te krijgen.

Logboekregistratie inschakelen op de UNIX-Agent

In deze logboeken worden de UNIX-agentacties gerapporteerd. Als er een probleem is met de gegevens die worden geretourneerd naar Operations Manager, kijkt u in dit logboek. Met de opdracht scxadmin bepaalt u hoeveel informatie wordt vastgelegd. De syntaxis voor deze opdracht is:

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

De volgende tabel bevat de mogelijke parameterwaarden:

Niveau Description
Fouten Alleen waarshuwingen of foutberichten vastleggen.
Gevorderd Logboekinfo, waarschuwing en foutberichten.
Uitgebreid Informatie, waarschuwingenen foutberichten met Logboek voor foutopsporing vastleggen. Houd er rekening mee dat met dit niveau van logboekregistratie de grootte van de logboekbestanden waarschijnlijk snel zal toenemen. Het wordt aanbevolen deze optie alleen voor korte tijd te gebruiken om een specifiek probleem vast te stellen.

DebugView gebruiken bij het oplossen van problemen met detectie

DebugView is een alternatieve methode voor EnableOpsmgrModuleLogging voor het oplossen van detectieproblemen.

  1. Download DebugView van: https://go.microsoft.comfwlink/?Linkid=129486.

  2. Start DebugView op de beheerserver die de detectie uitvoert.

  3. Start de detectie van de UNIX-agents. U zou nu uitvoer moeten beginnen te zien in de DebugView-vensters.

  4. DebugView presenteert een stapsgewijze uitlezing van het proces van de detectiewizard. Dit is vaak de snelste methode om detectieproblemen op te lossen.

Operations Manager-logboeken voor Windows Remote Management inschakelen

Deze uitgebreide traceringsmethode wordt gebruikt om de WinRM-query's (Windows Remote Management) te zien waarmee Operations Manager gegevens van de agent verzamelt. Als u vermoedt dat er een probleem is met de WinRM-verbinding, bevat dit logboek gedetailleerde informatie die u kan helpen bij het oplossen van problemen.

  1. Open een opdrachtprompt op de beheerserver die de UNIX- of Linux-agent bewaakt.

  2. Voer de volgende opdrachten in bij de opdrachtprompt:

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

    2. StopTracing.cmd

    3. StartTracing.cmd VER

  3. Reproduceer het probleem in Operations Manager.

  4. Voer de volgende opdrachten in bij de opdrachtprompt:

    1. StopTracing.cmd

    2. FormatTracing.cmd

  5. Zoek naar WS-Man in het TracingGuidsNative.log-bestand.

Notitie

WinRM is ook bekend als WS-Management (WS-Man).

Notitie

Met de opdracht FormatTracing wordt een Windows Verkenner-venster geopend met de C:\Windows\Logs\OpsMgrTrace map. Het bestand TracingGuidsNative.log bevindt zich in die map.

UNIX- en Linux-logboekbestanden beheren

De Operations Manager-agents voor UNIX en Linux beperken de grootte van de agentlogboekbestanden niet. Implementeer een proces voor het beheren van de logboekbestanden om de maximale grootte van de logboekbestanden te beheersen. Het standaardhulpprogramma logrotate is bijvoorbeeld beschikbaar op verschillende UNIX- en Linux-besturingssystemen. Het hulpprogramma logrotate kan worden geconfigureerd om de logboekbestanden te beheren die door de Operations Manager-agenten voor UNIX of Linux worden gebruikt. Nadat u de logboekbestanden van de agent hebt geroteerd of aangepast, moet de agent een signaal ontvangen dat de logboeken zijn geroteerd om de logboekregistratie te kunnen hervatten. De opdracht scxadmin kan worden gebruikt met de parameter -log-rotate met de volgende syntaxis:

scxadmin -log-rotate all

Voorbeeld van een Logrotate-configuratiebestand

In het volgende voorbeeld ziet u een configuratiebestand om de scx.log-bestanden te roteren en omiserver.log met het hulpprogramma logrotate van Linux. Logrotate wordt doorgaans uitgevoerd als een geplande taak (met crond) en reageert op configuratiebestanden in /etc/logrotate.d. Als u dit configuratiebestand wilt testen en gebruiken, wijzigt u de configuratie zodat deze geschikt is voor uw omgeving en koppelt u het bestand of slaat u het op 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\
#}  

Volgende stappen

Raadpleeg de wiki Problemen met Operations Manager 2012 oplossen: UNIX/Linux-agentdetectie voor aanvullende richtlijnen om veelvoorkomende problemen met agentimplementatie op te lossen.