Condividi tramite


Gestire l'agente di Container Insights

Informazioni dettagliate contenitore usa una versione in contenitori dell'agente di Log Analytics per Linux. Dopo la distribuzione iniziale, potrebbe essere necessario eseguire attività di routine o facoltative durante il ciclo di vita. Questo articolo contiene spiega come aggiornare l'agente manualmente e disabilitare la raccolta di variabili di ambiente da un contenitore specifico.

Nota

Se è già stato distribuito un cluster del servizio Azure Kubernetes e il monitoraggio è stato abilitato tramite l'interfaccia della riga di comando di Azure o un modello di Resource Manager, non è possibile usare kubectl per aggiornare, eliminare, ridistribuire o distribuire l'agente. Il modello deve essere distribuito nello stesso gruppo di risorse del cluster.

Aggiornare l'agente di Informazioni dettagliate contenitore

Informazioni dettagliate contenitore usa una versione in contenitori dell'agente di Log Analytics per Linux. Quando viene rilasciata una nuova versione dell'agente, questo viene aggiornato automaticamente nei cluster Kubernetes gestiti ospitati nel servizio Azure Kubernetes (AKS) e in Kubernetes abilitato per Azure Arc.

Se l'aggiornamento dell'agente non viene completato per un cluster ospitato nel servizio Azure Kubernetes, questo articolo descrive anche il processo di aggiornamento manuale dell'agente. Per seguire le versioni rilasciate, consultare gli annunci relativi alla versione dell'agente.

Aggiornare l'agente in un cluster del servizio Azure Kubernetes

La procedura di aggiornamento dell'agente in un cluster del servizio Azure Kubernetes prevede due passaggi. Il primo passaggio consiste nel disabilitare il monitoraggio con Informazioni dettagliate contenitore tramite l'interfaccia della riga di comando di Azure. Seguire la procedura descritta nell’articolo Disabilitare Informazioni dettagliate contenitore nel cluster Kubernetes. È possibile usare l'interfaccia della riga di comando di Azure per rimuovere l'agente dai nodi del cluster senza conseguenze per la soluzione e i dati corrispondenti archiviati nell'area di lavoro.

Nota

Durante l'esecuzione di questa attività di manutenzione, i nodi del cluster non inoltrano i dati raccolti. Le visualizzazioni delle prestazioni non mostreranno i dati nell’intervallo di tempo che intercorre tra la rimozione dell’agente e l’installazione della nuova versione.

Il secondo passaggio consiste nell'installare la nuova versione dell'agente. Seguire la procedura descritta in Abilitare il monitoraggio tramite l'interfaccia della riga di comando di Azure per completare questo processo.

Dopo aver riabilitato il monitoraggio, possono essere necessari circa 15 minuti prima di poter visualizzare le metriche di integrità aggiornate per il cluster. Per verificare che l'aggiornamento dell'agente sia stato completato, sono disponibili due metodi:

  • Eseguire il comando kubectl get pod <ama-logs-agent-pod-name> -n kube-system -o=jsonpath='{.spec.containers[0].image}'. Nello stato restituito prendere nota del valore in Immagine per l’agente di Monitoraggio di Azure nella sezione Contenitori dell'output.
  • Nella scheda Nodi selezionare il nodo del cluster. Nel riquadro Proprietà a destra prendere nota del valore in Tag immagine agente.

La versione dell'agente visualizzata deve corrispondere alla versione più recente elencata nella pagina Cronologia delle versioni.

Aggiornare l'agente in un cluster Kubernetes ibrido

Seguire questa procedura per aggiornare l'agente in un cluster Kubernetes in esecuzione in:

  • Cluster Kubernetes autogestiti ospitati in Azure con il motore del servizio Azure Kubernetes.
  • Cluster Kubernetes autogestiti ospitati in Azure Stack o in locale con il motore del servizio Azure Kubernetes.

Se l'area di lavoro Log Analytics è in Azure commerciale, eseguire questo comando:

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

Se l'area di lavoro Log Analytics è in Microsoft Azure gestito da 21Vianet, eseguire il comando seguente:

$ 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

Se l'area di lavoro Log Analytics è in Azure US Gov, eseguire questo comando:

$ 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

Disabilitare la raccolta delle variabili di ambiente in un contenitore

Informazioni dettagliate contenitore raccoglie le variabili di ambiente dai contenitori in esecuzione in un pod e le presenta nel riquadro delle proprietà del contenitore selezionato nella visualizzazione Contenitori. È possibile controllare questo comportamento disabilitando la raccolta per un contenitore specifico durante la distribuzione del cluster Kubernetes oppure successivamente, impostando la variabile di ambiente AZMON_COLLECT_ENV. Questa funzionalità è disponibile dalla versione dell'agente ciprod11292018 e successive.

Per disabilitare la raccolta di variabili di ambiente in un contenitore nuovo o esistente, impostare la variabile AZMON_COLLECT_ENV con un valore False nel file di configurazione YAML della distribuzione Kubernetes.

- name: AZMON_COLLECT_ENV  
  value: "False"  

