Sdílet prostřednictvím


Spuštění skriptu kolektoru protokolů na uzlu clusteru Azure Operator Nexus Kubernetes

Podpora Microsoftu může v určitých scénářích potřebovat hlubší přehled v clusteru Nexus Kubernetes. Pro usnadnění je k dispozici skript pro shromažďování protokolů, který můžete použít. Tento skript načte všechny potřebné protokoly a umožní podpoře Microsoftu lépe porozumět problému a efektivně ho vyřešit.

Co shromažďuje

Skript kolektoru protokolů je navržený tak, aby komplexně shromáždil data napříč různými aspekty systému pro účely řešení potíží a analýzy. Níže je přehled typů diagnostických dat, která shromažďuje:

Diagnostika systému a jádra

  • Informace o jádru: Protokoly, zprávy čitelné pro člověka, verzi a architekturu pro podrobnou diagnostiku jádra.
  • Protokoly operačního systému: Základní protokoly podrobně popisující systémové aktivity a protokoly kontejnerů pro systémové služby.

Využití hardwaru a prostředků

  • Omezené procesy procesoru a vstupně-výstupních operací: Identifikuje problémy s omezováním a poskytuje přehled o kritických bodech výkonu.
  • Statistika síťového rozhraní: Podrobné statistiky síťových rozhraní pro diagnostiku chyb a poklesů

Software a služby

  • Nainstalované balíčky: Seznam všech nainstalovaných balíčků, důležitý pro pochopení softwarového prostředí systému.
  • Aktivní systémové služby: Informace o aktivních službách, snímky procesů a podrobné systémové a procesní statistiky.
  • Protokoly modulu runtime kontejneru a komponent Kubernetes: Protokoly pro komponenty Kubernetes a další důležité služby pro diagnostiku clusteru.

Sítě a možnosti připojení

  • Informace o sledování připojení k síti: Statistika Conntrack a seznamy připojení pro diagnostiku brány firewall.
  • Podrobnosti o konfiguraci sítě a rozhraní: Konfigurace rozhraní, směrování IP adres, adresy a informace o sousedech.
  • Všechny další konfigurace a protokoly rozhraní: Protokoly související s konfigurací všech rozhraní uvnitř uzlu.
  • Testy připojení k síti: Otestuje externí síťové připojení a komunikaci serveru rozhraní KUBERNEtes API.
  • Konfigurace překladu DNS: Konfigurace překladače DNS pro diagnostiku problémů s překladem názvů domén
  • Konfigurace sítě a protokoly: Komplexní síťová data, včetně sledování připojení a konfigurace rozhraní.
  • Konfigurace rozhraní CNI (Container Network Interface): Konfigurace CNI pro diagnostiku sítí kontejnerů

Zabezpečení a dodržování předpisů

  • STAV SELinux: Hlásí režim SELinux, aby porozuměl kontextu řízení přístupu a zabezpečení.
  • Pravidla IPtables: Konfigurace sad pravidel IPtables pro přehled o nastavení brány firewall

Úložiště a systémy souborů

  • Přípojné body a informace o svazku: Podrobné informace o přípojných bodech, svazcích, využití disku a specifikách systému souborů.

Konfigurace a správa

  • Konfigurace systému: Parametry Sysctl pro komplexní zobrazení konfigurace modulu runtime jádra.
  • Konfigurace a stav Kubernetes: Podrobnosti o nastavení Kubernetes, včetně konfigurací a výpisů služeb.
  • Informace o modulu runtime kontejneru: Informace o konfiguraci, verzi a podrobnosti o spuštěných kontejnerech.
  • Informace o rozhraní RUNTIME kontejneru (CRI): Provozní data pro rozhraní modulu runtime kontejneru, která pomáhají s diagnostikou orchestrace kontejnerů.

Požadavek

  • Ujistěte se, že máte přístup SSH k uzlu clusteru Nexus Kubernetes. Pokud máte k uzlu přímo přístupnou IP adresu, vytvořte připojení SSH přímo. V opačném případě použijte Azure Arc pro servery s příkazem az ssh arc. Další informace o různých metodách připojení najdete v článku o připojení ke clusteru .

Provádění

Jakmile budete mít přístup přes SSH k uzlu, spusťte skript kolektoru protokolů spuštěním příkazu sudo /opt/log-collector/collect.sh.

Při spuštění se zobrazí výstup podobný následujícímu:

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

Stažení souboru protokolu

Po vygenerování souboru protokolu si můžete stáhnout vygenerovaný soubor protokolu z uzlu clusteru do místního počítače pomocí různých metod, včetně SCP, SFTP nebo Azure CLI. Je ale důležité si uvědomit, že SCP nebo SFTP jsou možné jenom v případě, že máte přímou IP adresu dosažitelnou pro uzel clusteru. Pokud nemáte přímou dostupnost IP adres, můžete pomocí Azure CLI stáhnout soubor protokolu.

Tento příkaz by měl vypadat dobře, protože se jedná o stejný příkaz, který se používá k připojení SSH k uzlu clusteru Nexus Kubernetes. Pokud chcete stáhnout vygenerovaný soubor protokolu z uzlu do místního počítače, použijte tento příkaz znovu s přidáním cat příkazu na konci ke zkopírování souboru.

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)

Poznámka:

Zástupné proměnné nahraďte skutečnými hodnotami relevantními pro vaše prostředí Azure a cluster Nexus Kubernetes.

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

V předchozím příkazu nahraďte node_name_date_time-UTC.tar.gz názvem souboru protokolu vytvořeného v uzlu clusteru a <Local machine path> umístěním na místním počítači, kam chcete soubor uložit.

Další kroky

Po stažení souboru tar do místního počítače ho můžete nahrát do lístku podpory pro podporu podpory a zkontrolovat protokoly.