

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

# 檢查 Neptune 執行個體的運作狀態
<a name="access-graph-status"></a>

Amazon Neptune 會提供一種機制，用來檢查主機上圖形資料庫的狀態。這也是確認您可以連線到執行個體的好方法。

使用 `curl` 檢查執行個體的運作狀態，並取得資料庫叢集狀態：

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

或者，從[引擎版本 1.2.1.0.R6](engine-releases-1.2.1.0.R6.md) 開始，您也可以改用下列 CLI 指令：

```
aws neptunedata get-engine-status
```

如果執行個體運作狀態良好，`status` 命令會一併傳回 [JSON 物件](#access-graph-status-sample-output)及下列欄位：
+ **`status`** – 如果執行個體沒有發生問題，則設定為 `"healthy"`。

  如果執行個體正在從當機復原，或是正在重新開機，而仍有從最近一次伺服器關機執行的作用中交易，則 `status` 會設定為 `"recovery"`。
+ **`startTime`** – 設定為目前伺服器程序啟動的 UTC 時間。
+ **`dbEngineVersion`** – 設定為資料庫叢集上執行的 Neptune 引擎版本。

  若此引擎版本自發行以來已手動進行修補，則版本號碼會加上 `"Patch-"` 前綴。
+ **`role`** – 如果執行個體是僅供讀取複本，則設定為 `"reader"`，或者，如果執行個體是主要執行個體，則設定為 `"writer"`。
+ **`dfeQueryEngine`** – 如果 [DFE 引擎](neptune-dfe-engine.md)已完全啟用，則設定為 `"enabled"`，或者，如果 DFE 引擎僅與 `useDFE` 查詢提示設定為 `true` 的查詢搭配使用，則設定為 `viaQueryHint` (`viaQueryHint` 是預設值)。
+ **`gremlin`** – 包含叢集上可用之 Grimlin 查詢語言的相關資訊。具體而言，它包含一個 `version` 欄位，指定引擎正在使用的目前 TinkerPop 版本。
+ **`sparql`** – 包含叢集上可用之 SPARQL 查詢語言的相關資訊。具體而言，它包含一個 `version` 欄位，指定引擎正在使用的目前 SPARQL 版本。
+ **`opencypher`** – 包含叢集上可用之 openCypher 查詢語言的相關資訊。具體而言，它包含一個 `version` 欄位，指定引擎正在使用的目前 openCypher 版本。
+ **`labMode`** – 包含引擎正在使用的 [實驗室模式](features-lab-mode.md) 設定。這是實驗室模式設定的選擇性清單，而不是完整的集合。如需使用中的完整集，請參閱[叢集參數群組](https://docs.aws.amazon.com//neptune/latest/userguide/parameter-groups.html)。
+ **`rollingBackTrxCount`** – 如果有要復原的交易，則此欄位會設定為此類交易的數目。如果沒有，則欄位根本不會出現。
+ **`rollingBackTrxEarliestStartTime`** – 設定為正在復原之最早交易的開始時間。如果沒有任何交易正在復原，則欄位根本不會出現。
+ **`features`** – 包含有關資料庫叢集上啟用之功能的狀態資訊：
  + **`lookupCache`** – [查詢快取](feature-overview-lookup-cache.md) 目前的狀態。此欄位只會出現在 `R5d` 執行個體類型上，因為這些是查詢快取可在其中存在的唯一執行個體。此欄位是 JSON 物件，格式如下：

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

    在 `R5d` 執行個體上：
    + 如果已啟用查詢快取，則狀態會列示為 `"Available"`。
    + 如果已停用查詢快取，則狀態會列示為 `"Disabled"`。
    + 如果執行個體上已達到磁碟限制，則狀態會列示為 `"Read Only Mode - Storage Limit Reached"`。
  + **`ResultCache`** – [快取查詢結果](gremlin-results-cache.md) 目前的狀態。此欄位是 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`** – 如果已啟用[慢查詢記錄](slow-query-logs.md)，等於 `info` 或 `debug`，否則等於 `disabled`。
  + **`QueryTimeout`** – 查詢逾時的值 (以毫秒為單位)。
+ **`settings`** – 套用至執行個體的設定：
  + **`clusterQueryTimeoutInMs`** – 針對整個叢集設定的查詢逾時值 (以毫秒為單位)。
  + **`SlowQueryLogsThreshold`** – 針對整個叢集設定的查詢逾時值 (以毫秒為單位)。
+ **`serverlessConfiguration`** – 叢集的無伺服器設定 (如果叢集以無伺服器形式執行)：
  + **`minCapacity`** – 資料庫叢集中無伺服器執行個體可以縮小至的最小大小，以 Neptune 容量單位 (NCU) 表示。
  + **`maxCapacity`** – 資料庫叢集中無伺服器執行個體可以增長至的最大大小，以 Neptune 容量單位 (NCU) 表示。

## 執行個體狀態命令的範例輸出
<a name="access-graph-status-sample-output"></a>

以下是來自執行個體狀態命令的輸出範例 (在此情況下，於 `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) 內部存取執行個體，並且您的安全群組允許您存取它。