

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à.

# Risoluzione dei problemi dei parametri Prometheus sui cluster Amazon EKS e Kubernetes
<a name="ContainerInsights-Prometheus-troubleshooting-EKS"></a>

Questa sezione offre informazioni sulla risoluzione dei problemi relativi all'impostazione dei parametri di Prometheus su cluster Amazon EKS e Kubernetes. 

## Procedura per la risoluzione dei problemi su Amazon EKS
<a name="ContainerInsights-Prometheus-troubleshooting-general"></a>

Per confermare che l' CloudWatch agente è in esecuzione, inserisci il seguente comando.

```
kubectl get pod -n amazon-cloudwatch
```

L'output dovrebbe includere una riga con `cwagent-prometheus-id` nella colonna `NAME` e `Running` nel campo `STATUS column.`

Per visualizzare i dettagli sul pod in esecuzione, immetti il seguente comando. Sostituiscilo *pod-name* con il nome completo del pod il cui nome inizia con`cw-agent-prometheus`.

```
kubectl describe pod pod-name -n amazon-cloudwatch
```

Se hai installato CloudWatch Container Insights, puoi utilizzare CloudWatch Logs Insights per interrogare i log dell' CloudWatch agente che raccoglie le metriche di Prometheus.

**Per eseguire query sui log delle applicazioni**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)Apri la console all'indirizzo. CloudWatch 

1. Nel riquadro di navigazione, scegli **CloudWatch Logs Insights.**

1. **Seleziona il gruppo di log per i log dell'applicazione, /aws/containerinsights/ /application *cluster-name***

1. Sostituisci l'espressione di query di ricerca con la query seguente e scegli **Esegui query**

   ```
   fields ispresent(kubernetes.pod_name) as haskubernetes_pod_name, stream, kubernetes.pod_name, log | 
   filter haskubernetes_pod_name and kubernetes.pod_name like /cwagent-prometheus
   ```

Puoi anche confermare che le metriche e i metadati di Prometheus vengano inseriti come eventi di log. CloudWatch 

**Per confermare che i dati di Prometheus vengano ingeriti**

1. Apri CloudWatch [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)la console all'indirizzo.

1. Nel riquadro di navigazione, scegli **CloudWatch Logs Insights.**

1. Seleziona **/aws/containerinsights/ /prometheus *cluster-name***

1. Sostituisci l'espressione di query di ricerca con la query seguente e scegli **Esegui query**

   ```
   fields @timestamp, @message | sort @timestamp desc | limit 20
   ```

## Registrazione dei parametri Prometheus eliminati
<a name="ContainerInsights-Prometheus-troubleshooting-droppedmetrics"></a>

Questa versione non raccoglie i parametri Prometheus di tipo istogramma. Puoi utilizzare l' CloudWatch agente per verificare se alcune metriche di Prometheus vengono eliminate perché si tratta di metriche di istogrammi. Puoi anche registrare un elenco delle prime 500 metriche di Prometheus che vengono eliminate e non CloudWatch inviate a nessuno perché si tratta di metriche di istogrammi.

Per verificare se vengono eliminate le metriche, immetti il seguente comando:

```
kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
```

Se vengono eliminate delle metriche, nel file `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log` verranno visualizzate le seguenti righe.

```
I! Drop Prometheus metrics with unsupported types. Only Gauge, Counter and Summary are supported.
I! Please enable CWAgent debug mode to view the first 500 dropped metrics
```

Se vedi queste righe e vuoi sapere quali metriche vengono eliminate, segui la procedura seguente.

**Per registrare un elenco delle parametri di Prometheus eliminati**

1. Imposta l' CloudWatch agente in modalità debug aggiungendo le seguenti righe in grassetto al file `prometheus-eks.yaml` or `prometheus-k8s.yaml` e salva il file.

   ```
   {
         "agent": {
           "debug": true
         },
   ```

   Questa sezione del file dovrebbe quindi assomigliare a questa:

   ```
   cwagentconfig.json: |
       {
         "agent": {
           "debug": true
         },
         "logs": {
           "metrics_collected": {
   ```