Eseguire il comando seguente per applicare la modifica ad altri cluster Kubernetes diversi da Azure Red Hat OpenShift: kubectl apply -f <path to yaml file>. Per modificare ConfigMap e applicare la modifica ai cluster Azure Red Hat OpenShift, eseguire il comando seguente:

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

Questo comando apre l'editor di testo predefinito. Dopo l'impostazione della variabile, salvare il file nell'editor.

Per verificare che la modifica della configurazione sia stata applicata, selezionare un contenitore nella visualizzazione Contenitori in Informazioni dettagliate contenitore. Nel riquadro delle proprietà espandere Variabili di ambiente. La sezione dovrebbe mostrare solo la variabile creata in precedenza, ovvero AZMON_COLLECT_ENV=FALSE. Per tutti gli altri contenitori, la sezione Variabili di ambiente dovrebbe elencare tutte le variabili di ambiente individuate.

Per riabilitare l'individuazione delle variabili di ambiente, applicare la stessa procedura usata in precedenza e modificare il valore da False a True. Eseguire quindi di nuovo il comando kubectl per aggiornare il contenitore.

- name: AZMON_COLLECT_ENV  
  value: "True"  

Aggiornamento semantico della versione dell'agente di Container Insights

Informazioni dettagliate contenitore ha spostato la versione dell'immagine e la convenzione di denominazione in [formato semver] (https://semver.org/). SemVer aiuta gli sviluppatori a tenere traccia di ogni modifica apportata al software durante la fase di sviluppo e garantisce che il controllo delle versioni del software sia coerente e significativo. La versione precedente era in formato ciprod<timestamp>-<commitId> e win-ciprod<timestamp>-<commitId>. Le prime versioni dell'immagine che usano il formato Semver sono 3.1.4 per Linux e win-3.1.4 per Windows.

Semver è uno schema di controllo delle versioni software universale definito nel formato MAJOR. MINOR. PATCH, che segue i vincoli seguenti:

  1. Incrementare la versione MAJOR quando si apportano modifiche API incompatibili.
  2. Incrementare la versione MINOR quando si aggiungono funzionalità in modo compatibile con le versioni precedenti.
  3. Incrementare la versione PATCH quando si apportano correzioni di bug compatibili con le versioni precedenti.

Con la diffusione di Kubernetes e dell'ecosistema OSS, Informazioni dettagliate contenitore è stato migrato per usare l'immagine Semver seguendo lo standard K8s consigliato, in base a cui con ogni versione secondaria introdotta, tutte le modifiche di rilievo devono necessariamente essere documentate pubblicamente per ogni nuova versione di Kubernetes.

Riparare gli agenti duplicati

Se Informazioni dettagliate contenitore è stato abilitato manualmente usando metodi personalizzati prima dell’ottobre 2022, è possibile che siano presenti più versioni dell'agente in esecuzione contemporaneamente. Seguire questa procedura per cancellare i duplicati.

  1. Raccogliere i dettagli di tutte le impostazioni personalizzate, ad esempio i limiti di memoria e CPU nei contenitori omsagent.

  2. Esaminare i limiti predefiniti delle risorse per ama-logs e determinare se soddisfano le proprie esigenze. In caso contrario, potrebbe essere necessario creare un argomento di supporto per analizzare e alternare i limiti di memoria/CPU. Questo può aiutare a risolvere i problemi di limiti di scalabilità riscontrati in precedenza da alcuni clienti che hanno generato eccezioni OOMKilled.

    Sistema operativo Nome controller Limiti predefiniti
    Linux ds-cpu-limit-linux 500 m
    Linux ds-memory-limit-linux 750Mi
    Linux rs-cpu-limit 1
    Linux rs-memory-limit 1.5Gi
    Finestre ds-cpu-limit-windows 500 m
    Finestre ds-memory-limit-windows 1Gi
  3. Pulire le risorse dall'onboarding precedente:

    Se in precedenza l'onboarding è stato eseguito con il grafico Helm :

    Elencare tutte le versioni tra gli spazi dei nomi con il comando seguente:

     helm list --all-namespaces
    

    Pulire il grafico installato per Informazioni dettagliate contenitore con il comando seguente:

    helm uninstall <releaseName> --namespace <Namespace>
    

    Se in precedenza l'onboarding è stato eseguito con la distribuzione YAML :

    Scaricare il file YAML della distribuzione personalizzata precedente con il comando seguente:

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

    Pulire il grafico omsagent precedente con il comando seguente:

    kubectl delete -f omsagent.yaml
    
  4. Disabilitare Informazioni dettagliate contenitore per pulire tutte le risorse correlate seguendo le indicazioni disponibili in Disabilitare Informazioni dettagliate contenitore nel cluster Kubernetes

  5. Eseguire di nuovo l’onboarding di Informazioni dettagliate contenitore seguendo le indicazioni disponibili in Abilitare Informazioni dettagliate contenitore nel cluster Kubernetes

Passaggi successivi

Se si verificano problemi durante l'aggiornamento dell'agente, consultare la guida risoluzione dei problemi per assistenza.