

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Registrazione e monitoraggio su Amazon EKS
<a name="amazon-eks-logging-monitoring"></a>

Amazon Elastic Kubernetes Service (Amazon EKS) si CloudWatch integra con Logs per il piano di controllo Kubernetes. Il piano di controllo viene fornito come servizio gestito da Amazon EKS e puoi [attivare la registrazione senza installare un CloudWatch agente](https://docs.aws.amazon.com//eks/latest/userguide/control-plane-logs.html). L' CloudWatch agente può anche essere distribuito per acquisire i log dei nodi e dei container di Amazon EKS. [Fluent Bit e Fluentd](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-logs.html) sono supportati anche per l'invio dei log dei container a Logs. CloudWatch 

CloudWatch Container Insights fornisce una soluzione completa di monitoraggio delle metriche per Amazon EKS a livello di cluster, nodo, pod, task e servizio. Amazon EKS supporta anche diverse opzioni per l'acquisizione di metriche con [Prometheus](https://prometheus.io/). Il piano di controllo di Amazon EKS [fornisce un endpoint di metriche](https://docs.aws.amazon.com//eks/latest/userguide/prometheus.html) che espone le metriche in un formato Prometheus. Puoi implementare Prometheus nel tuo cluster Amazon EKS per utilizzare questi parametri. 

Puoi anche [configurare l' CloudWatch agente per acquisire le metriche di Prometheus e CloudWatch creare metriche, oltre a utilizzare altri endpoint Prometheus](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup-configure.html). Il [monitoraggio di Container Insights per Prometheus](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus.html) può anche rilevare e acquisire automaticamente le metriche di Prometheus da carichi di lavoro e sistemi containerizzati supportati. 

Puoi installare e configurare l' CloudWatch agente sui tuoi nodi Amazon EKS, in modo simile all'approccio utilizzato per Amazon EC2 con Distributor e State Manager, per allineare i nodi Amazon EKS alle configurazioni standard di registrazione e monitoraggio del sistema.

# Registrazione per Amazon EKS
<a name="kubernetes-eks-logging"></a>

La registrazione di Kubernetes può essere suddivisa in registrazione del piano di controllo, registrazione dei nodi e registrazione delle applicazioni. Il [piano di controllo Kubernetes](https://kubernetes.io/docs/concepts/overview/components/#control-plane-components) è un insieme di componenti che gestiscono i cluster Kubernetes e producono log utilizzati per scopi di controllo e diagnostica. Con Amazon EKS, puoi [attivare i log per diversi componenti del piano di controllo](https://docs.aws.amazon.com//eks/latest/userguide/control-plane-logs.html) e inviarli a CloudWatch. 

Kubernetes esegue anche componenti di sistema come `kubelet` e `kube-proxy` su ogni nodo Kubernetes che esegue i tuoi pod. Questi componenti scrivono i log all'interno di ogni nodo e puoi configurare CloudWatch Container Insights per acquisire questi log per ogni nodo Amazon EKS. 

I container sono raggruppati come [pod](https://kubernetes.io/docs/concepts/workloads/pods/) all'interno di un cluster Kubernetes e sono programmati per essere eseguiti sui tuoi nodi Kubernetes. La maggior parte delle applicazioni containerizzate scrive su standard output e standard error e il motore del contenitore reindirizza l'output a un driver di registrazione. In Kubernetes, i log del contenitore si trovano nella directory di un nodo. `/var/log/pods` Puoi configurare CloudWatch Container Insights per acquisire questi log per ciascuno dei tuoi pod Amazon EKS. 

## Logging del piano di controllo di Amazon EKS
<a name="eks-control-plane-logging"></a>

Un cluster Amazon EKS è costituito da un piano di controllo single-tenant ad alta disponibilità per il cluster Kubernetes e i nodi Amazon EKS che eseguono i container. I nodi del piano di controllo vengono eseguiti in un account gestito da. AWS I nodi del piano di controllo del cluster Amazon EKS sono integrati con CloudWatch e puoi attivare la registrazione per componenti specifici del piano di controllo.

I log vengono forniti per ogni istanza del componente del piano di controllo Kubernetes. AWS gestisce lo stato dei nodi del piano di controllo e fornisce un [accordo sul livello di servizio (SLA](https://aws.amazon.com//eks/sla/)) per l'endpoint Kubernetes.

## Registrazione di nodi e applicazioni Amazon EKS
<a name="eks-node-application-logging"></a>

Ti consigliamo di utilizzare [CloudWatchContainer Insights](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs.html) per acquisire log e metriche per Amazon EKS. Container Insights implementa metriche a livello di cluster, nodo e pod con l' CloudWatch agente e Fluent Bit o Fluentd per l'acquisizione dei log. CloudWatch Container Insights fornisce anche dashboard automatici con viste a più livelli delle metriche acquisite. CloudWatch Container Insights viene distribuito come CloudWatch DaemonSet Fluent Bit DaemonSet che viene eseguito su ogni nodo Amazon EKS. I nodi Fargate non sono supportati da Container Insights perché i nodi sono gestiti AWS e non supportano. DaemonSets La registrazione di Fargate per Amazon EKS è trattata separatamente in questa guida. 

 La tabella seguente mostra i gruppi di CloudWatch log e i log acquisiti dalla [configurazione di acquisizione dei log predefinita di Fluentd o Fluent Bit per Amazon](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs-FluentBit.html) EKS.


|  |  | 
| --- |--- |
| /aws/containerinsights/Cluster\$1Name/application | Tutti i file di log inseriti. /var/log/containers Questa directory fornisce collegamenti simbolici a tutti i log dei contenitori Kubernetes nella struttura delle cartelle. /var/log/pods Questo cattura i log del contenitore dell'applicazione che scrivono su o. stdout stderr Include anche i log per i contenitori del sistema Kubernetes come, e. aws-vpc-cni-init kube-proxy coreDNS  | 
| /aws/containerinsights/Cluster\$1Name/host | Registri da, e. /var/log/dmesg /var/log/secure /var/log/messages | 
| /aws/containerinsights/Cluster\$1Name/dataplane | I log in /var/log/journal per kubelet.service kubeproxy.service e docker.service. | 

Se non desideri utilizzare Container Insights con Fluent Bit o Fluentd per la registrazione, puoi acquisire i log dei nodi e dei container con l'agente CloudWatch installato sui nodi Amazon EKS. I nodi Amazon EKS sono istanze EC2, il che significa che dovresti includerli nel tuo approccio di registrazione standard a livello di sistema per Amazon EC2. Se installi l' CloudWatch agente utilizzando Distributor e State Manager, i nodi Amazon EKS vengono inclusi anche nell'installazione, nella configurazione e nell'aggiornamento dell' CloudWatch agente. 

La tabella seguente mostra i log specifici di Kubernetes e che devi acquisire se non utilizzi Container Insights con Fluent Bit o Fluentd per la registrazione.


|  |  | 
| --- |--- |
| /var/log/containers | Questa directory fornisce collegamenti simbolici a tutti i log dei contenitori Kubernetes all'interno della struttura di directory. /var/log/pods Questo cattura efficacemente i log del contenitore dell'applicazione che scrivono su o. stdout stderr Ciò include i log per i contenitori del sistema Kubernetes come, e. aws-vpc-cni-init kube-proxy coreDNS Importante: questo non è necessario se si utilizza Container Insights. | 
| var/log/aws-routed-eni/ipamd.log/var/log/aws-routed-eni/plugin.log | I log del demone L-IPAM sono disponibili qui | 

Devi assicurarti che i nodi Amazon EKS installino e configurino l' CloudWatch agente per inviare log e parametri appropriati a livello di sistema. Tuttavia, l'AMI ottimizzata per Amazon EKS non include l'agente Systems Manager. Utilizzando i [modelli di avvio](https://docs.aws.amazon.com//eks/latest/userguide/launch-templates.html), puoi automatizzare l'installazione dell'agente Systems Manager e una CloudWatch configurazione predefinita che acquisisce importanti log specifici di Amazon EKS con uno script di avvio implementato tramite la sezione dati utente. I nodi Amazon EKS vengono distribuiti utilizzando un gruppo Auto Scaling come gruppo di [nodi gestiti o [come](https://docs.aws.amazon.com//eks/latest/userguide/worker.html) nodi](https://docs.aws.amazon.com//eks/latest/userguide/managed-node-groups.html) autogestiti.

Con i gruppi di nodi gestiti, si fornisce un [modello di avvio](https://docs.aws.amazon.com//eks/latest/userguide/launch-templates.html) che include la sezione dei dati utente per automatizzare l'installazione e la CloudWatch configurazione dell'agente Systems Manager. Puoi personalizzare e utilizzare il modello [amazon\$1eks\$1managed\$1node\$1group\$1launch\$1config.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/eks/amazon_eks_managed_node_group_launch_config.yaml) per creare un CloudFormation modello di avvio che installa l'agente e l'agente di Systems Manager e aggiunge anche una configurazione di registrazione specifica di Amazon EKS alla directory di configurazione. CloudWatch CloudWatch Questo modello può essere utilizzato per aggiornare il modello di lancio dei gruppi di nodi gestiti Amazon EKS con un approccio infrastructure-as-code (IaC). Ogni aggiornamento del CloudFormation modello fornisce una nuova versione del modello di lancio. È quindi possibile aggiornare il gruppo di nodi per utilizzare la nuova versione del modello e fare in modo che il [processo del ciclo di vita gestito](https://docs.aws.amazon.com//eks/latest/userguide/managed-node-update-behavior.html) aggiorni i nodi senza tempi di inattività. Assicurati che il ruolo e il profilo di istanza IAM applicati al tuo gruppo di nodi gestiti includano le policy `CloudWatchAgentServerPolicy` gestite `AmazonSSMManagedInstanceCore` AWS . 

Con i nodi autogestiti, esegui il provisioning e gestisci direttamente il ciclo di vita e la strategia di aggiornamento per i tuoi nodi Amazon EKS. [I nodi autogestiti consentono di eseguire nodi Windows sul cluster Amazon EKS e su [Bottlerocket](https://aws.amazon.com//bottlerocket/), insieme ad altre opzioni.](https://docs.aws.amazon.com//eks/latest/userguide/eks-compute.html) Puoi utilizzarli CloudFormation per distribuire nodi autogestiti nei tuoi cluster Amazon EKS, il che significa che puoi utilizzare un approccio IaC e di modifica gestita per i tuoi cluster Amazon EKS. AWS fornisce il [amazon-eks-nodegroup CloudFormation modello.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/eks/amazon-eks-nodegroup.yaml) che puoi usare così com'è o personalizzare. Il modello fornisce tutte le risorse necessarie per i nodi Amazon EKS in un cluster (ad esempio, un ruolo IAM separato, un gruppo di sicurezza, un gruppo Amazon EC2 Auto Scaling e un modello di lancio). Il [amazon-eks-nodegroupmodello.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/eks/amazon-eks-nodegroup.yaml) è CloudFormation una versione aggiornata che installa l'agente e l'agente Systems Manager richiesti e aggiunge anche una configurazione di registrazione specifica di Amazon EKS alla directory di configurazione. CloudWatch CloudWatch 

## Registrazione per Amazon EKS su Fargate
<a name="eks-fargate-logging"></a>

Con Amazon EKS su Fargate, puoi distribuire i pod senza allocare o gestire i nodi Kubernetes. Ciò elimina la necessità di acquisire log a livello di sistema per i nodi Kubernetes. Per acquisire i log dai tuoi pod Fargate, puoi utilizzare Fluent Bit per inoltrare i log direttamente a. CloudWatch Ciò consente di indirizzare automaticamente i log verso Fargate CloudWatch senza ulteriori configurazioni o un contenitore laterale per i pod Amazon EKS. Per ulteriori informazioni su questo argomento, consulta la [registrazione di Fargate nella documentazione di](https://docs.aws.amazon.com//eks/latest/userguide/fargate-logging.html) Amazon EKS e [Fluent Bit per Amazon EKS](https://aws.amazon.com//blogs/containers/fluent-bit-for-amazon-eks-on-aws-fargate-is-here/) nel blog. AWS Questa soluzione acquisisce i flussi `STDOUT` and `STDERR` input/output (I/O) dal contenitore e li invia CloudWatch tramite Fluent Bit, in base alla configurazione Fluent Bit stabilita per il cluster Amazon EKS su Fargate. 

# Metriche per Amazon EKS e Kubernetes
<a name="kubernetes-eks-metrics"></a>

Kubernetes fornisce un'API di metrica che consente di accedere ai parametri di utilizzo delle risorse (ad esempio, utilizzo della CPU e della memoria per nodi e pod), ma l'API fornisce solo informazioni e non metriche storiche. point-in-time [Il server dei parametri [Kubernetes viene in genere utilizzato per le implementazioni di Amazon EKS](https://github.com/kubernetes-sigs/metrics-server) e Kubernetes per aggregare metriche, fornire informazioni storiche a breve termine sulle metriche e supportare funzionalità come Horizontal Pod Autoscaler.](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) 

Amazon EKS espone i parametri del piano di controllo tramite il server API Kubernetes in [un formato Prometheus e può acquisire e assimilare](https://docs.aws.amazon.com//eks/latest/userguide/prometheus.html) questi parametri. CloudWatch CloudWatch e Container Insights possono anche essere configurati per fornire metriche complete di acquisizione, analisi e allarmi per i nodi e i pod Amazon EKS. 

## Metriche del piano di controllo Kubernetes
<a name="kubernetes-control-plane-metrics"></a>

Kubernetes espone le metriche del piano di controllo in un formato Prometheus utilizzando l'endpoint dell'API HTTP. `/metrics` È necessario installare [Prometheus](https://prometheus.io/) nel cluster Kubernetes per rappresentare graficamente e visualizzare queste metriche con un browser Web. Puoi anche importare le [metriche esposte dal server dell'API Kubernetes in](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup-configure.html#ContainerInsights-Prometheus-Setup-new-exporters). CloudWatch

## Metriche di nodi e sistemi per Kubernetes
<a name="kubernetes-node-system-metrics"></a>

Kubernetes fornisce il pod Prometheus [metrics-server](https://github.com/kubernetes-sigs/metrics-server) che puoi [distribuire ed eseguire sui tuoi cluster Kubernetes per statistiche di CPU e memoria a livello di cluster, nodo e](https://docs.aws.amazon.com//eks/latest/userguide/metrics-server.html) pod. [Queste metriche vengono utilizzate con Horizontal Pod [Autoscaler e](https://docs.aws.amazon.com/eks/latest/userguide/vertical-pod-autoscaler.html) Vertical Pod Autoscaler.](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) CloudWatch può anche fornire queste metriche. 

È necessario installare Kubernetes Metrics Server se si utilizza la [dashboard di Kubernetes o le scaler automatiche a pod orizzontali](https://github.com/kubernetes/dashboard) e verticali. La dashboard Kubernetes ti aiuta a sfogliare e configurare il cluster Kubernetes, i nodi, i pod e la relativa configurazione e a visualizzare le metriche di CPU e memoria dal Kubernetes Metrics Server.

Le metriche fornite dal Kubernetes Metrics Server non possono essere utilizzate per scopi non di scalabilità automatica (ad esempio, il monitoraggio). Le metriche sono destinate all'analisi e non all'analisi storica. point-in-time La dashboard di Kubernetes implementa le metriche `dashboard-metrics-scraper` per archiviare le metriche dal Kubernetes Metrics Server per un breve periodo di tempo. 

Container Insights utilizza una versione containerizzata dell' CloudWatch agente che viene eseguita in un DaemonSet Kubernetes per scoprire tutti i container in esecuzione in un cluster e fornire metriche a livello di nodo. Raccoglie dati sulle prestazioni a ogni livello dello stack di prestazioni. Puoi utilizzare il Quick Start di Quick Starts o configurare Container Insights separatamente. AWS Quick Start imposta il monitoraggio delle metriche con l' CloudWatch agente e la registrazione con Fluent Bit, quindi è necessario implementarlo una sola volta per la registrazione e il monitoraggio. 

Poiché i nodi Amazon EKS sono istanze EC2, è necessario acquisire parametri a livello di sistema, oltre ai parametri acquisiti da Container Insights, utilizzando gli standard definiti per Amazon EC2. Puoi utilizzare lo stesso approccio descritto nella [Configura State Manager and Distributor per CloudWatch la distribuzione e la configurazione degli agenti](install-cloudwatch-systems-manager.md#set-up-systems-manager-distributor) sezione di questa guida per installare e configurare l' CloudWatch agente per i tuoi cluster Amazon EKS. Puoi aggiornare il tuo file di CloudWatch configurazione specifico di Amazon EKS per includere i parametri e la configurazione di log specifica di Amazon EKS. 

[L' CloudWatch agente con supporto Prometheus può rilevare ed estrarre automaticamente le metriche di Prometheus dai carichi di lavoro e dai sistemi containerizzati supportati.](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus.html) Li inserisce come CloudWatch log in formato metrico incorporato per l'analisi con Logs Insights e crea automaticamente le metriche. CloudWatch CloudWatch

**Importante**  
È necessario [implementare una versione specializzata](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup.html#ContainerInsights-Prometheus-Setup-install-agent) dell' CloudWatch agente per raccogliere le metriche di Prometheus. Si tratta di un agente separato dall'agente distribuito per Container Insights CloudWatch . Puoi utilizzare l'applicazione Java di esempio [prometheus\$1jmx](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/tree/main/examples/eks/prometheus_jmx), che include i file di distribuzione e configurazione per l'agente CloudWatch e la distribuzione del pod Amazon EKS, per dimostrare la scoperta delle metriche di Prometheus. Per ulteriori informazioni, consulta [Configurare un carico di lavoro di Java/JMX esempio su Amazon EKS e Kubernetes](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Sample-Workloads-javajmx.html) nella documentazione. CloudWatch Puoi anche configurare l' CloudWatch agente per acquisire metriche da altri target Prometheus in esecuzione nel tuo cluster Amazon EKS.

## Parametri di applicazione
<a name="application-metrics-eks"></a>

Puoi creare metriche personalizzate con il formato metrico [CloudWatchincorporato](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html). Per importare istruzioni in formato metrico incorporato, è necessario inviare voci in formato metrico incorporato a un endpoint in formato metrico incorporato. L' CloudWatch agente può essere configurato come [contenitore sidecar nel tuo pod Amazon EKS](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Generation_CloudWatch_Agent.html). La configurazione dell' CloudWatch agente viene archiviata come Kubernetes ConfigMap e letta dal contenitore sidecar CloudWatch dell'agente per avviare l'endpoint in formato metrico incorporato.

Puoi anche configurare la tua applicazione come target Prometheus e configurare l' CloudWatchagente, con il supporto di Prometheus, per scoprire, acquisire e inserire le tue metriche. CloudWatch Ad esempio, è possibile utilizzare l'[esportatore JMX open source con le applicazioni Java](https://github.com/prometheus/jmx_exporter) per esporre JMX Beans per l'utilizzo di Prometheus da parte dell'agente. CloudWatch 

[https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/Welcome.html](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/Welcome.html) Tuttavia, non consigliamo questo approccio perché combina il monitoraggio e la logica dell'applicazione.

## Metriche per Amazon EKS su Fargate
<a name="metrics-fargate-eks-workloads"></a>

Fargate effettua automaticamente il provisioning dei nodi Amazon EKS per eseguire i pod Kubernetes in modo da non dover monitorare e raccogliere parametri a livello di nodo. Tuttavia, è necessario monitorare i parametri per i pod in esecuzione sui nodi Amazon EKS su Fargate. Container Insights non è attualmente disponibile per Amazon EKS su Fargate perché richiede le seguenti funzionalità che attualmente non sono supportate:
+ DaemonSets non sono attualmente supportati. Container Insights viene distribuito eseguendo l' CloudWatch agente come se fosse DaemonSet su ogni nodo del cluster.
+ HostPath i volumi persistenti non sono supportati. Il contenitore dell' CloudWatch agente utilizza i volumi persistenti HostPath come prerequisito per la raccolta dei dati metrici del contenitore. 
+ Fargate impedisce ai container privilegiati e all'accesso alle informazioni dell'host.

È possibile utilizzare il [router di registro integrato per Fargate per inviare istruzioni](https://docs.aws.amazon.com//eks/latest/userguide/fargate-logging.html) in formato metrico incorporato a. CloudWatch Il log router utilizza Fluent Bit, che dispone di un CloudWatch plug-in che può essere configurato per supportare istruzioni in formato metrico incorporate.

Puoi recuperare e acquisire parametri a livello di pod per i tuoi nodi Fargate implementando il server Prometheus nel tuo cluster Amazon EKS per raccogliere i parametri dai tuoi nodi Fargate. Poiché Prometheus richiede uno storage persistente, puoi distribuire Prometheus su Fargate se utilizzi Amazon Elastic File System (Amazon EFS) per lo storage persistente. Puoi anche distribuire Prometheus su un nodo supportato da Amazon EC2. Per ulteriori informazioni, consulta [Monitoring Amazon EKS sull' AWS Fargate uso di Prometheus e](https://aws.amazon.com//blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) Grafana sul blog. AWS 