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à.
Il monitoraggio dell'infrastruttura Amazon Elastic Kubernetes Service è uno degli scenari più comuni per i quali vengono utilizzati Amazon Managed Grafana. Questa pagina descrive un modello che fornisce una soluzione per questo scenario. La soluzione può essere installata utilizzando AWS Cloud Development Kit (AWS CDK)o con Terraform
Questa soluzione configura:
-
Il tuo spazio di lavoro Amazon Managed Service for Prometheus per archiviare le metriche dal tuo cluster EKS Amazon e crea un raccoglitore gestito per analizzare le metriche e inviarle a quell'area di lavoro. Per ulteriori informazioni, consulta Ingest metrics with managed collectors. AWS
-
Raccolta dei log dal tuo EKS cluster Amazon tramite un CloudWatch agente. I log vengono archiviati e interrogati CloudWatch da Amazon Managed Grafana. Per ulteriori informazioni, consulta Logging for Amazon EKS
-
Il tuo spazio di lavoro Amazon Managed Grafana per recuperare i log e le metriche e creare dashboard e avvisi per aiutarti a monitorare il tuo cluster.
L'applicazione di questa soluzione creerà dashboard e avvisi che:
-
Valuta lo stato generale EKS del cluster Amazon.
-
Mostra lo stato e le prestazioni del piano di EKS controllo di Amazon.
-
Mostra lo stato e le prestazioni del piano EKS dati Amazon.
-
Visualizza approfondimenti sui EKS carichi di lavoro Amazon nei namespace Kubernetes.
-
Visualizza l'utilizzo delle risorse in tutti i namespace, incluso l'utilizzo della memoria, del disco e della rete. CPU
Informazioni su questa soluzione
Questa soluzione configura uno spazio di lavoro Amazon Managed Grafana per fornire parametri per il tuo cluster Amazon. EKS Le metriche vengono utilizzate per generare dashboard e avvisi.
Le metriche ti aiutano a gestire EKS i cluster Amazon in modo più efficace fornendo informazioni sullo stato e sulle prestazioni del piano dati e di controllo di Kubernetes. Puoi comprendere il tuo EKS cluster Amazon a livello di nodo, ai pod, fino al livello di Kubernetes, incluso il monitoraggio dettagliato dell'utilizzo delle risorse.
La soluzione offre funzionalità sia preventive che correttive:
-
Le funzionalità anticipatorie includono:
-
Gestisci l'efficienza delle risorse guidando le decisioni di pianificazione. Ad esempio, per fornire prestazioni e affidabilità SLAs agli utenti interni del EKS cluster Amazon, puoi allocare risorse di memoria sufficienti CPU ai loro carichi di lavoro in base al monitoraggio dell'utilizzo cronologico.
-
Previsioni di utilizzo: in base all'utilizzo attuale delle risorse del EKS cluster Amazon come nodi, volumi persistenti supportati da Amazon o Application Load Balancers EBS, puoi pianificare in anticipo, ad esempio, un nuovo prodotto o progetto con richieste simili.
-
Individua tempestivamente potenziali problemi: ad esempio, analizzando le tendenze del consumo di risorse a livello di namespace Kubernetes, puoi comprendere la stagionalità dell'utilizzo del carico di lavoro.
-
-
Le funzionalità correttive includono:
-
Riduci il tempo medio di rilevamento (MTTD) dei problemi sull'infrastruttura e sul livello di carico di lavoro Kubernetes. Ad esempio, esaminando la dashboard per la risoluzione dei problemi, puoi testare rapidamente le ipotesi su cosa è andato storto ed eliminarle.
-
Determina in quale parte dello stack si è verificato un problema. Ad esempio, il piano di EKS controllo di Amazon è completamente gestito da AWS e alcune operazioni come l'aggiornamento di una distribuzione Kubernetes potrebbero non riuscire se il API server è sovraccarico o la connettività è compromessa.
-
L'immagine seguente mostra un esempio della cartella dashboard per la soluzione.

Puoi scegliere una dashboard per visualizzare maggiori dettagli, ad esempio, scegliendo di visualizzare le risorse di elaborazione per i carichi di lavoro, verrà visualizzata una dashboard, come quella mostrata nell'immagine seguente.

Le metriche vengono elaborate con un intervallo di raschiatura di 1 minuto. I dashboard mostrano le metriche aggregate a 1 minuto, 5 minuti o più, in base alla metrica specifica.
I log vengono visualizzati anche nelle dashboard, in modo da poter interrogare e analizzare i log per trovare le cause principali dei problemi. L'immagine seguente mostra un pannello di controllo dei log.

