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à.
Nota
Se hai abilitato il controllo granulare degli accessi sul tuo OpenSearch cluster, devi abilitare l'autenticazione IAM anche nel tuo database Neptune.
Per diagnosticare problemi con la replica da Neptune a OpenSearch, consulta la funzione Lambda Logs CloudWatch for your poller. Questi registri forniscono dettagli sul numero di record letti dallo stream e sul numero di record in cui è stata replicata correttamente. OpenSearch
È inoltre possibile cambiare il livello di registrazione di log per la funzione Lambda modificando la variabile di ambiente LoggingLevel
.
Nota
Con LoggingLevel
set toDEBUG
, puoi visualizzare dettagli aggiuntivi, come i record di streaming interrotti e il motivo per cui ciascuno è stato eliminato, mentre replichi i dati StreamPoller da Neptune a. OpenSearch Questa impostazione può essere utile in caso di record mancanti.
L'applicazione consumer Neptune Streams pubblica due metriche che possono anche aiutarti a diagnosticare i CloudWatch problemi:
StreamRecordsProcessed
: il numero di record elaborati dall'applicazione per unità di tempo. Utile nel tracciare la velocità di esecuzione dell'applicazione.StreamLagTime
: la differenza di tempo in millisecondi tra l'ora corrente e l'ora del commit di un record del flusso in fase di elaborazione. Questo parametro indica il ritardo dell'applicazione consumer.
Inoltre, tutte le metriche relative al processo di replica sono esposte in una dashboard con lo stesso nome ApplicationName
fornito al momento della creazione dell'istanza dell'applicazione utilizzando il modello. CloudWatch CloudWatch
Puoi anche scegliere di creare un CloudWatch allarme che viene attivato ogni volta che il polling fallisce più di due volte di seguito. Per fare ciò, impostare il campo CreateCloudWatchAlarm
su true
quando si crea un'istanza dell'applicazione. Quindi specificare gli indirizzi e-mail che si desidera ricevano una notifica quando viene attivato l'allarme.
Risoluzione dei problemi di un processo che non riesce durante la lettura dei record dal flusso
Se un processo non riesce durante la lettura dei record dal flusso, verificare di disporre di quanto segue:
Il flusso è abilitato nel cluster.
L'endpoint del flusso Neptune è nel formato corretto:
Per Gremlin o openCypher:
https://
o il relativo alias,your cluster endpoint
:your cluster port
/propertygraph/streamhttps://
your cluster endpoint
:your cluster port
/pg/streamPer SPARQL:
https://
your cluster endpoint
:your cluster port
/sparql/stream
L'endpoint DynamoDB è configurato per il VPC.
L'endpoint di monitoraggio è configurato per le sottoreti del VPC.
Risoluzione dei problemi relativi a un processo che non riesce durante la scrittura di dati su OpenSearch
Se un processo fallisce durante la scrittura dei record su OpenSearch, assicurati di disporre di quanto segue:
È installata la versione 7.1 o successiva di Elasticsearch o la versione 2.3 o successiva di OpenSearch.
OpenSearch è possibile accedervi dalla funzione poller Lambda nel VPC.
La politica di sicurezza allegata OpenSearch consente le richieste HTTP/HTTPS in entrata.
Risoluzione out-of-sync dei problemi tra Neptune OpenSearch e una configurazione di replica esistente
Puoi utilizzare i passaggi seguenti per ripristinare la sincronizzazione del database OpenSearch e del dominio Neptune con i dati più recenti in caso out-of-sync di problemi tra di loro derivanti da ExpiredStreamException
un danneggiamento dei dati.
Tieni presente che questo approccio elimina tutti i dati nel OpenSearch dominio e li risincronizza dallo stato corrente del database Neptune, quindi non è necessario ricaricare i dati nel database Neptune.
Disabilita il processo di replica come descritto in Disabilitazione (sospensione) del processo di polling dei flussi.
-
Eliminare l'indice Neptune sul dominio utilizzando OpenSearch il seguente comando:
curl -X DELETE "
(your OpenSearch endpoint)
/amazon_neptune" Crea un clone del database (consulta Clonazione del database in Neptune).
-
Recupera gli ultimi
eventID
per i flussi nel database clonato eseguendo un comando di questo tipo sull'endpoint API Streams (consulta Chiamata alla REST API Flussi Neptune per ulteriori informazioni):curl "https://
(your neptune endpoint)
:(port)
/(propertygraph or sparql)
/stream?iteratorType=LATEST"Prendi nota dei valori nei campi
commitNum
eopNum
dell'oggettolastEventId
nella risposta. Usa lo export-neptune-to-elasticsearch
strumento su github per eseguire una sincronizzazione unica dal database clonato al dominio. OpenSearch -
Vai alla tabella DynamoDB per lo stack di replica. Il nome della tabella sarà il nome dell'applicazione specificato nel AWS CloudFormation modello (l'impostazione predefinita è) con un suffisso.
NeptuneStream
-LeaseTable
In altre parole, il nome predefinito della tabella èNeptuneStream-LeaseTable
.È possibile esplorare le righe della tabella mediante la scansione, in quanto nella tabella deve essere presente una sola riga. Apporta le seguenti modifiche utilizzando i valori
opNum
ecommitNum
annotati in precedenza:Modifica il valore del campo
checkpoint
della tabella con il valore annotato percommitNum
.Modifica il valore del campo
checkpointSubSequenceNumber
della tabella con il valore annotato peropNum
.
Riabilita il processo di replica come descritto in Riabilitazione del processo di polling dei flussi.
Eliminate il database clonato e lo AWS CloudFormation stack creato per lo strumento.
export-neptune-to-elasticsearch