Check the Health Status of a Neptune Instance - Amazon Neptune

Check the Health Status of a Neptune Instance

Amazon Neptune provides a mechanism to check the status of the graph database on the host. It's also a good way to confirm that you are able to connect to an instance.

To check the health of an instance using curl:

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

If the instance is healthy, the status command returns the following fields:

  • status   –   Set to "healthy" if the instance is not experiencing problems.

    If the instance is recovering from a crash or from being rebooted and there are active transactions running from the latest server shutdown, status is set to "recovery".

  • startTime   –   Set to the UTC time at which the current server process started.

  • dbEngineVersion   –   Set to the Neptune engine version running on your DB cluster.

    If this engine version has been manually patched since it was released, the version number is prefixed by "Patch-".

  • role   –   Set to "reader" if the instance is a read-replica, or to "writer" if the instance is the primary instance.

  • gremlin   –   Contains information about the Gremlin query language available on your cluster. Specifically, it contains a version field that specifies the current TinkerPop version being used by the engine.

  • sparql   –   Contains information about the SPARQL query language available on your cluster. Specifically, it contains a version field that specifies the current SPARQL version being used by the engine.

  • labMode   –   Contains Lab Mode settings being used by the engine.

  • rollingBackTrxCount   –   If there are transactions being rolled back, this field is set to the number of such transactions. If there are none, the field doesn't appear at all.

  • rollingBackTrxEarliestStartTime   –   Set to the start time of the earliest transaction being rolled back. If no transactions are being rolled back, the field doesn't appear at all.

  • features   –   Contains status information about the features enabled on your DB cluster:

    • lookupCache   –   The current status of the Lookup cache. This field only appears on R5d instance types, since those are the only instances where a lookup cache can exist. The field is a JSON object in the form:

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

      On an R5d instance:

      • If the lookup cache is enabled, the status is listed as "Available".

      • If the lookup cache has been disabled, the status is listed as "Disabled".

      • If the disk limit has been reached on the instance, the status is listed as "Read Only Mode - Storage Limit Reached".

    • ResultCache   –   The current status of the Caching query results. This field is a JSON object in the form:

      "resultCache": { "status": "current results cache status" }
      • If the results cache has been enabled, the status is listed as "Available".

      • If the cache is disabled, the status is listed as "Disabled".

    • IAMAuthentication   –   Specifies whether or not AWS Identity and Access Management (IAM) authentication has been enabled on your DB cluster:

      • If IAM authentication been enabled, the status is listed as "enabled".

      • If IAM authentication is disabled, the status is listed as "disabled".

    • Streams   –   Specifies whether or not Neptune streams have been enabled on your DB cluster:

      • If streams are enabled, the status is listed as "enabled".

      • If streams are disabled, the status is listed as "disabled".

    • AuditLog   –   Specifies whether or the audit log has been enabled on your DB cluster:

      • If the enabled, the status is listed as "enabled".

      • If audit log is disabled, the status is listed as "disabled".

  • settings   –   Contains information about the current settings on your DB cluster. For example, contains the current cluster query timeout setting:

    • clusterQueryTimeoutInMs   –   Specifies the current query timeout setting on your cluster.

Example of the output from the instance status command

The following is an example of the output from the instance status command, (in this case, run on an R5d instance):

{ "status":"healthy", "startTime":"Thu Jun 17 17:11:09 UTC 2021", "dbEngineVersion":"development", "role":"writer", "gremlin":{ "version":"tinkerpop-3.4.10" }, "sparql":{ "version":"sparql-1.1" }, "labMode":{ "ObjectIndex":"disabled", "DFEQueryEngine":"disabled", "ReadWriteConflictDetection":"enabled" }, "features":{ "LookupCache":{ "status":"Available" }, "ResultCache":{ "status":"Disabled" }, "IAMAuthentication":"disabled", "Streams":"disabled", "AuditLog":"disabled" }, "settings":{ "clusterQueryTimeoutInMs":"120000" } }

If there is a problem with the instance, the status command returns the HTTP 500 error code. If the host is unreachable, the request times out. Ensure that you are accessing the instance from within the virtual private cloud (VPC), and that your security groups allow you access to it.