Dela via


Övervaka Nexus Kubernetes-kluster

Varje Nexus Kubernetes-kluster består av flera lager:

  • Virtuella datorer (VM)
  • Kubernetes-lager
  • Programpoddar

Skärmbild av Nexus Kubernetes-exempelklustret.

Bild: Exempel på Nexus Kubernetes-kluster

På en instans levereras Nexus Kubernetes-kluster med en valfri Container Insights-observerbarhetslösning . Container Insights samlar in loggar och mått från Nexus Kubernetes-kluster och arbetsbelastningar. Det är helt och hållet din bedömning om du vill aktivera den här verktygsstacken eller distribuera din egen telemetristack.

Nexus Kubernetes-klustret med Azure-övervakningsverktyget ser ut så här:

Skärmbild av Nexus Kubernetes-kluster med övervakningsverktyg.

Bild: Nexus Kubernetes-kluster med övervakningsverktyg

Tilläggsregistrering med CLI med hanterad identitetsautentisering

Dokumentation för att börja med Azure CLI, hur du installerar det i flera operativsystem och hur du installerar CLI-tillägg.

Installera den senaste versionen av de nödvändiga CLI-tilläggen.

Övervaka Nexus Kubernetes-kluster

Den här guiden innehåller steg för att aktivera övervakningsagenter för insamling av systemloggar från dessa virtuella datorer med Hjälp av Azure Monitoring Agent. Anvisningarna innehåller ytterligare information om hur du konfigurerar insamling av loggdata till en Log Analytics-arbetsyta.

Förutsättningar

  • Klusteradministratörsåtkomst till Nexus Kubernetes-klustret.

  • Om du vill använda Azure Arc-aktiverade servrar registrerar du följande Azure-resursprovidrar i din prenumeration:

    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity

Registrera dessa resursprovidrar om de inte har gjorts tidigare:

az account set --subscription "{the Subscription Name}"
az provider register --namespace 'Microsoft.HybridCompute'
az provider register --namespace 'Microsoft.GuestConfiguration'
az provider register --namespace 'Microsoft.HybridConnectivity'
  • Tilldela ett Azure-tjänsthuvudnamn till följande inbyggda Azure-roller efter behov. Tilldela tjänstens huvudnamn till den Azure-resursgrupp som har datorerna som ska anslutas:
Roll Behövs för att
Resursadministratör eller deltagare för Azure Connected Machine Ansluta Arc-aktiverad Vm-server för Nexus Kubernetes-kluster i resursgruppen och installera Azure Monitoring Agent (AMA)
Övervaka deltagare eller deltagare Skapa en datainsamlingsregel (DCR) i resursgruppen och associera Arc-aktiverade servrar till den
Administratör för användaråtkomst och resursprincipdeltagare eller deltagare Krävs om du vill använda Azure-principtilldelningar för att säkerställa att en DCR är associerad med Arc-aktiverade datorer
Kubernetes-tilläggsdeltagare Behövs för att distribuera K8s-tillägget för Container Insights

Övervaka Nexus Kubernetes-kluster

Förutsättningar

Det finns vissa krav som operatorn bör se till att konfigurera övervakningsverktygen på Nexus Kubernetes-kluster.

Container Insights lagrar sina data på en Log Analytics-arbetsyta. Loggdata flödar till arbetsytan vars resurs-ID du angav under installationen av Container Insights-tillägget. Annars trattar data till en standardarbetsyta i resursgruppen som är associerad med din prenumeration (baserat på Azure-plats).

Ett exempel för USA, östra kan se ut så här:

  • Log Analytics-arbetsytans namn: DefaultWorkspace-GUID-EUS<>
  • Namn på resursgrupp: DefaultResourceGroup-EUS

Kör följande kommando för att hämta ett befintligt Resurs-ID för Log Analytics-arbetsytan:

az login

az account set --subscription "<Subscription Name or ID the Log Analytics workspace is in>"

az monitor log-analytics workspace show --workspace-name "<Log Analytics workspace Name>" \
  --resource-group "<Log Analytics workspace Resource Group>" \
  -o tsv --query id

För att distribuera Container Insights och visa data på den tillämpliga Log Analytics-arbetsytan krävs vissa rolltilldelningar i ditt konto. Till exempel rolltilldelningen Deltagare. Se anvisningarna för att tilldela nödvändiga roller:

  • Log Analytics-deltagarroll : nödvändiga behörigheter för att aktivera containerövervakning i ett CNF-kluster (etablerat).
  • Log Analytics-läsarroll : Icke-medlemmar i Rollen Log Analytics-deltagare får behörighet att visa data på Log Analytics-arbetsytan när du aktiverar containerövervakning.

