Delen via


De Container Insights-agent beheren

Container Insights maakt gebruik van een containerversie van de Log Analytics-agent voor Linux. Na de eerste implementatie moet u gedurende de levenscyclus mogelijk routinetaken of optionele taken uitvoeren. In dit artikel wordt uitgelegd hoe u de agent handmatig bijwerkt en het verzamelen van omgevingsvariabelen van een bepaalde container uitschakelt.

Notitie

Als u al een AKS-cluster hebt geïmplementeerd en bewaking hebt ingeschakeld met behulp van de Azure CLI of een Resource Manager-sjabloon, kunt u de agent niet kubectl upgraden, verwijderen, opnieuw implementeren of implementeren. De sjabloon moet worden geïmplementeerd in dezelfde resourcegroep als het cluster.

De Container Insights-agent upgraden

Container Insights maakt gebruik van een containerversie van de Log Analytics-agent voor Linux. Wanneer er een nieuwe versie van de agent wordt uitgebracht, wordt de agent automatisch bijgewerkt op uw beheerde Kubernetes-clusters die worden gehost op Azure Kubernetes Service (AKS) en Kubernetes met Azure Arc.

Als de agentupgrade mislukt voor een cluster dat wordt gehost op AKS, wordt in dit artikel ook het proces beschreven voor het handmatig bijwerken van de agent. Als u de uitgebrachte versies wilt volgen, raadpleegt u releaseaankondigingen voor agent.

De agent upgraden op een AKS-cluster

Het proces voor het upgraden van de agent op een AKS-cluster bestaat uit twee stappen. De eerste stap is het uitschakelen van bewaking met Container Insights met behulp van de Azure CLI. Volg de stappen die worden beschreven in Containerinzichten uitschakelen in uw Kubernetes-clusterartikel . Met behulp van de Azure CLI kunt u de agent verwijderen uit de knooppunten in het cluster zonder dat dit van invloed is op de oplossing en de bijbehorende gegevens die zijn opgeslagen in de werkruimte.

Notitie

Terwijl u deze onderhoudsactiviteit uitvoert, worden de knooppunten in het cluster geen verzamelde gegevens doorgestuurd. In prestatieweergaven worden geen gegevens weergegeven tussen het moment dat u de agent hebt verwijderd en de nieuwe versie hebt geïnstalleerd.

De tweede stap bestaat uit het installeren van de nieuwe versie van de agent. Volg de stappen die worden beschreven in Bewaking inschakelen met behulp van de Azure CLI om dit proces te voltooien.

Nadat u de bewaking opnieuw hebt ingeschakeld, kan het ongeveer 15 minuten duren voordat u bijgewerkte statusgegevens voor het cluster kunt bekijken. U hebt twee methoden om te controleren of de agent is bijgewerkt:

  • Voer de opdracht kubectl get pod <ama-logs-agent-pod-name> -n kube-system -o=jsonpath='{.spec.containers[0].image}' uit. Noteer in de geretourneerde status de waarde onder Afbeelding voor De Azure Monitor-agent in de sectie Containers van de uitvoer.
  • Selecteer op het tabblad Knooppunten het clusterknooppunt. Noteer in het deelvenster Eigenschappen aan de rechterkant de waarde onder Agent Image Tag.

De weergegeven versie van de agent moet overeenkomen met de meest recente versie die wordt vermeld op de pagina Releasegeschiedenis .

De agent upgraden op een hybride Kubernetes-cluster

Voer de volgende stappen uit om de agent bij te werken op een Kubernetes-cluster waarop wordt uitgevoerd:

  • Zelfbeheerde Kubernetes-clusters die worden gehost in Azure met behulp van de AKS-engine.
  • Zelfbeheerde Kubernetes-clusters die worden gehost op Azure Stack of on-premises met behulp van de AKS-engine.

Als de Log Analytics-werkruimte zich in commerciële Azure bevindt, voert u de volgende opdracht uit:

$ helm upgrade --set omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<my_prod_cluster> incubator/azuremonitor-containers

Als de Log Analytics-werkruimte zich in Microsoft Azure bevindt dat wordt beheerd door 21Vianet, voert u de volgende opdracht uit:

$ 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

Als de Log Analytics-werkruimte zich in Azure US Government bevindt, voert u de volgende opdracht uit:

$ 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

Verzameling van omgevingsvariabelen op een container uitschakelen

Container Insights verzamelt omgevingsvariabelen van de containers die worden uitgevoerd in een pod en geeft deze weer in het eigenschappenvenster van de geselecteerde container in de weergave Containers . U kunt dit gedrag beheren door de verzameling voor een specifieke container uit te schakelen tijdens de implementatie van het Kubernetes-cluster of na het instellen van de omgevingsvariabele AZMON_COLLECT_ENV. Deze functie is beschikbaar via de agentversie ciprod11292018 en hoger.

Als u het verzamelen van omgevingsvariabelen voor een nieuwe of bestaande container wilt uitschakelen, stelt u de variabele AZMON_COLLECT_ENV in met de waarde in False uw YAML-configuratiebestand voor kubernetes-implementatie.

- name: AZMON_COLLECT_ENV  
  value: "False"  

