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 relativi alle metriche di Prometheus sui cluster Amazon e Kubernetes EKS
Questa sezione fornisce assistenza per la risoluzione dei problemi di configurazione delle metriche Prometheus sui cluster Amazon e Kubernetes. EKS
Procedure generali di risoluzione dei problemi su Amazon EKS
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-
nella colonna id
NAME
e Running
nel campo STATUS
column.
Per visualizzare i dettagli sul pod in esecuzione, immetti il seguente comando. Replace (Sostituisci) pod-name
con il nome completo del pod il cui nome inizia concw-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
https://console.aws.amazon.com/cloudwatch/
Apri la console all'indirizzo. CloudWatch -
Nel riquadro di navigazione, scegli CloudWatch Logs Insights.
-
Seleziona il gruppo di log per i log dell'applicazione, /aws/containerinsights/
cluster-name
/applicazione -
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 andkubernetes.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
Apri CloudWatch https://console.aws.amazon.com/cloudwatch/
la console all'indirizzo. -
Nel riquadro di navigazione, scegli CloudWatch Logs Insights.
-
Seleziona /aws/containerinsights/
cluster-name
/prometeo -
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
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
-
Imposta l' CloudWatch agente in modalità debug aggiungendo le seguenti righe in grassetto al file
prometheus-eks.yaml
orprometheus-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": {
-
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
-
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/ CloudWatch
cluster_name
/applicazione.Per eseguire una query su questi registri, è possibile seguire la procedura per eseguire query sui log dell'applicazione in Procedure generali di risoluzione dei problemi su Amazon EKS.
Dove vengono inserite le metriche di Prometheus come eventi di log log? CloudWatch
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-envoyaws/containerinsights/cluster-name/Prometheus
Non vedo le metriche di Amazon EKS o Kubernetes Prometheus nelle metriche CloudWatch
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 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
config map: cwagent-prometheus
sezione del file agente siano corrette. CloudWatch YAML La configurazione dovrebbe essere la stessa di un file di configurazione di Prometheus. Per ulteriori informazioni, vedere <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.
Se non è presente un formato metrico incorporato negli eventi di registro, verifica che la metric_declaration
sezione sia configurata correttamente nella sezione del file di installazione dell'agente. config
map: prometheus-cwagentconfig
CloudWatch YAML Per ulteriori informazioni, consulta Tutorial per aggiungere un nuovo target di scrape Prometheus: Prometheus Server metrics API.