Kör logginsamlarens skript på Azure Operator Nexus Kubernetes-klusternoden
Microsoft-supporten kan behöva djupare insyn i Nexus Kubernetes-klustret i vissa scenarier. För att underlätta detta är ett loggsamlingsskript tillgängligt för dig att använda. Det här skriptet hämtar alla nödvändiga loggar, vilket gör det möjligt för Microsofts support att få en bättre förståelse för problemet och felsöka det effektivt.
Vad den samlar in
Logginsamlarens skript är utformat för att samla in data i olika aspekter av systemet i felsöknings- och analyssyfte. Nedan visas en översikt över de typer av diagnostikdata som samlas in:
System- och kerneldiagnostik
- Kernelinformation: Loggar, meddelanden som kan läsas av människor, version och arkitektur för djupgående kerneldiagnostik.
- Operativsystemloggar: Viktiga loggar som beskriver systemaktivitet och containerloggar för systemtjänster.
Maskinvaru- och resursanvändning
- Processor- och I/O-begränsade processer: Identifierar begränsningsproblem, vilket ger insikter om flaskhalsar i prestanda.
- Nätverksgränssnittsstatistik: Detaljerad statistik för nätverksgränssnitt för att diagnostisera fel och droppar.
Programvara och tjänster
- Installerade paket: En lista över alla installerade paket som är viktiga för att förstå systemets programvarumiljö.
- Aktiva systemtjänster: Information om aktiva tjänster, processögonblicksbilder och detaljerad system- och processstatistik.
- Loggar för containerkörning och Kubernetes-komponenter: Loggar för Kubernetes-komponenter och andra viktiga tjänster för klusterdiagnostik.
Nätverk och anslutningar
- Spårningsinformation för nätverksanslutning: Conntrack-statistik och anslutningslistor för brandväggsdiagnostik.
- Information om nätverkskonfiguration och gränssnitt: Gränssnittskonfigurationer, IP-routning, adresser och granninformation.
- Eventuella ytterligare gränssnittskonfigurationer och loggar: Loggar relaterade till konfigurationen av alla gränssnitt i Noden.
- Nätverksanslutningstester: Testar extern nätverksanslutning och Kubernetes API-serverkommunikation.
- DNS-lösningskonfiguration: DNS-matchningskonfiguration för diagnostisering av problem med domännamnsmatchning.
- Nätverkskonfiguration och loggar: Omfattande nätverksdata, inklusive anslutningsspårning och gränssnittskonfigurationer.
- CNI-konfiguration (Container Network Interface): Konfiguration av CNI för containernätverksdiagnostik.
Säkerhet och regelefterlevnad
- SELinux-status: Rapporterar SELinux-läget för att förstå åtkomstkontroll och säkerhetskontexter.
- IPtables-regler: Konfiguration av IPtables-regeluppsättningar för insikter om brandväggsinställningar.
Lagring och filsystem
- Monteringspunkter och volyminformation: Detaljerad information om monteringspunkter, volymer, diskanvändning och filsystemsspecifika uppgifter.
Konfiguration och hantering
- Systemkonfiguration: Sysctl-parametrar för en omfattande vy över kernel-körningskonfiguration.
- Kubernetes-konfiguration och -hälsa: Kubernetes-konfigurationsinformation, inklusive konfigurationer och tjänstlistor.
- Information om containerkörning: Konfiguration, versionsinformation och information om containrar som körs.
- Cri-information (Container Runtime Interface): Driftdata för containerkörningsgränssnittet, med hjälp av containerorkestreringsdiagnostik.
Förutsättningar
- Kontrollera att du har SSH-åtkomst till Nexus Kubernetes-klusternoden. Om du har direkt IP-nåbarhet till noden upprättar du en SSH-anslutning direkt. Annars använder du Azure Arc för servrar med kommandot
az ssh arc
. Mer information om olika anslutningsmetoder finns i artikeln anslut till klustret .
Körnings-
När du har SSH-åtkomst till noden kör du logginsamlarens skript genom att köra kommandot sudo /opt/log-collector/collect.sh
.
Vid körning ser du utdata som liknar:
Trying to check for root...
Trying to check for required utilities...
Trying to create required directories...
Trying to check for disk space...
Trying to start collecting logs... Trying to collect common operating system logs...
Trying to collect mount points and volume information...
Trying to collect SELinux status...
.
.
Trying to archive gathered information...
Finishing up...
Done... your bundled logs are located in /var/log/<node_name_date_time-UTC>.tar.gz
Så här laddar du ned loggfilen
När loggfilen har genererats kan du ladda ned den genererade loggfilen från klusternoden till den lokala datorn med hjälp av olika metoder, inklusive SCP, SFTP eller Azure CLI. Det är dock viktigt att observera att SCP eller SFTP endast är möjliga om du har direkt IP-nåbarhet till klusternoden. Om du inte har direkt IP-nåbarhet kan du använda Azure CLI för att ladda ned loggfilen.
Det här kommandot bör se bekant ut för dig eftersom det är samma kommando som används för att SSH till Nexus Kubernetes-klusternoden. Om du vill ladda ned den genererade loggfilen från noden till den lokala datorn använder du det här kommandot igen, med tillägget av cat
kommandot i slutet för att kopiera filen.
RESOURCE_GROUP="myResourceGroup"
CLUSTER_NAME="myNexusK8sCluster"
SUBSCRIPTION_ID="<Subscription ID>"
USER_NAME="azureuser"
SSH_PRIVATE_KEY_FILE="<vm_ssh_id_rsa>"
MANAGED_RESOURCE_GROUP=$(az networkcloud kubernetescluster show -n $CLUSTER_NAME -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID --output tsv --query managedResourceGroupConfiguration.name)
Kommentar
Ersätt platshållarvariablerna med faktiska värden som är relevanta för azure-miljön och Nexus Kubernetes-klustret.
az ssh arc --subscription $SUBSCRIPTION_ID \
--resource-group $MANAGED_RESOURCE_GROUP \
--name <VM Name> \
--local-user $USER_NAME \
--private-key-file $SSH_PRIVATE_KEY_FILE
'sudo cat /var/log/node_name_date_time-UTC.tar.gz' > <Local machine path>/node_name_date_time-UTC.tar.gz
I föregående kommando ersätter node_name_date_time-UTC.tar.gz
du med namnet på loggfilen som skapades i klusternoden och <Local machine path>
med platsen på den lokala dator där du vill spara filen.
Nästa steg
När du har laddat ned tjärfilen till den lokala datorn kan du ladda upp den till supportbegäran för Microsoft-supporten för att granska loggarna.