Voer de volgende opdracht uit om de wijziging toe te passen op Kubernetes-clusters anders dan Azure Red Hat OpenShift: kubectl apply -f <path to yaml file>. Voer de volgende opdracht uit om ConfigMap te bewerken en deze wijziging toe te passen voor Azure Red Hat OpenShift-clusters:

oc edit configmaps container-azm-ms-agentconfig -n openshift-azure-logging

Met deze opdracht opent u de standaardteksteditor. Nadat u de variabele hebt ingesteld, slaat u het bestand op in de editor.

Als u wilt controleren of de configuratiewijziging is doorgevoerd, selecteert u een container in de weergave Containers in Container Insights. Vouw in het eigenschappenvenster Omgevingsvariabelen uit. In de sectie moet alleen de variabele worden weergegeven die u eerder hebt gemaakt.AZMON_COLLECT_ENV=FALSE Voor alle andere containers moet in de sectie Omgevingsvariabelen alle gedetecteerde omgevingsvariabelen worden vermeld.

Als u de detectie van de omgevingsvariabelen opnieuw wilt inschakelen, past u hetzelfde proces toe dat u eerder hebt gebruikt en wijzigt u de waarde van False in True. Voer vervolgens de kubectl opdracht opnieuw uit om de container bij te werken.

- name: AZMON_COLLECT_ENV  
  value: "True"  

Semantische versie-update van container insights-agentversie

Container Insights heeft de versie van de installatiekopieën en naamconventie verschoven naar [semver format] (https://semver.org/). SemVer helpt ontwikkelaars bij te houden van elke wijziging in software tijdens de ontwikkelingsfase en zorgt ervoor dat de softwareversiebeheer consistent en zinvol is. De oude versie was in de indeling van ciprod<timestamp-commitId>>< en win-ciprod<timestamp-commitId><>, onze eerste installatiekopieën met behulp van de Semver-indeling zijn 3.1.4 voor Linux en win-3.1.4 voor Windows.

Semver is een universeel schema voor softwareversiebeheer dat is gedefinieerd in de indeling MAJOR. MINDERJARIGE. PATCH, die de volgende beperkingen volgt:

  1. Verhoog de PRIMAIRE versie wanneer u incompatibele API-wijzigingen aanbrengt.
  2. Verhoog de SECUNDAIRe versie wanneer u functionaliteit toevoegt op een achterwaarts compatibele manier.
  3. Verhoog de PATCH-versie wanneer u achterwaarts compatibele bugfixes maakt.

Met de opkomst van Kubernetes en het OSS-ecosysteem migreert Container Insights naar gebruik van semver-installatiekopieën volgens de aanbevolen standaard K8s, waarbij elke secundaire versie is geïntroduceerd, moeten alle belangrijke wijzigingen openbaar worden gedocumenteerd met elke nieuwe Kubernetes-release.

Dubbele agents herstellen

Als u Container Insights handmatig hebt ingeschakeld met behulp van aangepaste methoden vóór oktober 2022, kunt u uiteindelijk meerdere versies van de agent samen uitvoeren. Volg de onderstaande stappen om deze duplicatie te wissen.

  1. Verzamel details van aangepaste instellingen, zoals geheugen- en CPU-limieten voor uw omsagentcontainers.

  2. Controleer de standaardresourcelimieten voor ama-logboeken en bepaal of deze voldoen aan uw behoeften. Zo niet, dan moet u mogelijk een ondersteuningsonderwerp maken om geheugen-/CPU-limieten te onderzoeken en in te schakelen. Dit kan helpen bij het oplossen van problemen met schaalbeperkingen die sommige klanten eerder hebben aangetroffen, waardoor OOMKilled-uitzonderingen werden veroorzaakt.

    Besturingssysteem Controllernaam Standaardlimieten
    Linux ds-cpu-limit-linux 500m
    Linux ds-memory-limit-linux 750Mi
    Linux rs-cpu-limit 1
    Linux rs-memory-limit 1.5Gi
    Windows ds-cpu-limit-windows 500m
    Windows ds-memory-limit-windows 1Gi
  3. Resources opschonen van vorige onboarding:

    Als u eerder onboarding hebt uitgevoerd met behulp van helm-grafiek :

    Vermeld alle releases in naamruimten met de volgende opdracht:

     helm list --all-namespaces
    

    Schoon de grafiek op die is geïnstalleerd voor Container Insights met de volgende opdracht:

    helm uninstall <releaseName> --namespace <Namespace>
    

    Als u eerder onboarding hebt uitgevoerd met behulp van yaml-implementatie :

    Download het vorige yaml-bestand voor aangepaste implementatie met de volgende opdracht:

    curl -LO raw.githubusercontent.com/microsoft/Docker-Provider/ci_dev/kubernetes/omsagent.yaml
    

    Schoon de oude omsagent-grafiek op met de volgende opdracht:

    kubectl delete -f omsagent.yaml
    
  4. Containerinzichten uitschakelen om alle gerelateerde resources op te schonen met behulp van de richtlijnen bij Container insights uitschakelen in uw Kubernetes-cluster

  5. Onboarden naar Container Insights met behulp van de richtlijnen bij Container insights inschakelen in uw Kubernetes-cluster

Volgende stappen

Als u problemen ondervindt bij het upgraden van de agent, raadpleegt u de gids voor probleemoplossing voor ondersteuning.