Vérification du statut d'une instance Neptune - Amazon Neptune

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.

Vérification du statut d'une instance Neptune

Amazon Neptune offre un mécanisme permettant de vérifier le statut de la base de données orientée graphe sur l'hôte. Il s'agit également d'une bonne solution pour confirmer que vous êtes en mesure de vous connecter à une instance.

Pour vérifier l’état d’une instance et obtenir l’état du cluster de bases de données à l’aide de curl :

curl -G https://your-neptune-endpoint:port/status

À partir de la version 1.2.1.0.R6 du moteur, vous pouvez utiliser la commande CLI suivante à la place :

aws neptunedata get-engine-status

Si l’instance est saine, la commande status renvoie un objet JSON avec les champs suivants :

  • status : défini sur "healthy" si l'instance ne rencontre aucun problème.

    Si l'instance est en cours de récupération suite à un incident ou parce qu'elle a été redémarrée et que des transactions actives sont en cours d'exécution depuis le dernier arrêt de serveur, status est défini sur "recovery".

  • startTime : défini sur l'heure UTC (heure universelle coordonnée) à laquelle le processus serveur actuel a démarré.

  • dbEngineVersion : défini sur la version de moteur Neptune exécutée sur votre cluster de bases de données.

    Si cette version de moteur a été corrigée manuellement depuis sa publication, le numéro de version est préfixé par "Patch-".

  • role : défini sur "reader" si l'instance est un réplica en lecture ou sur "writer" s'il s'agit de l'instance principale.

  • dfeQueryEngine : défini sur "enabled" si le moteur DFE est complètement activé, ou sur viaQueryHint (valeur par défaut) si le moteur DFE n'est utilisé qu'avec les requêtes dont l'indicateur de requête useDFE est défini sur true (viaQueryHint est la valeur par défaut).

  • gremlin : contient des informations sur le langage de requête Gremlin disponible sur votre cluster. Plus précisément, il contient un version champ qui indique la TinkerPop version actuelle utilisée par le moteur.

  • sparql : contient des informations sur le langage de requête SPARQL disponible sur votre cluster. Plus précisément, il contient un champ version qui spécifie la version actuelle de SPARQL utilisée par le moteur.

  • opencypher : contient des informations sur le langage de requête openCypher disponible sur votre cluster. Plus précisément, il contient un champ version qui spécifie la version actuelle d'openCypher utilisée par le moteur.

  • labMode : contient les paramètres Mode Lab utilisés par le moteur.

  • rollingBackTrxCount : si des transactions sont annulées, ce champ est défini sur le nombre de transactions de ce type. S'il n'y en a pas, ce champ ne s'affiche pas.

  • rollingBackTrxEarliestStartTime : heure de début de la transaction la plus ancienne annulée. Si aucune transaction n'est annulée, ce champ ne s'affiche pas.

  • features : contient des informations de statut sur les fonctionnalités activées sur votre cluster de bases de données.

    • lookupCache : statut actuel de Cache de recherche. Ce champ n'apparaît que sur les types d'instances R5d, car ce sont les seules instances où un cache de recherche peut exister. Ce champ est un objet JSON sous la forme :

      "lookupCache": { "status": "current lookup cache status" }

      Dans une instance R5d :

      • Si le cache de recherche est activé, le statut indique "Available".

      • Si le cache de recherche a été désactivé, le statut indique "Disabled".

      • Si la limite de disque a été atteinte sur l'instance, le statut indique "Read Only Mode - Storage Limit Reached".

    • ResultCache : statut actuel de Mise en cache des résultats de requête. Ce champ est un objet JSON sous la forme :

      "ResultCache": { "status": "current results cache status" }
      • Si le cache des résultats a été activé, le statut indique "Available".

      • Si le cache est désactivé, le statut indique "Disabled".

    • IAMAuthentication— Spécifie si l'authentification AWS Identity and Access Management (IAM) a été activée ou non sur votre cluster de base de données :

      • Si l'authentification IAM a été activée, le statut indique "enabled".

      • Si l'authentification IAM est désactivée, le statut indique "disabled".

    • Streams : spécifie si les flux Neptune ont été activés ou non sur le cluster de bases de données :

      • Si les flux sont activés, le statut indique "enabled".

      • Si les flux sont désactivés, le statut indique "disabled".

    • AuditLog : égal à enabled si les journaux d'audit sont activés. disabled, dans le cas contraire.

    • SlowQueryLogs : égal à info ou debug si la journalisation des requêtes lentes est activée. disabled, dans le cas contraire.

    • QueryTimeout : valeur, en millisecondes, du délai d'expiration des requêtes.

  • settings : paramètres appliqués à l'instance :

    • clusterQueryTimeoutInMs : valeur, en millisecondes, du délai d'expiration de la requête, défini pour l'ensemble du cluster.

    • SlowQueryLogsThreshold : valeur, en millisecondes, du délai d'expiration de la requête, défini pour l'ensemble du cluster.

  • serverlessConfiguration : paramètres sans serveur pour un cluster s'il fonctionne en mode sans serveur :

    • minCapacity : plus petite taille possible pour une instance sans serveur de votre cluster de bases de données, en unités de capacité Neptune (NCU).

    • maxCapacity : plus grande taille possible pour une instance sans serveur de votre cluster de bases de données, en unités de capacité Neptune (NCU).

Exemple de sortie de la commande de statut d'instance

Voici un exemple du résultat de la commande de statut d'instance (dans ce cas, exécutée sur une instance R5d) :

{ 'status': 'healthy', 'startTime': 'Thu Aug 24 21:47:12 UTC 2023', 'dbEngineVersion': '1.2.1.0.R4', 'role': 'writer', 'dfeQueryEngine': 'viaQueryHint', 'gremlin': {'version': 'tinkerpop-3.6.2'}, 'sparql': {'version': 'sparql-1.1'}, 'opencypher': {'version': 'Neptune-9.0.20190305-1.0'}, 'labMode': { 'ObjectIndex': 'disabled', 'ReadWriteConflictDetection': 'enabled' }, 'features': { 'SlowQueryLogs': 'disabled', 'ResultCache': {'status': 'disabled'}, 'IAMAuthentication': 'disabled', 'Streams': 'disabled', 'AuditLog': 'disabled' }, 'settings': { 'clusterQueryTimeoutInMs': '120000', 'SlowQueryLogsThreshold': '5000' }, 'serverlessConfiguration': { 'minCapacity': '1.0', 'maxCapacity': '128.0' } }

S'il y a un problème avec l'instance, la commande de demande de statut renvoie le code d'erreur HTTP 500. Si l'hôte est inaccessible, la demande expire. Assurez-vous que vous accédez à l’instance depuis le Virtual Private Cloud (VPC) et que vos groupes de sécurité vous autorisent l'accès à celui-ci.