Controllo dello stato di un’istanza Neptune - Amazon Neptune

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à.

Controllo dello stato di un’istanza Neptune

Amazon Neptune fornisce un meccanismo per controllare lo stato del database a grafo sull'host. È anche un buon metodo per confermare che sei in grado di connetterti a un’istanza.

Per verificare lo stato di integrità di un'istanza e ottenere lo stato del cluster di database utilizzando curl:

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

Oppure, a partire dal rilascio del motore 1.2.1.0.R6, puoi utilizzare il seguente comando della CLI:

aws neptunedata get-engine-status

Se l'istanza è integra, il comando status restituisce un oggetto JSON con i campi seguenti:

  • status: impostato su "healthy" se l'istanza non presenta problemi.

    Se l'istanza è in fase di ripristino dopo un arresto anomalo o un riavvio e ci sono transazioni attive in esecuzione dall'ultimo arresto del server, status è impostato su "recovery".

  • startTime: impostato sull'ora UTC in cui è iniziato il processo del server corrente.

  • dbEngineVersion: impostato sulla versione del motore Neptune in esecuzione sul cluster database.

    Se è stata applicata una patch manualmente a questa versione del motore dopo il rilascio, il numero della versione ha il prefisso "Patch-".

  • role: impostato su "reader" se l'istanza è una replica di lettura o su "writer" se è l'istanza primaria.

  • dfeQueryEngine: impostato su "enabled" se il motore DFE è completamente abilitato o su viaQueryHint se il motore DFE viene utilizzato solo con query per le quali l'hint di query useDFE è impostato su true (viaQueryHint è l'impostazione predefinita).

  • gremlin: contiene informazioni sul linguaggio di query Gremlin disponibile nel cluster. In particolare, contiene un version campo che specifica la TinkerPop versione corrente utilizzata dal motore.

  • sparql: contiene informazioni sul linguaggio di query SPARQL disponibile nel cluster. In particolare, contiene un campo version che specifica la versione corrente di SPARQL utilizzata dal motore.

  • opencypher: contiene informazioni sul linguaggio di query openCypher disponibile nel cluster. In particolare, contiene un campo version che specifica la versione corrente di operCypher utilizzata dal motore.

  • labMode: contiene le impostazioni della Modalità di laboratorio utilizzate dal motore.

  • rollingBackTrxCount: se sono presenti transazioni di cui è stato eseguito il rollback, questo campo è impostato sul numero di tali transazioni. Se non ne esistono, il campo non viene visualizzato.

  • rollingBackTrxEarliestStartTime: impostato sull'ora di inizio del rollback della prima transazione. Se non è stato eseguito il rollback di alcuna transazione, il campo non viene visualizzato.

  • features: contiene informazioni sullo stato delle funzionalità abilitate nel cluster database.

    • lookupCache: stato corrente della Cache di ricerca. Questo campo viene visualizzato solo per tipi di istanza R5d, poiché sono le uniche istanze in cui può esistere una cache di ricerca. Il campo è un oggetto JSON nel formato:

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

      Per un'istanza R5d:

      • Se la cache di ricerca è abilitata, lo stato è riportato come "Available".

      • Se la cache di ricerca è stata disabilitata, lo stato è riportato come "Disabled".

      • Se è stato raggiunto il limite del disco per l'istanza, lo stato viene riportato come "Read Only Mode - Storage Limit Reached".

    • ResultCache: stato corrente della Memorizzazione nella cache dei risultati delle query. Questo campo è un oggetto JSON nel formato:

      "ResultCache": { "status": "current results cache status" }
      • Se la cache dei risultati è stata abilitata, lo stato è riportato come "Available".

      • Se la cache è disabilitata, lo stato è riportato come "Disabled".

    • IAMAuthentication— Speciifica se l'autenticazione AWS Identity and Access Management (IAM) è stata abilitata o meno sul cluster DB:

      • Se l'autenticazione IAM è stata abilitata, lo stato è riportato come "enabled".

      • Se l'autenticazione IAM è disabilitata, lo stato è riportato come "disabled".

    • Streams: specifica se la funzionalità Neptune Streams è stata abilitata o meno sul cluster database:

      • Se i flussi sono abilitati, lo stato è riportato come "enabled".

      • Se i flussi sono disabilitati, lo stato è riportato come "disabled".

    • AuditLog: uguale a enabled se i log di audit sono abilitati, in caso contrario disabled.

    • SlowQueryLogs: uguale a info o debug se la registrazione di log delle query lente è abilitata, in caso contrario disabled.

    • QueryTimeout: valore, in millisecondi, del timeout delle query.

  • settings: impostazioni applicate all'istanza:

    • clusterQueryTimeoutInMs: valore, in millisecondi, del timeout delle query, impostato per l'intero cluster.

    • SlowQueryLogsThreshold: valore, in millisecondi, del timeout delle query, impostato per l'intero cluster.

  • serverlessConfiguration: impostazioni serverless per un cluster se è in esecuzione come serverless:

    • minCapacity: dimensioni minime fino alle quali può ridursi un'istanza serverless nel cluster database, in unità di capacità Neptune (NCU, Neptune Capacity Unit).

    • maxCapacity: dimensioni massime fino alle quali può aumentare un'istanza serverless nel cluster database, in unità di capacità Neptune (NCU, Neptune Capacity Unit).

Esempio di output del comando di stato dell'istanza

Di seguito è riportato un esempio dell'output del comando di stato dell'istanza, (in questo caso, eseguito su un'istanza 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' } }

Se si verifica un problema con l’istanza, il comando di stato restituisce il codice di errore HTTP 500. Se l'host non è raggiungibile, la richiesta scade. Verifica di accedere all’istanza dal cloud privato virtuale (VPC, Virtual Private Cloud) e che i gruppi di sicurezza consentano l'accesso.