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à.
Dashboard di monitoraggio del proxy RDS
Puoi accedere alla dashboard di monitoraggio del proxy RDS nella scheda Monitoraggio del tuo proxy.
La dashboard fornisce un set preconfigurato di metriche disposte in widget, progettato per aiutarti a eseguire attività comuni di osservabilità e risoluzione dei problemi. Se una metrica non è visibile in questa dashboard, puoi visualizzare tutte le metriche CloudWatch utilizzando un link fornito nella sezione in alto a destra della dashboard.
Non puoi aggiungere o rimuovere metriche dalla dashboard predefinita. Se desideri creare viste di monitoraggio personalizzate per i tuoi proxy, puoi farlo direttamente in. CloudWatch Per ulteriori informazioni, consulta Utilizzo CloudWatch dei dashboard.
La dashboard di monitoraggio è suddivisa in diverse sezioni, con metriche raggruppate in widget utilizzando aggregazioni predefinite. Per ulteriori informazioni sulle metriche sottostanti del proxy RDS, consulta Monitoraggio delle metriche del proxy RDS con. CloudWatch
Panoramica di
Disponibilità% per ruolo
La percentuale di tempo per la quale l'obiettivo è stato disponibile nei READ_ONLY ruoli READWRITE and, in base a un'aggregazione della AvailabilityPercentage metrica.
La metrica di disponibilità descrive la percentuale di successo dei controlli di integrità del database eseguiti dal proxy, che riflette lo stato di integrità delle istanze del database di destinazione. Questo widget utilizza la Average statistica per ogni ruolo e il calcolo è influenzato dal numero di istanze di database in un determinato ruolo (una per il READWRITE ruolo, potenzialmente più per READ_ONLY i ruoli) e dal numero di nodi del proxy (deciso dall'infrastruttura RDS Proxy).
Nota
RDS Proxy regola automaticamente la propria capacità in base alla configurazione delle istanze DB registrate con esso. Non puoi controllare direttamente il numero di nodi nel tuo proxy, ma puoi controllare il conteggio corrente dei nodi utilizzando la sample count statistica per la metrica di disponibilità. Per ulteriori informazioni su come il proxy RDS regola la propria capacità, vedere .
Il ruolo di READWRITE destinazione può contenere solo un'istanza di database e la percentuale di disponibilità viene calcolata come percentuale media di successo del controllo di integrità su tutti i nodi proxy. Ad esempio, se il proxy contiene quattro nodi e uno di essi non ha ricevuto una risposta corretta al controllo dello stato in un determinato periodo, read/write la disponibilità verrà riportata al 75% per quel periodo. Analogamente, se il proxy contiene quattro nodi e nessuno di essi è stato in grado di eseguire controlli di integrità per 30 secondi in un periodo di 1 minuto, il proxy segnalerà una disponibilità del 50% durante quel minuto.
Il ruolo di READ_ONLY destinazione può contenere più istanze di database, ad esempio più repliche in un cluster Aurora. Dal punto di vista di ogni nodo del proxy RDS, il ruolo di sola lettura viene considerato disponibile se una delle istanze di destinazione supera un controllo di integrità. La disponibilità viene quindi calcolata in media su tutti i nodi proxy e il numero finale viene visualizzato nel widget. Considerate questo esempio di proxy contenente quattro nodi:
-
Ogni nodo proxy esegue un controllo dello stato su più destinazioni di sola lettura (istanze di database), in cui alcuni controlli hanno esito positivo e altri falliscono. Un nodo proxy segnalerà il ruolo di sola lettura come disponibile purché riceva una risposta corretta al controllo dello stato di salute da almeno un'istanza di destinazione.
-
Quattro nodi proxy eseguono controlli di integrità su più destinazioni di sola lettura. Tre nodi proxy possono connettersi ad almeno una destinazione, ma un nodo proxy non è in grado di connettersi a nessuna delle destinazioni. La disponibilità dei ruoli in sola lettura verrà calcolata in base alla disponibilità
Averagedei ruoli riportata dai nodi proxy:(100% + 100% + 100% + 0% )/ 4 = 75%
Nota
Il ruolo di READ_ONLY destinazione RDS Proxy è supportato con cluster Aurora o distribuzioni di cluster Multi-AZ Amazon RDS DB con due standby leggibili, ma non con distribuzioni di istanze Amazon RDS DB con repliche di lettura. La disponibilità per il READ_ONLY ruolo potrebbe essere «zero» se il proxy non contiene un target di sola lettura.
Il widget sulla disponibilità dei ruoli è particolarmente utile nei seguenti scenari:
-
Diagnosi degli errori di connessione, quando si desidera valutare rapidamente se la disponibilità è stata compromessa dallo stato dei nodi proxy o delle istanze del database di destinazione.
-
La diagnosi di eventi ad alto traffico, quando non si è verificata un'indisponibilità definitiva del database, ma i parametri di controllo dello stato del proxy possono supportare l'ipotesi di un sovraccarico del database. RDS Proxy utilizza una serie di connessioni persistenti riservate al monitoraggio e al controllo dello stato di salute, quindi se le metriche del database non indicano tempi di inattività ma i controlli di integrità del proxy falliscono a intermittenza, potrebbe essere un indicatore di un carico eccessivo del database.
-
Identificazione dei problemi di configurazione che impediscono al proxy di connettersi alle istanze di destinazione. Ad esempio, se si rileva un calo dei parametri di disponibilità del proxy ma le istanze di destinazione appaiono integre in base ad altri segnali, ciò potrebbe indicare un problema con gli ACL di rete associati alle sottoreti del proxy o una configurazione errata dei gruppi di sicurezza collegati alle istanze del database di destinazione.
Quando si diagnosticano problemi relativi alle metriche di disponibilità del proxy RDS, è necessario esaminare anche gli indicatori di integrità e utilizzo del database stesso. I calcoli della disponibilità del proxy sono influenzati dalla capacità del database di rispondere ai controlli di integrità, pertanto è necessario raccogliere informazioni da entrambe le parti prima di trarre conclusioni.
% di utilizzo delle connessioni al database per ruolo
La percentuale di utilizzo del pool di connessioni del proxy per ogni ruolo, calcolata DatabaseConnections dividendo per. MaxDatabaseConnectionsAllowed
Il numero massimo di connessioni al database consentite si riferisce alla dimensione massima del pool del proxy controllata dall'MaxConnectionsPercentimpostazione, che a sua volta dipende dal limite di connessione al database, ad esempio dal max_connections parametro. Per ulteriori informazioni su questa impostazione, vedere Considerazioni sulla connessione del del proxy RDS.
Nota
Il proxy RDS riserva una parte della quota per il monitoraggio interno delle connessioniMaxConnectionsPercent. Il numero totale di connessioni riservate non è costante, ma dipende dal numero di nodi proxy interni e dal numero di istanze del database di destinazione.
Si consiglia di mantenere almeno un margine di crescita del 30% tra il numero di connessioni consentite e il numero massimo di connessioni al database previste durante i picchi di carico. Questo margine di manovra migliora l'esperienza del cliente in caso di picchi di carico di lavoro imprevisti e aiuta RDS Proxy a ridistribuire le connessioni nell'infrastruttura interna per la gestione del calore e altri scopi. Per aiutarti a seguire questa raccomandazione, il widget per l'utilizzo delle connessioni include una linea guida fissa al 70% del massimo.
Ad esempio, supponiamo di avere un cluster Aurora PostgreSQL con un writer e due lettori con un'max_connectionsimpostazione di 500 per ogni istanza e un proxy configurato con 50: MaxConnectionsPercent
-
RDS Proxy riserva un certo numero di connessioni per scopi di monitoraggio, il che significa che sono meno di 250 per
MaxDatabaseConnectionsAllowedistanza:(max_connections=500 * MaxConnectionsPercent=50%) - reserved connections -
Per il
READWRITEruolo contenente un writer, la dimensione massima del pool di connessioni proxy sarà leggermente inferiore a 250 (50% * 500 - reserved_connections) e la linea guida del 70% corrisponderà a meno di 175 connessioni (70% * 250 - reserved connections). -
Per il
READ_ONLYruolo contenente due lettori, la dimensione massima del pool di connessioni proxy sarà leggermente inferiore a 500 (2 * 50% * 500 - reserved_connections) e la linea guida del 70% corrisponderà a meno di 350 connessioni (70% * 500 - reserved connections).
Questo widget funge da indicatore generale dell'utilizzo della connessione ed è un utile punto di partenza durante determinati scenari di risoluzione dei problemi. Esempio:
-
Variazioni frequenti e brusche nell'utilizzo della connessione potrebbero indicare che l'
MaxIdleConnectionsPercentimpostazione è troppo bassa ed è possibile ridurre il tasso di abbandono delle connessioni consentendo alle connessioni inattive di rimanere aperte per un periodo più lungo. -
In base ai modelli di carico di lavoro e all'attività dei client, potresti sviluppare un'aspettativa di alto livello sul numero di connessioni utilizzate in un dato momento. Il widget può aiutarti a convalidare tali aspettative e a rilevare potenziali problemi con i clienti. Considerate una situazione in cui le
MaxIdleConnectionsPercentimpostazioni sono molto basse ma l'utilizzo della connessione è costantemente molto elevato. Ciò potrebbe indicare che i client sono raramente inattivi (il che non è necessariamente un problema), ma potrebbe anche significare che le connessioni vengono bloccate e quindi non sono soggette a controlli di inattività. -
In assenza di problemi relativi al pinning o alla configurazione del proxy, un elevato utilizzo della connessione al database potrebbe comportare la necessità di aumentare le
max_connectionsimpostazioni del database o, nel caso del ruolo di sola lettura, il cluster potrebbe utilizzare più repliche di lettura.
Ripartizione della latenza
La latenza dei prestiti di connessione e delle risposte alle interrogazioni.
| Etichetta | Description | Origine |
|---|---|---|
DatabaseConnectionsBorrowLatency |
Il tempo impiegato dal proxy per stabilire una connessione al database, indipendentemente dal fatto che si tratti di una connessione esistente dal pool o di una nuova connessione da aprire sul database. | Proxy RDS, metrico DatabaseConnectionsBorrowLatency |
QueryResponseLatency |
Il tempo che intercorre tra la ricezione di una richiesta di query e la risposta del proxy. | Proxy RDS, metrico QueryResponseLatency |
QueryDatabaseResponseLatency |
Il tempo impiegato dal database per rispondere alla query, inclusa la latenza di rete tra il proxy e il database. | Proxy RDS, metrica QueryDatabaseResponseLatency |
Questo widget ti aiuta a comprendere il tempo di risposta medio delle tue query e in che modo il livello proxy contribuisce alla latenza totale. La metrica della latenza borrow può essere particolarmente utile per rilevare la congestione del pool, ovvero quando le richieste dei client sono in attesa perché non ci sono abbastanza connessioni disponibili nel pool.
I punti dati per queste metriche vengono pubblicati solo se il valore è maggiore di zero, il che significa che il widget potrebbe contenere delle lacune durante i periodi senza traffico di query.
Connessioni client
Il numero di connessioni tra i client e il proxy, suddivise per stato della connessione.
| Etichetta | Description | Origine |
|---|---|---|
ClientConnectionsReceived |
Numero di richieste di connessione client ricevute. | Proxy RDS, metrico ClientConnectionsReceived |
ClientConnectionsSetupSucceeded |
Il numero di connessioni client stabilite con successo. | Proxy RDS, metrico ClientConnectionsSetupSucceeded |
ClientConnectionsSetupFailedAuth |
Numero di tentativi di connessione client non riusciti a causa di autenticazione errata o configurazione TLS errata. | Proxy RDS, metrico ClientConnectionsSetupFailedAuth |
ClientConnectionsClosed |
Il numero di connessioni client chiuse. | Proxy RDS, metrico ClientConnectionsClosed |
Questo widget può aiutarti a valutare la velocità effettiva e lo stato delle connessioni client mostrando più metriche delle connessioni client su un unico grafico. Può essere utile per monitorare il tasso di successo complessivo delle connessioni client e osservare la velocità con cui le connessioni vengono aperte e chiuse. Questo può essere utile per rilevare tempeste di connessione e cambiamenti nell'attività dei client nel tempo.
Carico di lavoro proxy
Il numero di richieste di query per endpoint proxy, in base alle metriche del QueryRequests proxy.
Le etichette delle serie di dati variano a seconda dell'endpoint:
-
L'endpoint read/write proxy predefinito utilizza l'
defaultetichetta. -
Se hai abilitato l'endpoint opzionale di sola lettura durante la creazione del proxy tramite la Console di AWS gestione, questo endpoint utilizza l'
read-onlyetichetta preceduta dal nome del proxy. Per un proxy denominatomy-proxy, l'etichetta sarà.my-proxy-read-only -
Gli endpoint proxy aggiuntivi utilizzano il nome dell'endpoint come etichetta senza prefissi aggiuntivi.
Questo widget è utile per monitorare il volume del carico di lavoro gestito tramite ciascuno degli endpoint proxy.
Importante
La QueryRequests metrica attualmente non viene emessa per l'attività di query sulle connessioni PostgreSQL che utilizzano l'Extended Query Protocol.
Latenza
Latenza di risposta del database per destinazione
La latenza di risposta del database per destinazione (istanza del database), in base alla metrica del QueryDatabaseResponseLatency proxy.
Questo widget è utile per monitorare la latenza di risposta del database per ogni istanza di database inclusa nel proxy, specialmente quando si utilizzano istanze di database diverse per carichi di lavoro diversi o le dimensioni dell'istanza non sono identiche. Considerare i seguenti esempi:
-
Un cluster di database contiene più repliche di lettura, ognuna delle quali riceve traffico attraverso il proxy. Inoltre, alcune repliche ricevono il traffico direttamente dai client che bypassano il proxy. Il widget può aiutarti a determinare se il traffico aggiuntivo influisce sulla latenza delle query per i carichi di lavoro gestiti tramite il proxy.
-
Un cluster di database contiene repliche di diverse dimensioni, l'intero carico di lavoro viene gestito tramite il proxy e le istanze del database utilizzano la configurazione di connessione predefinita in cui il limite di connessione è proporzionale alla dimensione dell'istanza. Il proxy rispetta i limiti di connessione e invia proporzionalmente un numero inferiore di connessioni a istanze più piccole, ma tali istanze potrebbero produrre una latenza più elevata a causa della riduzione anche delle cache e dei buffer. Il widget può aiutarti a determinare se è così e se le istanze piccole riescono a tenere il passo con quelle più grandi in termini di latenza delle query.
Pool di connessioni
Connessioni al database bloccate% per ruolo
La percentuale di connessioni al database bloccate per ogni ruolo, calcolata DatabaseConnectionsCurrentlySessionPinned dividendo per. DatabaseConnections
Questo widget è utile per monitorare il blocco delle connessioni nel carico di lavoro. Analogamente ad altri widget, qui viene utilizzato il valore relativo come indicatore di integrità più adatto rispetto al numero assoluto di connessioni bloccate. Un valore ideale è zero, ma il blocco della connessione potrebbe non essere del tutto evitabile in tutti i carichi di lavoro. Potresti essere sicuro che una piccola percentuale di connessioni subisca un blocco, purché non causino un impatto visibile sul resto del carico di lavoro. Tuttavia, se si verifica un blocco in gran parte dell'intero carico di lavoro, ciò potrebbe indicare un problema di comportamento del client che impedisce a RDS Proxy di multiplexare le connessioni (riutilizzandole tra le transazioni).
Per ulteriori informazioni sul blocco delle connessioni, vedere .
Metriche di configurazione delle connessioni al database per ruolo
Il numero di configurazioni di connessione tra il proxy e il database, suddivise per risultato della configurazione e ruolo di destinazione. Il widget mostra più serie di dati per ogni ruolo:
| Etichetta | Description | Origine |
|---|---|---|
DatabaseConnectionRequests |
Numero di richieste per creare una connessione al database. | Proxy RDS, metrico DatabaseConnectionRequests |
DatabaseConnectionsSetupSucceeded |
Il numero di connessioni al database stabilite con successo. | Proxy RDS, metrico DatabaseConnectionsSetupSucceeded |
DatabaseConnectionsSetupFailed |
Il numero di richieste di connessione al database non riuscite. | Proxy RDS, metrico DatabaseConnectionsSetupFailed |
I punti dati per queste metriche vengono pubblicati solo se il valore è maggiore di zero, il che significa che il widget potrebbe contenere delle lacune durante i periodi senza un evento rilevante. Ad esempio, se un client esegue query tramite il proxy durante un determinato periodo e il proxy è in grado di gestire l'intero traffico riutilizzando le connessioni al database di back-end esistenti (senza aprire nuove connessioni), non verranno visualizzati i punti dati per quel periodo.
Questo widget è utile per osservare l'attività e l'abbandono delle connessioni tra il proxy e il database. Se abbinato alle informazioni mostrate nel widget Client Connections, è possibile utilizzarlo per valutare l'efficienza del pooling e del multiplexing delle connessioni all'interno del proxy.
Tieni presente che RDS Proxy non prealloca l'intero pool di connessioni alla sua capacità massima e chiude le connessioni al database inattive dopo un periodo di inattività. È normale che si trovi sopra lo zero e che fluttui sotto carico, ma è il rapporto tra e che potrebbe richiedere la tua attenzione. DatabaseConnectionRequests DatabaseConnectionRequests ClientConnectionsReceived Esempio:
-
Se i client aprono un certo numero di connessioni al proxy e il proxy apre quasi lo stesso numero di connessioni al database in ogni periodo, è possibile che il proxy non sia in grado di riutilizzare le connessioni a causa del pinning o di altri motivi. Questa situazione potrebbe richiedere ulteriori indagini, incentrate sul comportamento del client che impedisce al proxy di riutilizzare le connessioni.
-
Se i client aprono un certo numero di connessioni al proxy, ma le nuove connessioni al database rappresentano solo una frazione di quel numero, ciò dimostra che il proxy gestisce la maggior parte del traffico riutilizzando le connessioni esistenti. Questo è lo stato normale e desiderato del pool di connessioni.
Le metriche di configurazione delle connessioni al database per destinazione
Un equivalente di Database Connections Setup Metrics By Role con i dati suddivisi per destinazione (istanza del database).
Utilizzo delle connessioni al database
% di utilizzo delle connessioni al database per destinazione
La percentuale di utilizzo del pool di connessioni del proxy per ogni destinazione (istanza del database), calcolata DatabaseConnections dividendo per. MaxDatabaseConnectionsAllowed
Questo widget è simile a Database Connections Utilization% By Role, ma fornisce una visualizzazione granulare dell'utilizzo delle connessioni per ogni istanza del database. Può essere utile per verificare l'equa distribuzione delle connessioni nel READ_ONLY ruolo dei cluster di database con più istanze.
Ad esempio, supponiamo di avere un cluster Aurora con due lettori e MaxDatabaseConnectionsAllowed 500 per lettore. Se il numero di connessioni proxy è 100 sul primo lettore e 125 sul secondo lettore, il widget mostrerà il 20% di utilizzo della connessione per il primo lettore e il 25% per il secondo.
Nota
RDS Proxy tenta di equalizzare il numero di connessioni client su ciascuna replica, ponderato in base al limite di connessioni del database. Non bilancia il carico del traffico in base a parametri del database come l'utilizzo della CPU e non sa per quanto tempo durerà ogni sessione client dopo l'apertura. Di conseguenza, un piccolo squilibrio nell'utilizzo delle connessioni tra le istanze è un fenomeno normale.
Utilizzo delle connessioni al database per ruolo _ONLY READWRITE/READ
Il numero di connessioni al database utilizzate e consentite dal proxy e dal database. Esistono due widget di questo tipo: uno per il READWRITE ruolo e uno per il READ_ONLY ruolo.
Questo widget è visibile solo se la destinazione del database del proxy supporta un READ_ONLY ruolo, che include cluster Aurora DB e distribuzioni di cluster Amazon RDS Multi-AZ DB. Il widget non viene visualizzato per le distribuzioni di istanze DB di Amazon RDS.
Ogni widget contiene più serie di dati:
| Etichetta | Description | Origine |
|---|---|---|
Database Connections |
Il numero di connessioni esistenti nel database, aperte dal proxy o da altri client. | Database, DatabaseConnections metrica |
Database Connections: proxy |
Il numero di connessioni al database esistenti tra il proxy e il database, escluse le connessioni interne utilizzate da RDS Proxy per il monitoraggio del database. | Proxy RDS, metrico DatabaseConnections |
MaxDatabaseConnectionsAllowed: Proxy |
Numero massimo di connessioni al database consentite dal proxy, controllato dall'MaxConnectionsPercentimpostazione. |
Proxy RDS, metrico MaxDatabaseConnectionsAllowed |
Le cifre presentate sono somme (totali) per il proxy e il cluster di database sottostante. Ad esempio, supponiamo che il cluster di database contenga due istanze che consentono 1000 connessioni ciascuna e che il proxy sia configurato con of. MaxConnectionsPercent 20 In questo scenario, MaxDatabaseConnectionsAllowed: Proxy mostrerà 2 * 1000 * 20% = 400 meno un numero di connessioni riservate internamente da RDS Proxy per scopi di monitoraggio. Il valore effettivo sarà inferiore a 400 e varierà in base al numero di nodi del proxy.
Questo widget è particolarmente utile nelle seguenti situazioni:
-
Monitoraggio dei dati assoluti sull'utilizzo della connessione per il proxy e il database.
-
Determinazione del numero di connessioni che raggiungono il database tramite il proxy rispetto alle connessioni che bypassano il proxy.
-
Calcolo della differenza tra l'utilizzo corrente della connessione e l'utilizzo massimo consentito.
Nota
Il valore di DatabaseConnections sarà maggiore Database Connections: Proxy anche se tutte le connessioni client vengono gestite tramite il proxy. C'è sempre una serie di connessioni interne gestite dalla piattaforma RDS e dall'infrastruttura RDS Proxy. Queste connessioni vengono contate dal database, ma non si riflettono nelle metriche del proxy.