Installera klustertillägget

Logga in på Azure Cloud Shell för att få åtkomst till klustret:

az login

az account set --subscription "<Subscription Name or ID the Provisioned Cluster is in>"

Distribuera nu Container Insights-tillägget i ett etablerat Nexus Kubernetes-kluster med något av följande två kommandon:

Med kundens i förväg skapade Log Analytics-arbetsyta

az k8s-extension create --name azuremonitor-containers \
  --cluster-name "<Nexus Kubernetes cluster Name>" \
  --resource-group "<Nexus Kubernetes cluster Resource Group>" \
  --cluster-type connectedClusters \
  --extension-type Microsoft.AzureMonitor.Containers \
  --release-train preview \
  --configuration-settings logAnalyticsWorkspaceResourceID="<Log Analytics workspace Resource ID>" \
  amalogsagent.useAADAuth=true

Använd standardarbetsytan för Log Analytics

az k8s-extension create --name azuremonitor-containers \
  --cluster-name "<Nexus Kubernetes cluster Name>" \
  --resource-group "<Nexus Kubernetes cluster Resource Group>" \
  --cluster-type connectedClusters \
  --extension-type Microsoft.AzureMonitor.Containers \
  --release-train preview \
  --configuration-settings amalogsagent.useAADAuth=true

Validera klustertillägg

Verifiera den lyckade distributionen av övervakningsagenternas aktivering på Nexus Kubernetes-kluster med hjälp av följande kommando:

az k8s-extension show --name azuremonitor-containers \
  --cluster-name "<Nexus Kubernetes cluster Name>" \
  --resource-group "<Nexus Kubernetes cluster Resource Group>" \
  --cluster-type connectedClusters

Leta efter etableringstillståndet "Lyckades" för tillägget. Kommandot "k8s-extension create" kan också ha returnerat statusen.

Anpassa logg- och måttsamling

Container Insights tillhandahåller slutanvändarfunktioner för att finjustera samlingen av loggar och mått från Nexus Kubernetes-kluster. Mer information finns i anvisningarna för Konfigurera containerinsiktsagentens datainsamling .

Kommentar

Container Insights samlar inte in loggar från kube-system namnområdet som standard. Om du vill samla in loggar från kube-system namnområdet måste du konfigurera agenten för att samla in loggar från kube-system namnområdet. Detta kan göras genom att ta bort kube-system namnområdet från excludedNamespaces fältet i ConfigMap enligt configMap konfigurationsmetoden .

[log_collection_settings]
  [log_collection_settings.stdout]
    # In the absence of this configmap, default value for enabled is true
    enabled = true
    # exclude_namespaces setting holds good only if enabled is set to true
    # kube-system,gatekeeper-system log collection are disabled by default in the absence of 'log_collection_settings.stdout' setting. If you want to enable kube-system,gatekeeper-system, remove them from the following setting.
    # If you want to continue to disable kube-system,gatekeeper-system log collection keep the namespaces in the following setting and add any other namespace you want to disable log collection to the array.
    # In the absence of this configmap, default value for exclude_namespaces = ["kube-system","gatekeeper-system"]
    exclude_namespaces = ["gatekeeper-system"]
    # If you want to collect logs from only selective pods inside system namespaces add them to the following setting. Provide namespace:controllerName of the system pod. NOTE: this setting is only for pods in system namespaces
    # Valid values for system namespaces are: kube-system, azure-arc, gatekeeper-system, kube-public, kube-node-lease, calico-system. The system namespace used should not be present in exclude_namespaces
    # collect_system_pod_logs = ["kube-system:coredns"]

  [log_collection_settings.stderr]
    # Default value for enabled is true
    enabled = true
    # exclude_namespaces setting holds good only if enabled is set to true
    # kube-system,gatekeeper-system log collection are disabled by default in the absence of 'log_collection_settings.stderr' setting. If you want to enable kube-system,gatekeeper-system, remove them from the following setting.
    # If you want to continue to disable kube-system,gatekeeper-system log collection keep the namespaces in the following setting and add any other namespace you want to disable log collection to the array.
    # In the absence of this configmap, default value for exclude_namespaces = ["kube-system","gatekeeper-system"]
    exclude_namespaces = ["gatekeeper-system"]
    # If you want to collect logs from only selective pods inside system namespaces add them to the following setting. Provide namespace:controllerName of the system pod. NOTE: this setting is only for pods in system namespaces
    # Valid values for system namespaces are: kube-system, azure-arc, gatekeeper-system, kube-public, kube-node-lease, calico-system. The system namespace used should not be present in exclude_namespaces
    # collect_system_pod_logs = ["kube-system:coredns"]

Extra resurser