Övervaka Nexus Kubernetes-kluster
Varje Nexus Kubernetes-kluster består av flera lager:
- Virtuella datorer (VM)
- Kubernetes-lager
- Programpoddar
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:
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
- Granska dokumentationen för arbetsböcker och sedan kan du använda Operator Nexus-telemetriexempel för Operator Nexus-arbetsböcker.
- Granska Azure Monitor-aviseringar, hur du skapar Azure Monitor-aviseringsregler och använder exempel på aviseringsmallar för Operator Nexus.