Hantera Container Insights-agenten
Container Insights använder en containerbaserad version av Log Analytics-agenten för Linux. Efter den första distributionen kan du behöva utföra rutinuppgifter eller valfria uppgifter under livscykeln. Den här artikeln beskriver hur du uppgraderar agenten manuellt och inaktiverar insamling av miljövariabler från en viss container.
Kommentar
Om du redan har distribuerat ett AKS-kluster och aktiverat övervakning med hjälp av antingen Azure CLI eller en Resource Manager-mall kan du inte använda kubectl
för att uppgradera, ta bort, distribuera om eller distribuera agenten. Mallen måste distribueras i samma resursgrupp som klustret.
Uppgradera Container Insights-agenten
Container Insights använder en containerbaserad version av Log Analytics-agenten för Linux. När en ny version av agenten släpps uppgraderas agenten automatiskt på dina hanterade Kubernetes-kluster som finns i Azure Kubernetes Service (AKS) och Azure Arc-aktiverade Kubernetes.
Om agentuppgraderingen misslyckas för ett kluster som finns på AKS beskrivs även processen för att uppgradera agenten manuellt. Information om hur du följer de versioner som släppts finns i Meddelanden om agentutgivning.
Uppgradera agenten i ett AKS-kluster
Processen för att uppgradera agenten i ett AKS-kluster består av två steg. Det första steget är att inaktivera övervakning med Container Insights med hjälp av Azure CLI. Följ stegen som beskrivs i artikeln Inaktivera containerinsikter i kubernetes-klustret . Genom att använda Azure CLI kan du ta bort agenten från noderna i klustret utan att påverka lösningen och motsvarande data som lagras på arbetsytan.
Kommentar
När du utför den här underhållsaktiviteten vidarebefordrar noderna i klustret inte insamlade data. Prestandavyer visar inte data mellan den tid då du tog bort agenten och installerade den nya versionen.
Det andra steget är att installera den nya versionen av agenten. Följ stegen som beskrivs i Aktivera övervakning med hjälp av Azure CLI för att slutföra den här processen.
När du har aktiverat övervakningen igen kan det ta ungefär 15 minuter innan du kan visa uppdaterade hälsomått för klustret. Du har två metoder för att verifiera att agenten har uppgraderats:
- Kör kommandot
kubectl get pod <ama-logs-agent-pod-name> -n kube-system -o=jsonpath='{.spec.containers[0].image}'
. I statusen som returneras noterar du värdet under Bild för Azure Monitor Agent i avsnittet Containrar i utdata. - På fliken Noder väljer du klusternoden. I fönstret Egenskaper till höger noterar du värdet under Agentavbildningstagg.
Den version av agenten som visas bör matcha den senaste versionen som visas på sidan Versionshistorik .
Uppgradera agenten i ett Kubernetes-hybridkluster
Utför följande steg för att uppgradera agenten i ett Kubernetes-kluster som körs på:
- Självhanterade Kubernetes-kluster som finns i Azure med hjälp av AKS-motorn.
- Självhanterade Kubernetes-kluster som finns i Azure Stack eller lokalt med hjälp av AKS-motorn.
Om Log Analytics-arbetsytan finns i kommersiella Azure kör du följande kommando:
$ helm upgrade --set omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<my_prod_cluster> incubator/azuremonitor-containers
Om Log Analytics-arbetsytan finns i Microsoft Azure som drivs av 21Vianet kör du följande kommando:
$ helm upgrade --set omsagent.domain=opinsights.azure.cn,omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<your_cluster_name> incubator/azuremonitor-containers
Om Log Analytics-arbetsytan finns i Azure US Government kör du följande kommando:
$ helm upgrade --set omsagent.domain=opinsights.azure.us,omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<your_cluster_name> incubator/azuremonitor-containers
Inaktivera miljövariabelsamling på en container
Container Insights samlar in miljövariabler från containrar som körs i en podd och visar dem i egenskapsfönstret för den valda containern i vyn Containrar . Du kan styra det här beteendet genom att inaktivera samlingen för en specifik container, antingen under distributionen av Kubernetes-klustret eller efter genom att ange miljövariabeln AZMON_COLLECT_ENV
. Den här funktionen är tillgänglig från agentversionen ciprod11292018 och senare.
Om du vill inaktivera insamling av miljövariabler i en ny eller befintlig container anger du variabeln AZMON_COLLECT_ENV
med värdet False
i YAML-konfigurationsfilen för Kubernetes-distributionen.
- name: AZMON_COLLECT_ENV
value: "False"
Kör följande kommando för att tillämpa ändringen på andra Kubernetes-kluster än Azure Red Hat OpenShift: kubectl apply -f <path to yaml file>
. Om du vill redigera ConfigMap och tillämpa den här ändringen för Azure Red Hat OpenShift-kluster kör du följande kommando:
oc edit configmaps container-azm-ms-agentconfig -n openshift-azure-logging
Det här kommandot öppnar standardtextredigeraren. När du har angett variabeln sparar du filen i redigeraren.
Kontrollera att konfigurationsändringen trädde i kraft genom att välja en container i vyn Containrar i Container insights. I egenskapsfönstret expanderar du Miljövariabler. Avsnittet bör endast visa variabeln som skapades tidigare, som är AZMON_COLLECT_ENV=FALSE
. För alla andra containrar bör avsnittet Miljövariabler visa en lista över alla identifierade miljövariabler.
Om du vill återanvända identifiering av miljövariablerna använder du samma process som du använde tidigare och ändrar värdet från False
till True
. Kör sedan kommandot igen kubectl
för att uppdatera containern.
- name: AZMON_COLLECT_ENV
value: "True"
Semantisk versionsuppdatering av container insights-agentversion
Container Insights har flyttat avbildningsversionen och namngivningskonventionen till [semver-format] (https://semver.org/). SemVer hjälper utvecklare att hålla reda på alla ändringar som görs i programvara under utvecklingsfasen och ser till att versionshantering av programvara är konsekvent och meningsfull. Den gamla versionen var i formatet ciprod timestamp-commitId>> och win-ciprod<timestamp-commitId<>>, våra första bildversioner med Semver-formatet< är 3.1.4 för Linux och win-3.1.4 för<Windows.
Semver är ett universellt programvaruversionsschema som definieras i formatet MAJOR. UNDERÅRIG. PATCH, som följer följande begränsningar:
- Öka major-versionen när du gör inkompatibla API-ändringar.
- Öka MINOR-versionen när du lägger till funktioner på ett bakåtkompatibelt sätt.
- Öka PATCH-versionen när du gör bakåtkompatibla felkorrigeringar.
Med ökningen av Kubernetes och OSS-ekosystemet migrerar Container Insights för att använda semveravbildning enligt den rekommenderade K8-standarden, där alla icke-bakåtkompatibla ändringar måste dokumenteras offentligt med varje ny Kubernetes-version.
Reparera duplicerade agenter
Om du aktiverade Container Insights manuellt med anpassade metoder före oktober 2022 kan du få flera versioner av agenten som körs tillsammans. Följ stegen nedan för att rensa den här dupliceringen.
Samla in information om anpassade inställningar, till exempel minnes- och CPU-gränser för omsagentcontainrar.
Granska standardresursgränserna för ama-loggar och kontrollera om de uppfyller dina behov. Annars kan du behöva skapa ett supportavsnitt för att undersöka och växla minnes-/cpu-gränser. Detta kan hjälpa dig att åtgärda problem med skalningsbegränsningar som vissa kunder stötte på tidigare och som resulterade i OOMKilled-undantag.
OS Namn på kontrollant Standardgränser Linux ds-cpu-limit-linux 500 m Linux ds-memory-limit-linux 750Mi Linux rs-cpu-limit 1 Linux rs-memory-limit 1.5Gi Windows ds-cpu-limit-windows 500 m Windows ds-memory-limit-windows 1Gi Rensa resurser från tidigare registrering:
Om du tidigare registrerade med helm-diagram :
Visa en lista över alla versioner över namnområden med följande kommando:
helm list --all-namespaces
Rensa diagrammet som är installerat för Container Insights med följande kommando:
helm uninstall <releaseName> --namespace <Namespace>
Om du tidigare registrerade med yaml-distribution:
Ladda ned en tidigare yaml-fil för anpassad distribution med följande kommando:
curl -LO raw.githubusercontent.com/microsoft/Docker-Provider/ci_dev/kubernetes/omsagent.yaml
Rensa det gamla omsagent-diagrammet med följande kommando:
kubectl delete -f omsagent.yaml
Inaktivera containerinsikter för att rensa alla relaterade resurser med hjälp av vägledningen i Inaktivera containerinsikter i ditt Kubernetes-kluster
Publicera om containerinsikter med hjälp av vägledningen i Aktivera containerinsikter i ditt Kubernetes-kluster
Nästa steg
Om du får problem när du uppgraderar agenten kan du läsa felsökningsguiden för support.