檢查 Neptune 執行個體的運作狀態 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢查 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"enabled" 如果DFE引擎已完全啟用,則設定為;viaQueryHint如果DFE引擎僅與useDFE查詢提示設定為 true (預設值) 的查詢搭配使用,viaQueryHint則設定為。

  • gremlin – 包含叢集上可用之 Grimlin 查詢語言的相關資訊。具體而言,它包含一個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— 指定是否已在資料庫叢集上啟用 AWS 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 容量單位 (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' } }

若執行個體發生問題,status 命令會傳回 HTTP 500 錯誤碼。如果主機無法連線,請求將逾時。確定您是從虛擬私有雲 (VPC) 內存取執行個體,而且您的安全群組允許您存取該執行個體。