Per un elenco delle metriche tracciate da questa soluzione, consulta. Elenco delle metriche tracciate
Per un elenco degli avvisi creati dalla soluzione, consulta. Elenco degli avvisi creati
Costi
Questa soluzione crea e utilizza risorse nell'area di lavoro. Ti verrà addebitato l'utilizzo standard delle risorse create, tra cui:
-
Accesso agli spazi di lavoro Amazon Managed Grafana da parte degli utenti. Per ulteriori informazioni sui prezzi, consulta i prezzi di Amazon Managed Grafana
. -
Inserimento e archiviazione delle metriche di Amazon Managed Service for Prometheus, incluso l'uso del raccoglitore agentless di Amazon Managed Service for Prometheus e l'analisi metrica (elaborazione di esempi di query). Il numero di parametri utilizzati da questa soluzione dipende dalla configurazione e dall'utilizzo del EKS cluster Amazon.
Puoi visualizzare i parametri di ingestione e archiviazione in Amazon Managed Service for Prometheus utilizzando Per CloudWatch ulteriori informazioni, consulta i parametri CloudWatchnella Guida per l'utente di Amazon Managed Service for Prometheus.
Puoi stimare il costo utilizzando il calcolatore dei prezzi nella pagina dei prezzi di Amazon Managed Service for Prometheus
. Il numero di parametri dipenderà dal numero di nodi del cluster e dai parametri prodotti dalle applicazioni. -
CloudWatch Inserimento, archiviazione e analisi dei log. Per impostazione predefinita, la conservazione dei log è impostata per non scadere mai. Puoi modificarlo in CloudWatch. Per ulteriori informazioni sui prezzi, consulta la pagina CloudWatch dei prezzi di Amazon
. -
Costi di rete. È possibile che vengano addebitati costi AWS di rete standard per diverse zone di disponibilità, regioni o altro traffico.
I calcolatori dei prezzi, disponibili nella pagina dei prezzi di ciascun prodotto, possono aiutarti a comprendere i costi potenziali della tua soluzione. Le seguenti informazioni possono aiutare a calcolare un costo base per la soluzione in esecuzione nella stessa zona di disponibilità del EKS cluster Amazon.
Product | Metrica della calcolatrice | Valore |
---|---|---|
Amazon Managed Service per Prometheus |
Serie Active |
8000 (base) 15.000 (per nodo) |
Intervallo di raccolta medio |
60 (secondi) |
|
Amazon Managed Service per Prometheus (gestore di raccolta) |
Numero di collezionisti |
1 |
Numero di campioni |
15 (base) 150 (per nodo) |
|
Numero di regole |
161 |
|
Intervallo medio di estrazione delle regole |
60 (secondi) |
|
Grafana gestito da Amazon |
Numero di editori/amministratori attivi |
1 (o più, in base ai tuoi utenti) |
CloudWatch (Registri) |
Registri standard: dati inseriti |
24,5 GB (base) 0,5 GB (per nodo) |
Archiviazione/archiviazione dei registri (registri standard e forniti) |
Sì all'archiviazione dei log: presupponendo una conservazione di 1 mese |
|
Registri e dati previsti scansionati |
Ogni query di log insights di Grafana analizzerà tutti i contenuti dei log del gruppo nel periodo di tempo specificato. |
Questi numeri sono i numeri di base per una soluzione che funziona EKS senza software aggiuntivo. In questo modo si otterrà una stima dei costi base. Inoltre, esclude i costi di utilizzo della rete, che varieranno a seconda che l'area di lavoro Amazon Managed Grafana, l'area di lavoro Amazon Managed Service for Prometheus e il EKS cluster Amazon si trovino nella stessa zona di disponibilità, e. Regione AWS VPN
Nota
Quando un elemento di questa tabella include un (base)
valore e un valore per risorsa (ad esempio,(per node)
), dovresti aggiungere il valore di base al valore per risorsa moltiplicato per il numero di quella risorsa a tua disposizione. Ad esempio, per Serie temporali attive medie, inserisci un numero che sia8000 + the number of nodes in your cluster * 15,000
. Se hai 2 nodi, devi inserire38,000
, che è8000 + ( 2 * 15,000 )
.
Prerequisiti
Questa soluzione richiede che siano state effettuate le seguenti operazioni prima di utilizzarla.
-
Devi avere o creare un cluster Amazon Elastic Kubernetes Service che desideri monitorare e il cluster deve avere almeno un nodo. Il cluster deve avere l'accesso agli endpoint API del server impostato in modo da includere l'accesso privato (può anche consentire l'accesso pubblico).
La modalità di autenticazione deve includere API l'accesso (può essere impostata su una delle due opzioni
API
API_AND_CONFIG_MAP
). Ciò consente all'implementazione della soluzione di utilizzare le voci di accesso.Nel cluster devono essere installati i seguenti componenti (true per impostazione predefinita quando si crea il cluster tramite la console, ma devono essere aggiunti se si crea il cluster utilizzando AWS API or AWS CLI): AWS CNI, Core DNS e AddOns Kube-proxy.
Salva il nome del cluster da specificare in seguito. È possibile trovarlo nei dettagli del cluster nella EKS console Amazon.
Nota
Per informazioni dettagliate su come creare un EKS cluster Amazon, consulta la sezione Guida introduttiva ad Amazon EKS.
-
Devi creare uno spazio di lavoro Amazon Managed Service for Prometheus nello stesso spazio del tuo cluster Amazon. Account AWS EKS Per i dettagli, consulta la Guida per l'utente di Create a workspace nella Amazon Managed Service for Prometheus User Guide.
Salva l'area di lavoro Amazon Managed Service for ARN Prometheus per specificarlo in seguito.
-
Devi creare uno spazio di lavoro Amazon Managed Grafana con Grafana versione 9 o successiva, nello stesso del tuo cluster Amazon. Regione AWS EKS Per dettagli sulla creazione di un nuovo spazio di lavoro, consulta. Crea uno spazio di lavoro Amazon Managed Grafana
Il ruolo dell'area di lavoro deve disporre delle autorizzazioni per accedere ad Amazon Managed Service per Prometheus e Amazon. CloudWatch APIs Il modo più semplice per farlo è utilizzare le autorizzazioni gestite dal servizio e selezionare Amazon Managed Service for Prometheus e. CloudWatch Puoi anche aggiungere manualmente le politiche e al tuo ruolo nell'area di AmazonPrometheusQueryAccesslavoro AmazonGrafanaCloudWatchAccess. IAM
Salva l'ID e l'endpoint dell'area di lavoro Amazon Managed Grafana per specificarli in un secondo momento. L'ID è nel modulo.
g-123example
L'ID e l'endpoint sono disponibili nella console Amazon Managed Grafana. L'endpoint serve URL per l'area di lavoro e include l'ID. Ad esempiohttps://g-123example.grafana-workspace.<region>.amazonaws.com/
. -
Se stai distribuendo la soluzione con Terraform, devi creare un bucket Amazon S3 accessibile dal tuo account. Questo verrà utilizzato per archiviare i file di stato Terraform per la distribuzione.
Salva l'ID del bucket Amazon S3 per specificarlo in seguito.
-
Per visualizzare le regole di avviso di Amazon Managed Service for Prometheus, devi abilitare gli avvisi Grafana per l'area di lavoro Amazon Managed Grafana.
Inoltre, Amazon Managed Grafana deve disporre delle seguenti autorizzazioni per le tue risorse Prometheus. È necessario aggiungerle alle politiche gestite dal servizio o gestite dal cliente descritte in Autorizzazioni e policy di Amazon Managed Grafana per le fonti di dati AWS.
aps:ListRules
aps:ListAlertManagerSilences
aps:ListAlertManagerAlerts
aps:GetAlertManagerStatus
aps:ListAlertManagerAlertGroups
aps:PutAlertManagerSilences
aps:DeleteAlertManagerSilence
Nota
Sebbene non sia strettamente necessario per configurare la soluzione, devi configurare l'autenticazione degli utenti nel tuo spazio di lavoro Amazon Managed Grafana prima che gli utenti possano accedere ai dashboard creati. Per ulteriori informazioni, consulta Autentica gli utenti nelle aree di lavoro Amazon Managed Grafana.
Utilizzo di questa soluzione
Questa soluzione configura AWS l'infrastruttura per supportare i parametri di reporting e monitoraggio da un cluster AmazonEKS. Puoi installarlo utilizzando AWS Cloud Development Kit (AWS CDK)o con Terraform.
Un modo in cui questa soluzione ti viene fornita è come AWS CDK applicazione. Fornirai informazioni sulle risorse che desideri utilizzare e la soluzione creerà lo scraper, i log e i dashboard per te.
Nota
Utilizzare questa soluzione per monitorare un EKS cluster Amazon con AWS CDK
-
Assicurati di aver completato tutti i passaggi relativi ai prerequisiti.
-
Scarica tutti i file per la soluzione da Amazon S3. I file si trovano in
s3://aws-observability-solutions/EKS/OSS/CDK/v3.0.0/iac
e puoi scaricarli con il seguente comando Amazon S3. Esegui questo comando da una cartella nel tuo ambiente a riga di comando.aws s3 sync s3://aws-observability-solutions/EKS/OSS/CDK/v3.0.0/iac/ .
Non è necessario modificare questi file.
-
Nell'ambiente a riga di comando (dalla cartella in cui sono stati scaricati i file della soluzione), esegui i comandi seguenti.
Imposta le variabili di ambiente necessarie. Sostituisci
REGION
AMG_ENDPOINT
EKS_CLUSTER
, eAMP_ARN
con il tuo Regione AWS endpoint di spazio di lavoro Amazon Managed Grafana (nel modulo)http://g-123example.grafana-workspace.us-east-1.amazonaws.com
, il nome del EKS cluster Amazon e l'area di lavoro Amazon Managed Service for Prometheus. ARNexport AWS_REGION=
REGION
export AMG_ENDPOINT=AMG_ENDPOINT
export EKS_CLUSTER_NAME=EKS_CLUSTER
export AMP_WS_ARN=AMP_ARN
-
È necessario creare un token di account di servizio con ADMIN accesso per chiamare Grafana HTTPAPIs. Per informazioni dettagliate, consultare Usa gli account di servizio per l'autenticazione con Grafana HTTP APIs. È possibile utilizzare il AWS CLI con i seguenti comandi per creare il token. Dovrai sostituirlo
GRAFANA_ID
con l'ID del tuo spazio di lavoro Grafana (sarà nel modulo).g-123example
Questa chiave scadrà dopo 7.200 secondi o 2 ore. È possibile modificare l'ora (seconds-to-live
), se necessario. L'implementazione richiede meno di un'ora.GRAFANA_SA_ID=$(aws grafana create-workspace-service-account \ --workspace-id
GRAFANA_ID
\ --grafana-role ADMIN \ --name grafana-operator-key \ --query 'id' \ --output text) # creates a new token for calling APIs export AMG_API_KEY=$(aws grafana create-workspace-service-account-token \ --workspace-id $managed_grafana_workspace_id \ --name "grafana-operator-key-$(date +%s)" \ --seconds-to-live 7200 \ --service-account-id $GRAFANA_SA_ID \ --query 'serviceAccountToken.key' \ --output text)Rendi disponibile la API chiave AWS CDK aggiungendola a AWS Systems Manager con il seguente comando. Sostituiscila
AWS_REGION
con la regione in cui verrà eseguita la soluzione (nel modulous-east-1
).aws ssm put-parameter --name "/observability-aws-solution-eks-infra/grafana-api-key" \ --type "SecureString" \ --value $AMG_API_KEY \ --region
AWS_REGION
\ --overwrite -
Esegui il
make
comando seguente, che installerà tutte le altre dipendenze per il progetto.make deps
-
Infine, esegui il AWS CDK progetto:
make build && make pattern aws-observability-solution-eks-infra-$EKS_CLUSTER_NAME deploy
-
[Facoltativo] Una volta completata la creazione dello stack, puoi utilizzare lo stesso ambiente per creare più istanze dello stack per altri EKS cluster Amazon nella stessa regione, purché soddisfi gli altri prerequisiti per ciascuno (inclusi spazi di lavoro Amazon Managed Grafana e Amazon Managed Service for Prometheus separati). Dovrai ridefinire i comandi con i nuovi parametri.
export
Una volta completata la creazione dello stack, il tuo spazio di lavoro Amazon Managed Grafana verrà popolato con una dashboard che mostra le metriche per il tuo cluster Amazon. EKS La visualizzazione delle metriche richiederà alcuni minuti, non appena lo scraper inizierà a raccogliere le metriche.
Elenco delle metriche tracciate
Questa soluzione crea uno scraper che raccoglie i parametri dal tuo cluster Amazon. EKS Queste metriche vengono archiviate in Amazon Managed Service for Prometheus e quindi visualizzate nelle dashboard di Amazon Managed Grafana. Per impostazione predefinita, lo scraper raccoglie tutte le metriche compatibili con Prometheus esposte dal cluster. L'installazione nel cluster di software che produce più metriche aumenterà le metriche raccolte. Se lo desideri, puoi ridurre il numero di metriche aggiornando lo scraper con una configurazione che filtra le metriche.
Le seguenti metriche vengono tracciate con questa soluzione, in una configurazione di base EKS del cluster Amazon senza software aggiuntivo installato.
Parametro | Descrizione/Scopo |
---|---|
|
I APIServices cui indicatori sono contrassegnati come non disponibili suddivisi per APIService nome. |
|
Istogramma di latenza del webhook di ammissione in secondi, identificato per nome e suddiviso per ogni operazione, API risorsa e tipo (convalida o ammissione). |
|
Numero massimo di richieste in volo attualmente utilizzate da questo apiserver per tipo di richiesta nell'ultimo secondo. |
|
Percentuale degli slot di cache attualmente occupati dalla cache. DEKs |
|
Numero di richieste nella fase iniziale (per unaWATCH) o qualsiasi (per una nonWATCH) esecuzione nel sottosistema API Priorità ed equità. |
|
Numero di richieste rifiutate nella fase iniziale (per aWATCH) o in qualsiasi fase (per una nonWATCH) esecuzione nel sottosistema API Priorità ed equità. |
|
Numero nominale di postazioni di esecuzione configurate per ogni livello di priorità. |
|
L'istogramma ristretto della durata della fase iniziale (per unaWATCH) o qualsiasi (per una fase diversaWATCH) dell'esecuzione della richiesta nel sottosistema API Priorità ed equità. |
|
Il conteggio della fase iniziale (per unaWATCH) o di qualsiasi fase (per una nonWATCH) fase di esecuzione della richiesta nel sottosistema API Priorità ed equità. |
|
Indica una richiesta API del server. |
|
Indicatore dei dati obsoleti APIs richiesti, suddivisi per API gruppo, versione, risorsa, sottorisorsa e removed_release. |
|
Distribuzione della latenza di risposta in secondi per ogni verbo, valore di dry run, gruppo, versione, risorsa, sottorisorsa, ambito e componente. |
|
L'istogramma a intervalli di distribuzione della latenza di risposta in secondi per ogni verbo, valore di dry run, gruppo, versione, risorsa, sottorisorsa, ambito e componente. |
|
La distribuzione della latenza della risposta Service Level Objective (SLO) in secondi per ogni verbo, valore di dry run, gruppo, versione, risorsa, sottorisorsa, ambito e componente. |
|
Numero di richieste che apiserver ha terminato per legittima difesa. |
|
Contatore di richieste apiserver suddiviso per ogni verbo, valore di dry run, gruppo, versione, risorsa, ambito, componente e codice di risposta. HTTP |
|
Tempo cumulativo di CPU consumato. |
|
Conteggio cumulativo dei byte letti. |
|
Conteggio cumulativo delle letture completate. |
|
Conteggio cumulativo dei byte scritti. |
|
Conteggio cumulativo delle scritture completate. |
|
Memoria cache totale delle pagine. |
|
Dimensione diRSS. |
|
Utilizzo dello scambio di container. |
|
Set di lavoro attuale. |
|
Conteggio cumulativo dei byte ricevuti. |
|
Numero cumulativo di pacchetti persi durante la ricezione. |
|
Numero cumulativo di pacchetti ricevuti. |
|
Conteggio cumulativo dei byte trasmessi. |
|
Conteggio cumulativo dei pacchetti persi durante la trasmissione. |
|
Numero cumulativo di pacchetti trasmessi. |
|
L'istogramma a intervalli della latenza della richiesta etcd in secondi per ogni operazione e tipo di oggetto. |
|
Numero di goroutine attualmente esistenti. |
|
Numero di thread del sistema operativo creati. |
|
L'istogramma a intervalli della durata in secondi per le operazioni di cgroup manager. Suddiviso per metodo. |
|
Durata in secondi per le operazioni di cgroup manager. Suddiviso per metodo. |
|
Questa metrica è vera (1) se il nodo presenta un errore relativo alla configurazione, false (0) in caso contrario. |
|
Il nome del nodo. Il conteggio è sempre 1. |
|
L'istogramma ristretto della durata in secondi in cui rimettere in vendita i pod. PLEG |
|
Il conteggio della durata in secondi per riposizionare i pod. PLEG |
|
L'istogramma ristretto dell'intervallo in secondi tra una ripubblicazione e l'altra. PLEG |
|
Il conteggio della durata in secondi tra il momento in cui Kubelet vede un pod per la prima volta e il pod che inizia a funzionare. |
|
L'istogramma suddiviso in intervalli della durata in secondi per sincronizzare un singolo pod. Suddiviso per tipo di operazione: creazione, aggiornamento o sincronizzazione. |
|
Il conteggio della durata in secondi per sincronizzare un singolo pod. Suddiviso per tipo di operazione: creazione, aggiornamento o sincronizzazione. |
|
Numero di contenitori attualmente in esecuzione. |
|
Numero di pod che dispongono di una sandbox Running Pod. |
|
L'istogramma suddiviso in intervalli della durata in secondi delle operazioni di runtime. Suddiviso per tipo di operazione. |
|
Numero cumulativo di errori di esecuzione per tipo di operazione. |
|
Numero cumulativo di operazioni di runtime per tipo di operazione. |
|
La quantità di risorse allocabili per i pod (dopo averne riservate alcune ai demoni di sistema). |
|
La quantità totale di risorse disponibili per un nodo. |
|
Il numero di risorse limite richieste da un contenitore. |
|
Il numero di risorse limite richieste da un contenitore. |
|
Il numero di risorse di richiesta richieste da un contenitore. |
|
Il numero di risorse di richiesta richieste da un contenitore. |
|
Informazioni sul proprietario del Pod. |
|
Le quote di risorse in Kubernetes impongono limiti di utilizzo su risorse come memoria e archiviazione all'interno dei CPU namespace. |
|
Le metriche di CPU utilizzo per un nodo, incluso l'utilizzo per core e l'utilizzo totale. |
|
Secondi CPUs trascorsi in ciascuna modalità. |
|
La quantità cumulativa di tempo impiegata per eseguire operazioni di I/O su disco per nodo. |
|
La quantità totale di tempo impiegata per eseguire operazioni di I/O su disco per nodo. |
|
Il numero totale di byte letti dal disco dal nodo. |
|
Il numero totale di byte scritti su disco dal nodo. |
|
La quantità di spazio disponibile in byte sul filesystem di un nodo in un cluster Kubernetes. |
|
La dimensione totale del filesystem sul nodo. |
|
La media di carico di 1 minuto dell'utilizzo di un nodo. CPU |
|
La media di caricamento di 15 minuti dell'CPUutilizzo di un nodo. |
|
La media di carico in 5 minuti dell'CPUutilizzo di un nodo. |
|
La quantità di memoria utilizzata per la memorizzazione nella cache del buffer dal sistema operativo del nodo. |
|
La quantità di memoria utilizzata per la memorizzazione nella cache del disco dal sistema operativo del nodo. |
|
La quantità di memoria disponibile per l'uso da parte di applicazioni e cache. |
|
La quantità di memoria libera disponibile sul nodo. |
|
La quantità totale di memoria fisica disponibile sul nodo. |
|
Il numero totale di byte ricevuti in rete dal nodo. |
|
Il numero totale di byte trasmessi in rete dal nodo. |
|
CPUTempo totale impiegato dall'utente e dal sistema, in secondi. |
|
Dimensione della memoria residente in byte. |
|
Numero di HTTP richieste, partizionate per codice di stato, metodo e host. |
|
L'istogramma a intervalli della latenza delle richieste in secondi. Suddiviso per verbo e host. |
|
L'istogramma suddiviso in intervalli della durata delle operazioni di archiviazione. |
|
Il conteggio della durata delle operazioni di archiviazione. |
|
Numero cumulativo di errori durante le operazioni di storage. |
|
Una metrica che indica se la destinazione monitorata (ad esempio il nodo) è attiva e funzionante. |
|
Il numero totale di volumi gestiti dal gestore dei volumi. |
|
Numero totale di aggiunte gestite da workqueue. |
|
Profondità attuale della coda di lavoro. |
|
L'istogramma a intervalli che indica per quanto tempo, in secondi, un elemento rimane nella coda di lavoro prima di essere richiesto. |
|
L'istogramma suddiviso in intervalli di tempo in secondi per l'elaborazione di un elemento dalla coda di lavoro. |
Elenco degli avvisi creati
Nelle tabelle seguenti sono elencati gli avvisi creati da questa soluzione. Gli avvisi vengono creati come regole in Amazon Managed Service for Prometheus e vengono visualizzati nell'area di lavoro Amazon Managed Grafana.
Puoi modificare le regole, inclusa l'aggiunta o l'eliminazione di regole, modificando il file di configurazione delle regole nel tuo spazio di lavoro Amazon Managed Service for Prometheus.
Questi due avvisi sono avvisi speciali che vengono gestiti in modo leggermente diverso rispetto agli avvisi tipici. Invece di avvisarti di un problema, ti forniscono informazioni che vengono utilizzate per monitorare il sistema. La descrizione include dettagli su come utilizzare questi avvisi.
Alert | Descrizione e utilizzo |
---|---|
|
Si tratta di un avviso destinato a garantire il funzionamento dell'intera pipeline di avvisi. Questo avviso è sempre attivo, quindi dovrebbe essere sempre attivo in Alertmanager e sempre contro un ricevitore. Puoi integrarlo con il tuo meccanismo di notifica per inviare una notifica quando questo avviso non viene attivato. Ad esempio, è possibile utilizzare l'DeadMansSnitchintegrazione in PagerDuty. |
|
Si tratta di un avviso che viene utilizzato per inibire gli avvisi informativi. Di per sé, gli avvisi a livello di informazioni possono essere molto rumorosi, ma sono pertinenti se combinati con altri avvisi. Questo avviso viene attivato ogni volta che viene visualizzato un |
I seguenti avvisi forniscono informazioni o avvisi sul sistema.
Alert | Gravità | Descrizione |
---|---|---|
|
warning |
L'interfaccia di rete cambia spesso il suo stato |
|
warning |
Si prevede che lo spazio disponibile nel file system si esaurirà entro le prossime 24 ore. |
|
critical |
Si prevede che lo spazio disponibile nel file system si esaurirà entro le prossime 4 ore. |
|
warning |
Lo spazio residuo nel file system è inferiore al 5%. |
|
critical |
Lo spazio residuo nel file system è inferiore al 3%. |
|
warning |
Si prevede che il file system esaurirà gli inode entro le prossime 24 ore. |
|
critical |
Si prevede che il file system esaurirà gli inode entro le prossime 4 ore. |
|
warning |
Nel file system sono rimasti meno del 5% degli inode. |
|
critical |
Al file system sono rimasti meno del 3% di inode. |
|
warning |
L'interfaccia di rete riporta molti errori di ricezione. |
|
warning |
L'interfaccia di rete riporta molti errori di trasmissione. |
|
warning |
Il numero di accessi in conntrack si sta avvicinando al limite. |
|
warning |
Il raccoglitore di file di testo Node Exporter non è riuscito a raschiare. |
|
warning |
È stata rilevata un'inclinazione dell'orologio. |
|
warning |
L'orologio non si sincronizza. |
|
critical |
RAIDL'array è danneggiato |
|
warning |
Dispositivo guasto nell'array RAID |
|
warning |
Si prevede che il kernel esaurirà presto il limite dei descrittori di file. |
|
critical |
Si prevede che il kernel esaurirà presto il limite dei descrittori di file. |
|
warning |
Il nodo non è pronto. |
|
warning |
Il nodo non è raggiungibile. |
|
info |
Kubelet sta funzionando a pieno regime. |
|
warning |
Lo stato di preparazione del nodo sta lampeggiando. |
|
warning |
Kubelet Pod Lifecycle Event Generator impiega troppo tempo per essere rimesso in vendita. |
|
warning |
La latenza di avvio di Kubelet Pod è troppo alta. |
|
warning |
Il certificato del client Kubelet sta per scadere. |
|
critical |
Il certificato client Kubelet sta per scadere. |
|
warning |
Il certificato del server Kubelet sta per scadere. |
|
critical |
Il certificato del server Kubelet sta per scadere. |
|
warning |
Kubelet non è riuscito a rinnovare il certificato client. |
|
warning |
Kubelet non è riuscito a rinnovare il certificato del server. |
|
critical |
L'obiettivo è scomparso dalla scoperta dell'obiettivo di Prometheus. |
|
warning |
Diverse versioni semantiche dei componenti Kubernetes in esecuzione. |
|
warning |
Il client del server Kubernetes presenta erroriAPI. |
|
warning |
Il certificato del client sta per scadere. |
|
critical |
Il certificato client sta per scadere. |
|
warning |
Kubernetes API aggregated ha segnalato errori. |
|
warning |
Kubernetes aggregato non funziona. API |
|
critical |
L'obiettivo è scomparso dalla scoperta dell'obiettivo di Prometheus. |
|
warning |
L'apiserver Kubernetes ha terminato {{$value |}} delle sue richieste in entrata. humanizePercentage |
|
critical |
Persistent Volume si sta riempiendo. |
|
warning |
Persistent Volume si sta riempiendo. |
|
critical |
Persistent Volume Inode si sta riempiendo. |
|
warning |
I Persistent Volume Inode si stanno riempiendo. |
|
critical |
Persistent Volume sta riscontrando problemi con il provisioning. |
|
warning |
Il cluster ha ricevuto un numero eccessivo di richieste di CPU risorse. |
|
warning |
Il cluster ha richiesto risorse di memoria in eccesso. |
|
warning |
Il cluster ha richiesto CPU risorse in eccesso. |
|
warning |
Il cluster ha richiesto risorse di memoria in eccesso. |
|
info |
La quota del namespace sarà piena. |
|
info |
La quota del namespace è completamente utilizzata. |
|
warning |
La quota del namespace ha superato i limiti. |
|
info |
I processi subiscono una limitazione elevata. CPU |
|
warning |
Pod è in crash looping. |
|
warning |
Pod è in uno stato non pronto da più di 15 minuti. |
|
warning |
Mancata corrispondenza nella generazione dell'implementazione a causa di un possibile rollback |
|
warning |
La distribuzione non corrisponde al numero previsto di repliche. |
|
warning |
StatefulSet non corrisponde al numero previsto di repliche. |
|
warning |
StatefulSet mancata corrispondenza generazionale dovuta a un possibile rollback |
|
warning |
StatefulSet l'aggiornamento non è stato implementato. |
|
warning |
DaemonSet il rollout è bloccato. |
|
warning |
Contenitore per cialde in attesa per più di 1 ora |
|
warning |
DaemonSet i pod non sono programmati. |
|
warning |
DaemonSet i pod sono programmati male. |
|
warning |
Job non è stato completato in tempo |
|
warning |
Job non completato. |
|
warning |
HPAnon corrisponde al numero di repliche desiderato. |
|
warning |
HPAè in esecuzione al numero massimo di repliche |
|
critical |
kube-state-metrics sta riscontrando errori nelle operazioni relative all'elenco. |
|
critical |
kube-state-metrics sta riscontrando errori nelle operazioni di controllo. |
|
critical |
kube-state-metrics lo sharding non è configurato correttamente. |
|
critical |
kube-state-metrics mancano dei frammenti. |
|
critical |
Il API server sta consumando un budget eccessivo per gli errori. |
|
critical |
Il API server sta consumando un budget eccessivo per gli errori. |
|
warning |
Il API server sta consumando un budget eccessivo per gli errori. |
|
warning |
Il API server sta consumando un budget eccessivo per gli errori. |
|
warning |
Uno o più bersagli sono inattivi. |
|
critical |
Numero insufficiente di membri del cluster Etcd. |
|
warning |
Numero elevato di cambi di leader del cluster Etcd. |
|
critical |
Il cluster Etcd non ha un leader. |
|
warning |
Cluster Etcd: numero elevato di richieste g non riuscite. RPC |
|
critical |
Le RPC richieste del cluster Etcd g sono lente. |
|
warning |
La comunicazione tra i membri del cluster Etcd è lenta. |
|
warning |
Numero elevato di proposte fallite del cluster Etcd. |
|
warning |
Durate di sincronizzazione elevate del cluster Etcd. |
|
warning |
Il cluster Etcd ha durate di commit superiori a quelle previste. |
|
warning |
Il cluster Etcd ha ricevuto richieste non riuscite. HTTP |
|
critical |
Il cluster Etcd ha un numero elevato di richieste non riusciteHTTP. |
|
warning |
HTTPLe richieste del cluster Etcd sono lente. |
|
warning |
L'orologio dell'host non si sincronizza. |
|
warning |
Rilevata OOM uccisione dell'host. |
Risoluzione dei problemi
Esistono alcuni fattori che possono causare il fallimento della configurazione del progetto. Assicurati di controllare quanto segue.
-
È necessario completare tutti i prerequisiti prima di installare la soluzione.
-
Il cluster deve contenere almeno un nodo prima di tentare di creare la soluzione o accedere alle metriche.
-
Nel EKS cluster Amazon devono essere installati
AWS CNI
CoreDNS
kube-proxy
i componenti aggiuntivi. Se non sono installati, la soluzione non funzionerà correttamente. Vengono installati per impostazione predefinita, quando si crea il cluster tramite la console. Potrebbe essere necessario installarli se il cluster è stato creato tramite un AWS SDK. -
L'installazione EKS di Amazon pod è scaduta. Questo può accadere se la capacità disponibile dei nodi non è sufficiente. Le cause di questi problemi sono molteplici, tra cui:
-
Il EKS cluster Amazon è stato inizializzato con Fargate anziché Amazon. EC2 Questo progetto richiede AmazonEC2.
-
I nodi sono contaminati e quindi non disponibili.
Puoi usarlo
kubectl describe node
per controllare le macchie. QuindiNODENAME
| grep Taintskubectl taint node
per rimuovere le macchie. Assicurati di includere il nomeNODENAME
TAINT_NAME
--
dopo il nome della macchia. -
I nodi hanno raggiunto il limite di capacità. In questo caso puoi creare un nuovo nodo o aumentare la capacità.
-
-
Non vedi alcuna dashboard in Grafana: stai utilizzando l'ID dell'area di lavoro Grafana errato.
Esegui il seguente comando per ottenere informazioni su Grafana:
kubectl describe grafanas external-grafana -n grafana-operator
Puoi controllare i risultati per l'area di lavoro URL corretta. Se non è quello che ti aspetti, esegui nuovamente la distribuzione con l'ID dell'area di lavoro corretto.
Spec: External: API Key: Key: GF_SECURITY_ADMIN_APIKEY Name: grafana-admin-credentials URL: https://
g-123example
.grafana-workspace.aws-region
.amazonaws.com Status: Admin URL: https://g-123example
.grafana-workspace.aws-region
.amazonaws.com Dashboards: ... -
Non vedi alcuna dashboard in Grafana: stai utilizzando una API chiave scaduta.
Per cercare questo caso, è necessario contattare l'operatore grafana e verificare la presenza di errori nei log. Ottieni il nome dell'operatore Grafana con questo comando:
kubectl get pods -n grafana-operator
Questo restituirà il nome dell'operatore, ad esempio:
NAME READY STATUS RESTARTS AGE
grafana-operator-1234abcd5678ef90
1/1 Running 0 1h2mUtilizzate il nome dell'operatore nel seguente comando:
kubectl logs
grafana-operator-1234abcd5678ef90
-n grafana-operatorMessaggi di errore come i seguenti indicano una API chiave scaduta:
ERROR error reconciling datasource {"controller": "grafanadatasource", "controllerGroup": "grafana.integreatly.org", "controllerKind": "GrafanaDatasource", "GrafanaDatasource": {"name":"grafanadatasource-sample-amp","namespace":"grafana-operator"}, "namespace": "grafana-operator", "name": "grafanadatasource-sample-amp", "reconcileID": "72cfd60c-a255-44a1-bfbd-88b0cbc4f90c", "datasource": "grafanadatasource-sample-amp", "grafana": "external-grafana", "error": "status: 401, body: {\"message\":\"Expired API key\"}\n"} github.com/grafana-operator/grafana-operator/controllers.(*GrafanaDatasourceReconciler).Reconcile
In questo caso, crea una nuova API chiave e distribuisci nuovamente la soluzione. Se il problema persiste, puoi forzare la sincronizzazione utilizzando il seguente comando prima della ridistribuzione:
kubectl delete externalsecret/external-secrets-sm -n grafana-operator
-
CDKinstalls — Parametro mancante. SSM Se vedi un errore come il seguente, esegui
cdk bootstrap
e riprova.Deployment failed: Error: aws-observability-solution-eks-infra-
$EKS_CLUSTER_NAME
: SSM parameter /cdk-bootstrap/xxxxxxx
/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap' (see https://docs.aws.amazon.com/cdk/latest/ guide/bootstrapping.html) -
La distribuzione può fallire se il OIDC provider esiste già. Verrà visualizzato un errore simile al seguente (in questo caso, per le CDK installazioni):
| CREATE_FAILED | Custom::AWSCDKOpenIdConnectProvider | OIDCProvider/Resource/Default Received response status [FAILED] from custom resource. Message returned: EntityAlreadyExistsException: Provider with url https://oidc.eks.
REGION
.amazonaws.com/id/PROVIDER ID
already exists.In questo caso, vai al IAM portale ed elimina il OIDC provider e riprova.
-
Installazioni di Terraform: viene visualizzato un messaggio di errore che include
cluster-secretstore-sm failed to create kubernetes rest client for update of resource
e.failed to create kubernetes rest client for update of resource
Questo errore indica in genere che External Secrets Operator non è installato o abilitato nel cluster Kubernetes. Viene installato come parte della distribuzione della soluzione, ma a volte non è pronto quando la soluzione lo richiede.
Puoi verificare che sia installato con il seguente comando:
kubectl get deployments -n external-secrets
Se è installato, può essere necessario del tempo prima che l'operatore sia completamente pronto per l'uso. È possibile verificare lo stato delle definizioni di risorse personalizzate necessarie (CRDs) eseguendo il comando seguente:
kubectl get crds|grep external-secrets
Questo comando dovrebbe elencare l'operatore segreto CRDs correlato all'esterno, incluso
clustersecretstores.external-secrets.io
andexternalsecrets.external-secrets.io
. Se non sono elencati, attendi qualche minuto e ricontrolla.Una volta CRDs registrati, puoi eseguire
terraform apply
nuovamente l'operazione per distribuire la soluzione.