本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检查 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查询提示设置为true(viaQueryHint为默认值)的查询,则设置为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– 如果启用了慢速查询日志记录,则等于info或debug,否则为disabled。 -
QueryTimeout– 查询超时的值(以毫秒为单位)。
-
-
settings– 应用于实例的设置:-
clusterQueryTimeoutInMs– 为整个集群设置的查询超时值(以毫秒为单位)。 -
SlowQueryLogsThreshold– 为整个集群设置的查询超时值(以毫秒为单位)。
-
-
serverlessConfiguration– 如果集群以无服务器模式运行,则为该集群的无服务器设置:minCapacity— 数据库集群中无服务器实例可以缩小到的最小大小,以 Neptune 容量单位 () 为单位NCUs。maxCapacity— 数据库集群中无服务器实例可以增长到的最大大小,以 Neptune 容量单位 () 为单位NCUs。
实例状态命令的输出示例
以下是实例状态命令(在本例中,在 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) 内访问实例并且您的安全组允许对其访问。