Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Note
Si vous avez activé le contrôle d'accès détaillé sur votre OpenSearch cluster, vous devez également activer l'authentification IAM dans votre base de données Neptune.
Pour diagnostiquer les problèmes liés à la réplication depuis Neptune vers OpenSearch, consultez les CloudWatch journaux de la fonction Lambda de votre sondeur. Ces journaux fournissent des informations détaillées sur le nombre d'enregistrements lus dans le flux et sur le nombre d'enregistrements répliqués avec succès. OpenSearch
Vous pouvez également modifier le niveau LOGGING de la fonction Lambda en modifiant la variable d'environnement LoggingLevel
.
Note
Lorsque cette option est LoggingLevel
définie surDEBUG
, vous pouvez afficher des informations supplémentaires, telles que les enregistrements de flux supprimés et la raison pour laquelle chacun a été supprimé, tout en répliquant les données StreamPoller de OpenSearch Neptune vers. Cette approche peut être utile si vous constatez qu'il vous manque des enregistrements.
L'application Neptune Streams destinée aux consommateurs publie deux indicateurs CloudWatch qui peuvent également vous aider à diagnostiquer les problèmes :
StreamRecordsProcessed
: nombre d'enregistrements traités par l'application par unité de temps. Utile pour suivre le taux d'exécution de l'application.StreamLagTime
: différence de temps, en millisecondes, entre l'heure actuelle et l'heure de validation d'un enregistrement de flux en cours de traitement. Cette métrique montre à quel point l'application destinée aux consommateurs est en retard.
En outre, toutes les métriques liées au processus de réplication sont exposées dans un tableau de bord portant le même nom que celui ApplicationName
fourni lorsque vous avez instancié l'application à l'aide du CloudWatch modèle. CloudWatch
Vous pouvez également choisir de créer une CloudWatch alarme qui se déclenche chaque fois que le sondage échoue plus de deux fois de suite. Pour ce faire, définissez le champ CreateCloudWatchAlarm
sur true
lorsque vous instanciez l'application. Indiquez ensuite les adresses e-mail auxquelles vous souhaitez recevoir une notification lorsque l'alarme est déclenchée.
Dépannage d'un processus qui échoue lors de la lecture d'enregistrements à partir du flux
Si un processus échoue lors de la lecture d'enregistrements à partir du flux, assurez-vous que vous disposez des éléments suivants :
Le flux est activé sur votre cluster.
Le point de terminaison de flux Neptune est au format correct :
Pour Gremlin ou openCypher :
https://
ou son alias,your cluster endpoint
:your cluster port
/propertygraph/streamhttps://
your cluster endpoint
:your cluster port
/pg/streamPour SPARQL :
https://
your cluster endpoint
:your cluster port
/sparql/stream
Le point de terminaison DynamoDB est configuré pour votre VPC.
Le point de terminaison de surveillance est configuré pour vos sous-réseaux VPC.
Résolution des problèmes liés à l'échec d'un processus lors de l'écriture de données dans OpenSearch
Si un processus échoue lors de l'écriture d'enregistrements dans OpenSearch, assurez-vous que vous disposez des éléments suivants :
Votre version d'Elasticsearch est 7.1 ou supérieure, ou Opensearch 2.3 ou version ultérieure.
OpenSearch est accessible depuis la fonction Poller Lambda de votre VPC.
La politique de sécurité attachée à OpenSearch autorise les requêtes HTTP/HTTPS entrantes.
Résolution des out-of-sync problèmes entre Neptune et une configuration OpenSearch de réplication existante
Vous pouvez suivre les étapes ci-dessous pour synchroniser à nouveau une base de données et un OpenSearch domaine Neptune avec les données les plus récentes en cas de out-of-sync problèmes entre eux résultant d'une corruption de données ExpiredStreamException
ou d'une corruption de données.
Notez que cette approche supprime toutes les données du OpenSearch domaine et les resynchronise à partir de l'état actuel de la base de données Neptune. Aucune donnée n'a donc besoin d'être rechargée dans la base de données Neptune.
Désactivez le processus de réplication comme décrit dans Désactivation (suspension) du processus d'interrogateur de flux.
-
Supprimez l'index Neptune du OpenSearch domaine à l'aide de la commande suivante :
curl -X DELETE "
(your OpenSearch endpoint)
/amazon_neptune" Créez un clone de la base de données (voir Clonage de base de données dans Neptune).
-
Obtenez les derniers
eventID
des flux de la base de données clonée en exécutant une commande de ce type sur le point de terminaison de l'API Streams (voir Appel de l'API REST Neptune Streams pour plus d'informations) :curl "https://
(your neptune endpoint)
:(port)
/(propertygraph or sparql)
/stream?iteratorType=LATEST"Notez les valeurs des champs
commitNum
etopNum
dans l'objetlastEventId
de la réponse. Utilisez l'export-neptune-to-elasticsearch
outil sur github pour effectuer une synchronisation unique entre la base de données clonée et le OpenSearch domaine. -
Accédez à la table DynamoDB correspondant à la pile de réplication. Le nom de la table sera le nom de l'application que vous avez spécifié dans le AWS CloudFormation modèle (le nom par défaut est
NeptuneStream
) avec un-LeaseTable
suffixe. En d'autres termes, le nom de la table par défaut seraNeptuneStream-LeaseTable
.Vous pouvez explorer les lignes de la table en les analysant, car il ne devrait y avoir qu'une seule ligne. Apportez les modifications suivantes en utilisant les valeurs
commitNum
etopNum
que vous avez enregistrées ci-dessus :Remplacez la valeur du champ
checkpoint
dans la table par la valeur dont vous avez pris note pourcommitNum
.Remplacez la valeur du champ
checkpointSubSequenceNumber
dans la table par la valeur dont vous avez pris note pouropNum
.
Réactivez le processus de réplication comme décrit dans Réactivation du processus d'interrogateur de flux.
Supprimez la base de données clonée et la AWS CloudFormation pile créée pour l'
export-neptune-to-elasticsearch
outil.