

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

# 檢查 Aurora 叢集和執行個體的執行時間
<a name="USER_Reboot.Uptime"></a>

 您可以檢查並監控 Aurora 叢集中自每個資料庫執行個體自上次重新啟動以來的時間長度。Amazon CloudWatch 指標 `EngineUptime` 報告自上次啟動資料庫執行個體以來的秒數。您可以在某個時間點檢查此指標，以找出資料庫執行個體的執行時間。您也可以隨時間監控此指標，以偵測何時重新啟動執行個體。

 您也可以在叢集層級檢查 `EngineUptime` 指標。`Minimum` 和 `Maximum` 維度會報告叢集中所有資料庫執行個體的最小和最大執行時間值。若要檢查叢集中任何讀取器執行個體重新啟動或因其他原因而重新啟動的最近時間，請使用 `Minimum` 維度監控叢集層級指標。若要檢查叢集中的哪個執行個體在不重新啟動的情況下工作了最長時間，請使用 `Maximum` 維度監控叢集層級指標。例如，您可能想要確認叢集中的所有資料庫執行個體在組態變更後重新啟動。

**提示**  
 針對長期監控，我們建議您監控個別執行個體的 `EngineUptime` 指標，而不是在叢集層級監控。將新的資料庫執行個體新增至叢集時，叢集層級 `EngineUptime` 指標會設為零。這類叢集變更可能會作為維護和擴展操作的一部分發生，例如由 Auto Scaling 執行的操作。

 下列 CLI 範例顯示如何檢查叢集中寫入器和讀取器執行個體的 `EngineUptime` 指標。這些範例使用名為 `tpch100g` 的叢集。此叢集具有寫入器資料庫執行個體 `instance-1234`。它還具有兩個讀取器資料庫執行個體 (`instance-7448` 和 `instance-6305`)。

 首先，`reboot-db-instance` 命令會重新啟動其中一個讀取器執行個體。`wait` 命令會一直等待執行個體完成重新啟動。

```
$ aws rds reboot-db-instance --db-instance-identifier instance-6305
{
    "DBInstance": {
        "DBInstanceIdentifier": "instance-6305",
        "DBInstanceStatus": "rebooting",
...
$ aws rds wait db-instance-available --db-instance-id instance-6305
```

 CloudWatch `get-metric-statistics` 命令會以一分鐘的間隔檢查過去五分鐘的 `EngineUptime` 指標。`instance-6305` 執行個體的執行時間會重設為零，並再次開始向上計數。此 Linux AWS CLI範例使用`$()`變數替換，將適當的時間戳記插入 CLI 命令。它也會使用 Linux `sort` 命令，依據收集指標的時間排序輸出。該時間戳記值是輸出的每一行中的第三個欄位。

```
$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBInstanceIdentifier,Value=instance-6305 --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	231.0	2021-03-16T18:19:00+00:00	Seconds
DATAPOINTS	291.0	2021-03-16T18:20:00+00:00	Seconds
DATAPOINTS	351.0	2021-03-16T18:21:00+00:00	Seconds
DATAPOINTS	411.0	2021-03-16T18:22:00+00:00	Seconds
DATAPOINTS	471.0	2021-03-16T18:23:00+00:00	Seconds
```

 叢集的最短執行時間會重設為零，因為叢集中的一個執行個體已重新啟動。叢集的執行時間上限不會重設，因為叢集中至少有一個資料庫執行個體仍然可用。

```
$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Minimum \
  --dimensions Name=DBClusterIdentifier,Value=tpch100g --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	63099.0	2021-03-16T18:12:00+00:00	Seconds
DATAPOINTS	63159.0	2021-03-16T18:13:00+00:00	Seconds
DATAPOINTS	63219.0	2021-03-16T18:14:00+00:00	Seconds
DATAPOINTS	63279.0	2021-03-16T18:15:00+00:00	Seconds
DATAPOINTS	51.0	2021-03-16T18:16:00+00:00	Seconds

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBClusterIdentifier,Value=tpch100g --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	63389.0	2021-03-16T18:16:00+00:00	Seconds
DATAPOINTS	63449.0	2021-03-16T18:17:00+00:00	Seconds
DATAPOINTS	63509.0	2021-03-16T18:18:00+00:00	Seconds
DATAPOINTS	63569.0	2021-03-16T18:19:00+00:00	Seconds
DATAPOINTS	63629.0	2021-03-16T18:20:00+00:00	Seconds
```

 然後另一個 `reboot-db-instance` 命令會重新啟動叢集的寫入器執行個體。另一個 `wait` 命令會暫停，直到寫入器執行個體完成重新啟動為止。

```
$ aws rds reboot-db-instance --db-instance-identifier instance-1234
{
  "DBInstanceIdentifier": "instance-1234",
  "DBInstanceStatus": "rebooting",
...
$ aws rds wait db-instance-available --db-instance-id instance-1234
```

 現在，寫入器執行個體的 `EngineUptime` 指標顯示最近已重新啟動執行個體 `instance-1234`。讀取器執行個體 `instance-6305` 也隨著寫入器執行個體自動重新啟動。這個叢集正在執行 Aurora MySQL 2.09，這不會讓讀取器執行個體在寫入器執行個體重新開機時執行。

```
$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBInstanceIdentifier,Value=instance-1234 --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	63749.0	2021-03-16T18:22:00+00:00	Seconds
DATAPOINTS	63809.0	2021-03-16T18:23:00+00:00	Seconds
DATAPOINTS	63869.0	2021-03-16T18:24:00+00:00	Seconds
DATAPOINTS	41.0	2021-03-16T18:25:00+00:00	Seconds
DATAPOINTS	101.0	2021-03-16T18:26:00+00:00	Seconds

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \
  --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \
  --period 60 --namespace "AWS/RDS" --statistics Maximum \
  --dimensions Name=DBInstanceIdentifier,Value=instance-6305 --output text \
  | sort -k 3
EngineUptime
DATAPOINTS	411.0	2021-03-16T18:22:00+00:00	Seconds
DATAPOINTS	471.0	2021-03-16T18:23:00+00:00	Seconds
DATAPOINTS	531.0	2021-03-16T18:24:00+00:00	Seconds
DATAPOINTS	49.0	2021-03-16T18:26:00+00:00	Seconds
```