1. Reinstalla l' CloudWatch agente per abilitare la modalità di debug inserendo i seguenti comandi:

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   kubectl apply -f prometheus.yaml
   ```

   Le metriche eliminate vengono registrate nel pod dell'agente. CloudWatch 

1. Per recuperare i log dal contenitore dell' CloudWatch agente, immettete il seguente comando:

   ```
   kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
   ```

   **Oppure, se hai installato la registrazione di Container Insights Fluentd, i log vengono salvati anche nel gruppo di log Logs /aws/containerinsights/ /application. CloudWatch *cluster\$1name***

   Per eseguire una query su questi registri, è possibile seguire la procedura per eseguire query sui log dell'applicazione in [Procedura per la risoluzione dei problemi su Amazon EKS](#ContainerInsights-Prometheus-troubleshooting-general).

## Dove vengono inserite le metriche di Prometheus come eventi di log log? CloudWatch
<a name="ContainerInsights-Prometheus-troubleshooting-metrics_ingested"></a>

L' CloudWatch agente crea un flusso di log per ogni configurazione dello scrape job di Prometheus. Ad esempio, nei file `prometheus-eks.yaml` e `prometheus-k8s.yaml`, la riga `job_name: 'kubernetes-pod-appmesh-envoy'` recupera i parametri App Mesh. Il target di Prometheus è definito come `kubernetes-pod-appmesh-envoy`. **Quindi tutte le metriche di App Mesh Prometheus vengono inserite come eventi di log nel flusso di log nel gruppo di log CloudWatch denominato/. **kubernetes-pod-appmesh-envoy**aws/containerinsights/cluster-name/Prometheus**

## Non vedo i parametri di Amazon EKS o Kubernetes Prometheus nelle metriche CloudWatch
<a name="ContainerInsights-Prometheus-troubleshooting-no-metrics"></a>

**Innanzitutto, assicurati che le metriche di Prometheus vengano inserite come eventi di registro nel gruppo di log/. aws/containerinsights/cluster-name/Prometheus** Utilizzare le informazioni in [Dove vengono inserite le metriche di Prometheus come eventi di log log? CloudWatch](#ContainerInsights-Prometheus-troubleshooting-metrics_ingested) per controllare il flusso di log di destinazione. Se il flusso di log non viene creato o non ci sono nuovi eventi di log nel flusso di log, verificare quanto segue:
+ Verificare che gli endpoint di esportazione delle metriche Prometheus siano impostati correttamente
+ Verifica che le configurazioni di scraping di Prometheus nella sezione del file YAML `config map: cwagent-prometheus` dell'agente siano corrette. CloudWatch La configurazione dovrebbe essere la stessa di un file di configurazione di Prometheus. Per ulteriori informazioni, vedere [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) nella documentazione di Prometheus.

Se le metriche di Prometheus vengono inserite correttamente come eventi di registro, verifica che le impostazioni del formato metrico incorporato vengano aggiunte agli eventi di registro per generare le metriche. CloudWatch 

```
"CloudWatchMetrics":[
   {
      "Metrics":[
         {
            "Name":"envoy_http_downstream_cx_destroy_remote_active_rq"
         }
      ],
      "Dimensions":[
         [
            "ClusterName",
            "Namespace"
         ]
      ],
      "Namespace":"ContainerInsights/Prometheus"
   }
],
```

Per ulteriori informazioni sul formato della metrica incorporata, vedere [Specifica: Embedded Metric Format](CloudWatch_Embedded_Metric_Format_Specification.md).

Se non è presente un formato metrico incorporato negli eventi di registro, verifica che la `metric_declaration` sezione sia configurata correttamente nella sezione del file YAML di installazione dell'agente. `config map: prometheus-cwagentconfig` CloudWatch Per ulteriori informazioni, consulta [Esercitazione per l'aggiunta di nuove destinazioni di scraping di Prometheus: parametri del server API Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).