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:
- Importeer management packs door de nieuwste versies van het Microsoft Downloadcentrum te downloaden.
- Maak een toegewezen resourcegroep voor het bewaken van UNIX- en Linux-computers.
- Configureer de certificaten voor elke beheerserver in de groep.
- Run As-accounts maken en configureren.
- Installeer de agent op UNIX en Linux met behulp van de wizard Detectie.
- Importeer management packs door de nieuwste versies van het Microsoft Downloadcentrum te downloaden.
- Maak een toegewezen resourcegroep voor het bewaken van UNIX- en Linux-computers.
- Configureer de certificaten voor elke beheerserver in de groep.
- Run As-accounts maken en configureren.
- Installeer de agent op UNIX en Linux met behulp van de wizard Detectie.
- Importeer management packs door de nieuwste versies van het Microsoft Downloadcentrum te downloaden.
- Maak een toegewezen resourcegroep voor het bewaken van UNIX- en Linux-computers.
- Configureer de certificaten voor elke beheerserver in de groep.
- Run As-accounts maken en configureren.
- 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:
Zorg ervoor dat de SSH-daemon op de externe host wordt uitgevoerd.
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.
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 | 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.
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.
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.
Download DebugView van: https://go.microsoft.comfwlink/?Linkid=129486.
Start DebugView op de beheerserver die de detectie uitvoert.
Start de detectie van de UNIX-agents. U zou nu uitvoer moeten beginnen te zien in de DebugView-vensters.
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.
Open een opdrachtprompt op de beheerserver die de UNIX- of Linux-agent bewaakt.
Voer de volgende opdrachten in bij de opdrachtprompt:
cd C:\Program Files\Microsoft System Center\Operations Manager\Tools
StopTracing.cmd
StartTracing.cmd VER
Reproduceer het probleem in Operations Manager.
Voer de volgende opdrachten in bij de opdrachtprompt:
StopTracing.cmd
FormatTracing.cmd
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.