检查 Neptune 实例的运行状况 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

检查 Neptune 实例的运行状况

Amazon Neptune 提供了一种用于检查主机上的图形数据库状态的机制。这也是确认您能够连接到实例的好方法。

使用 curl 检查实例的运行状况并获取数据库集群状态:

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

或者,从引擎 1.2.1.0.R6 版本开始,您可以改用以下 CLI 命令:

aws neptunedata get-engine-status

如果实例运行正常,则 status 命令会返回具有以下字段的 JSON 对象

  • status – 如果实例没有遇到问题,则设置为 "healthy"

    如果实例从崩溃中恢复或者进行了重启,并且最近一次服务器关闭时仍有活动的事务在运行,则 status 设置为 "recovery"

  • startTime – 设置为当前服务器进程启动的 UTC 时间。

  • dbEngineVersion – 设置为在数据库集群上运行的 Neptune 引擎版本。

    如果此引擎版本发布以来已手动安装补丁程序,则版本号添加前缀 "Patch-"

  • role – 如果实例为只读副本,则设置为 "reader";如果实例为主实例,则设置为 "writer"

  • dfeQueryEngine – 如果 DFE 引擎已完全启用,则设置为 "enabled";或者如果 DFE 引擎仅用于 useDFE 查询提示设置为 trueviaQueryHint 为默认值)的查询,则设置为 viaQueryHint

  • gremlin – 包含有关您的集群上可用的 Gremlin 查询语言的信息。具体而言,它包含一个version字段,用于指定引擎正在使用的当前 TinkerPop 版本。

  • sparql – 包含有关您的集群上可用的 SPARQL 查询语言的信息。具体而言,它包含一个 version 字段,用于指定引擎正在使用的当前 SPARQL 版本。

  • opencypher – 包含有关您的集群上可用的 openCypher 查询语言的信息。具体而言,它包含一个 version 字段,用于指定引擎正在使用的当前 OperCypher 版本。

  • labMode – 包含引擎正在使用的 实验室模式 设置。

  • rollingBackTrxCount – 如果有事务正在回滚,则此字段将设置为此类事务的数量。如果没有,则该字段根本不会出现。

  • rollingBackTrxEarliestStartTime – 设置为正在回滚的最早事务的开始时间。如果没有回滚任何事务,则该字段根本不会出现。

  • features – 包含有关在您的数据库集群上启用的特征的状态信息:

    • lookupCache查找缓存 的当前状态。此字段仅出现在 R5d 实例类型上,因为这些是可能存在查找缓存的仅有实例。该字段是采用以下形式的 JSON 对象:

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

      R5d 实例上:

      • 如果启用了查找缓存,则状态将列为 "Available"

      • 如果已禁用查找缓存,则状态将列为 "Disabled"

      • 如果已达到实例上的磁盘限制,则状态将列为 "Read Only Mode - Storage Limit Reached"

    • ResultCache缓存查询结果 的当前状态。此字段是采用以下形式的 JSON 对象:

      "ResultCache": { "status": "current results cache status" }
      • 如果已启用结果缓存,则状态将列为 "Available"

      • 如果缓存已禁用,则状态将列为 "Disabled"

    • IAMAuthentication – 指定是否已在数据库集群上启用 Amazon Identity and Access Management (IAM) 身份验证:

      • 如果启用了 IAM 身份验证,则状态将列为 "enabled"

      • 如果禁用 IAM 身份验证,则状态将列为 "disabled"

    • Streams – 指定您的数据库集群上是否已启用 Neptune 流:

      • 如果启用了流,则状态将列为 "enabled"

      • 如果流已禁用,则状态将列为 "disabled"

    • AuditLog – 如果启用了审计日志,则等于 enabled,否则为 disabled

    • SlowQueryLogs – 如果启用了慢速查询日志记录,则等于 infodebug,否则为 disabled

    • QueryTimeout – 查询超时的值(以毫秒为单位)。

  • settings – 应用于实例的设置:

    • clusterQueryTimeoutInMs – 为整个集群设置的查询超时值(以毫秒为单位)。

    • SlowQueryLogsThreshold – 为整个集群设置的查询超时值(以毫秒为单位)。

  • serverlessConfiguration – 如果集群以无服务器模式运行,则为该集群的无服务器设置:

    • minCapacity – 数据库集群中无服务器实例可以缩小到的最小大小,以 Neptune 容量单位 (NCU) 为单位。

    • maxCapacity – 数据库集群中无服务器实例可以增长到的最大大小,以 Neptune 容量单位 (NCU) 为单位。

实例状态命令的输出示例

以下是实例状态命令(在本例中,在 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' } }

如果实例出现问题,此状态命令将返回 HTTP 500 错误代码。如果主机无法访问,此请求将超时。请确保您正在从 Virtual Private Cloud (VPC) 内访问实例并且您的安全组允许对其访问。