

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

# 使用伺服器遙測指標進行監控
<a name="monitoring-gamelift-servers-metrics"></a>

Amazon GameLift Servers 可以設定為收集和發佈在受管 Amazon EC2 和容器機群上執行的遊戲伺服器的遙測指標。在您的伺服器建置中部署遙測收集器之後，即可使用這些指標。指標系統支援所有 SDKs (C\$1\$1、C\$1、Go)、所有外掛程式 (Unreal、Unity) 和Amazon GameLift Servers遊戲伺服器包裝函式。指標資料流至 [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)、 [使用 Amazon CloudWatch 監控 Amazon GameLift Servers](monitoring-cloudwatch.md)和 [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) 儀表板 （建議用於視覺化）。

![\[遙測指標\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/telemetry_metrics.png)


## 遙測指標的優點
<a name="gamelift-servers-metrics-benefits"></a>

遙測指標系統提供五個主要優點：
+ **遊戲引擎特定指標** — 遊戲引擎外掛程式 (Unreal、Unity) 提供與引擎特定效能指標的原生整合，例如伺服器刻度時間、影格率，以及對遊戲效能最佳化至關重要的引擎層級資源使用率。
+ **自訂指標支援**：使用伺服器 SDK 函數呼叫來定義和追蹤您自己的遊戲特定指標，以監控自訂遊戲事件、商業邏輯效能，以及對您遊戲至關重要的應用程式特定資料點。
+ **自動化收集** — 在遙測收集器部署之後，無需額外檢測，且直接與 [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) 和 Amazon CloudWatch 整合，即可自動執行指標流程。
+ **多層級監控** — 容量和擴展的機群層級指標、資源使用率的執行個體層級指標，以及效能追蹤的遊戲工作階段指標。
+ **通用相容性** — 適用於所有 Amazon GameLift Servers支援的開發環境、與所有伺服器 SDKs整合，以及遊戲引擎外掛程式中的原生支援。

**注意**  
遙測指標適用於執行 Amazon Linux 2023 或 Windows 的Amazon GameLift Servers受管 Amazon EC2 或容器機群。 Amazon EC2 

## 開始之前
<a name="gamelift-servers-metrics-prerequisites"></a>

### 必要 AWS 資源
<a name="required-aws-resources"></a>
+ AWS 為 設定的 帳戶Amazon GameLift Servers。
+ 執行於 的受管機群：
  + Amazon EC2 搭配支援的作業系統，或
  + 使用 Amazon Linux 2023 的容器
+ 適當的 IAM 許可

### IAM 要求
<a name="iam-requirements"></a>

只有在您計劃使用對應的服務時，才需要下列 IAM 許可：
+ **[Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)** （只有在將指標發佈至 Prometheus 時才需要）
  + `aps:RemoteWrite` 許可
  + 存取您的 Prometheus 工作區
+ **Amazon CloudWatch** （只有在將指標發佈至 Amazon CloudWatch 時才需要）
  + `cloudwatch:PutMetricData` 許可
  + 存取指標命名空間
+ **[Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)** （只有在使用 Grafana 儀表板時才需要）
  + `grafana:Read` 許可
  + 儀表板存取的 SSO 組態

# 實作
<a name="gamelift-servers-metrics-setup"></a>

根據您的開發環境選取您的實作路徑：

## SDK 實作
<a name="sdk-implementation"></a>


| SDK 類型 | SDK 設定 | 自訂指標 | API 參考 | 
| --- | --- | --- | --- | 
| Go 開發套件 | [完成設定指南](https://github.com/amazon-gamelift/amazon-gamelift-servers-go-server-sdk/blob/main/telemetry-metrics/METRICS.md) | [Go 指標 API](https://github.com/amazon-gamelift/amazon-gamelift-servers-go-server-sdk/blob/main/telemetry-metrics/CUSTOM_METRICS.md) | [Go 動作和資料類型](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-go-actions.html) | 
| C\$1 SDK | [完成設定指南](https://github.com/amazon-gamelift/amazon-gamelift-servers-csharp-server-sdk/blob/main/telemetry-metrics/METRICS.md) | [C\$1 指標 API](https://github.com/amazon-gamelift/amazon-gamelift-servers-csharp-server-sdk/blob/main/telemetry-metrics/CUSTOM_METRICS.md) | [C\$1 動作和資料類型](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk5-csharp-actions.html) | 
| C\$1\$1 開發套件 | [完成設定指南](https://github.com/amazon-gamelift/amazon-gamelift-servers-cpp-server-sdk/blob/main/telemetry-metrics/METRICS.md) | [C\$1\$1 指標 API](https://github.com/amazon-gamelift/amazon-gamelift-servers-cpp-server-sdk/blob/main/telemetry-metrics/CUSTOM_METRICS.md) | [C\$1\$1 動作和資料類型](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk5-cpp-actions.html) | 

## 外掛程式實作
<a name="plugin-implementation"></a>


| 外掛程式 | 外掛程式設定 | 自訂指標 | API 參考 | 
| --- | --- | --- | --- | 
| 不真實 | [完成設定指南](https://github.com/amazon-gamelift/amazon-gamelift-plugin-unreal/blob/main/TelemetryMetrics/METRICS.md) | [不真實指標 API](https://github.com/amazon-gamelift/amazon-gamelift-plugin-unreal/blob/main/TelemetryMetrics/CUSTOM_METRICS.md) | [不真實的動作和資料類型](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk5-unreal-actions.html) | 
| Unity | [完成設定指南](https://github.com/amazon-gamelift/amazon-gamelift-plugin-unity/blob/main/TelemetryMetrics/METRICS.md) | [Unity 指標 API](https://github.com/amazon-gamelift/amazon-gamelift-plugin-unity/blob/main/TelemetryMetrics/CUSTOM_METRICS.md) | [C\$1 動作和資料類型](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk5-csharp-actions.html) | 

## 實作工作流程
<a name="implementation-workflow"></a>

每個實作都遵循兩個步驟的程序：

1. **完成設定指南 (METRICS.md：//)** — 基礎設施部署、 AWS 基礎設施組態、機群設定和 Grafana 儀表板組態。

1. **API 實作指南 (CUSTOM\$1METRICS.md)** — 語言特定的 SDK 用量、指標類型、自訂指標建立和進階組態。

### 驗證
<a name="verification"></a>

1. 透過檢查 [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) 工作區或 Amazon CloudWatch 主控台是否有傳入遙測資料來驗證指標流程。

1. 使用預先建置的儀表板檢查 [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) 中的儀表板可見性。

1. 透過驗證它們出現在您的監控儀表板中來測試自訂指標。

**注意**  
完成實作後，返回此頁面並前往[可用指標](gamelift-servers-metrics-types.md)頁面。

# 可用的指標
<a name="gamelift-servers-metrics-types"></a>

指標分為三個類別：
+ 自動收集的指標
+ SDK 提供的指標
+ 自訂指標

## 自動指標集合
<a name="metrics-automatic-collection"></a>

這些指標不需要變更程式碼：

### 執行個體指標
<a name="metrics-instance-level"></a>


| 指標類型 | Description | 使用案例 | 
| --- | --- | --- | 
| CPU | 每個執行個體的百分比使用率 | 資源監控 | 
| 記憶體 | 實體記憶體用量和百分比 | 容量規劃 | 
| 網路 I/O | 傳送/接收的位元組和封包 | 連線運作狀態 | 
| 磁碟 I/O 資料 | 讀取/寫入操作和輸送量 | 儲存效能 | 

### 機群指標
<a name="metrics-fleet-level"></a>


| 指標類型 | Description | 使用案例 | 
| --- | --- | --- | 
| 作用中執行個體 | 執行中的執行個體計數 | 機群擴展 | 
| 遊戲工作階段 | 作用中和可用的工作階段 | 容量管理 | 
| 損毀的遊戲工作階段 | 已當機的遊戲工作階段 | 錯誤監控 | 

## SDK 提供的指標
<a name="metrics-sdk-functions"></a>

在您的程式碼中需要 SDK 函數呼叫：

### 伺服器計時指標
<a name="metrics-server-timings"></a>


| 指標 | Description | 實作 | 
| --- | --- | --- | 
| 伺服器 Delta Time | 目前伺服器刻度和上一個伺服器刻度之間的時間差異。測量伺服器刻度率的一致性 | 呼叫 GetDeltaTime() | 
| 伺服器刻度率 | 顯示伺服器每秒處理更新的次數 | 自動計算 | 
| 伺服器刻度時間 | 伺服器處理單一刻度或更新所需的時間 | 呼叫 GetTickTime() | 
| 伺服器世界刻度時間 | 伺服器使用每個刻度更新遊戲世界所需的時間 | 呼叫 GetWorldUpdateTime() | 

**實作：**對於與引擎無關SDKs (C\$1\$1、C\$1、Go)，您可以從遊戲迴圈呼叫 SDK 函數，並使用計算的計時值來實作這些指標。對於引擎外掛程式 (Unreal、Unity)，這些指標會透過引擎整合自動擷取。

### 網路指標
<a name="metrics-networking"></a>


| 指標 | Description | 實作 | 
| --- | --- | --- | 
| 連線 | 伺服器已建立的網路連線總數 | InitMetrics() 之後自動執行 | 
| 網路 I/O （位元組） | 伺服器透過網路傳送和接收的位元組總數 | InitMetrics() 之後自動執行 | 
| 網路 I/O （套件） | 伺服器傳送和接收的網路封包總數 | InitMetrics() 之後自動執行 | 
| 封包遺失 | 傳輸期間遺失的網路封包百分比 | InitMetrics() 之後自動執行 | 

**實作：**將 SDK 函數呼叫與您的網路程式庫整合。開發套件為不同的網路實作提供指引。

### 程序指標
<a name="metrics-process-level"></a>


| 指標 | Description | 實作 | 
| --- | --- | --- | 
| CPU 用量 (%) | 遊戲伺服器程序正在使用的 CPU 資源百分比 | InitMetrics() 之後自動執行 | 
| 記憶體用量 （單位） | 伺服器程序耗用的記憶體總量 | InitMetrics() 之後自動執行 | 
| 實體記憶體用量 (%) | 目前正在使用的伺服器實體記憶體總數百分比 | InitMetrics() 之後自動執行 | 
| 伺服器狀態 | 遊戲伺服器運作狀態 | InitMetrics() 之後自動執行 | 

**實作：**軟體開發套件會針對每個遊戲工作階段程序自動收集這些指標。

#### 每個程序儀表板組織
<a name="process-metrics-dashboards"></a>

每個程序指標可在兩個特殊儀表板中使用：
+ **伺服器效能儀表板** — 包含伺服器時間 （差異時間、刻度速率、刻度時間、世界刻度時間）、網路指標 （連線、I/O 位元組/封包、封包遺失）、記憶體用量，以及個別遊戲工作階段的 CPU 用量。
+ **執行個體效能儀表板** — 具有「Top N Memory Consuming Game Sessions」和「Top N CPU Consuming Game Sessions」資料表，可協助識別哪些程序對執行個體資源消耗貢獻最大。按一下遊戲工作階段連結可讓您更深入地調查詳細指標。

#### 每個程序指標使用案例
<a name="process-metrics-use-cases"></a>

每個程序/per-game-session指標支援下列監控案例：
+ **深入了解效能調查**：當主機/執行個體因特定程序或遊戲工作階段而降低效能時，每個程序指標有助於透過熱門 CPU 和耗用遊戲工作階段的記憶體資料表，找出導致問題的處理程序。
+ **遊戲伺服器當機調查** — 當遊戲工作階段當機時，這些指標有助於判斷當機是由於記憶體不足、CPU 過載或網路頻寬問題所致。
+ **調查玩家報告的問題** — 當玩家在遊戲期間報告延遲或中斷時，每個程序指標有助於識別 CPU、記憶體、網路、刻度時間或世界更新時間的瓶頸。
+ **識別不同組建中的效能變更** — 刻度時間、刻度率和世界更新時間指標可讓開發人員測量不同伺服器組建的遊戲效能如何變更。
+ **偵測遊戲中的延遲和緩慢 —** 刻度時間、刻度率和世界更新時間指標反映伺服器更新遊戲的速度，直接影響客戶體驗。
+ **基準測試**：根據玩家計數、遊戲模式和其他變數等因素，識別不同的遊戲案例如何影響伺服器效能。

## 儀表板組織
<a name="metrics-dashboard-usage"></a>

指標會在 [Amazon Managed Grafana ](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)中組織成專門的儀表板，以用於不同的監控案例。可用的儀表板取決於您的機群類型：

### EC2 機群儀表板
<a name="ec2-fleet-dashboards"></a>
+ **EC2 機群概觀儀表板** — 高階機群容量、擴展洞察、並行玩家 (CCU)、執行個體、玩家容量和當機遊戲工作階段。
+ **執行個體概觀儀表板** — 所有執行個體的彙總主機層級指標，包括平均 CPU、記憶體、網路和磁碟使用率。
+ **執行個體效能儀表板** — 個別執行個體的詳細指標，包含「Top N Memory Consuming Game Sessions」和「Top N CPU Consuming Game Sessions」資料表，用於識別資源密集型程序。
+ **伺服器效能儀表板 (EC2)** — EC2 執行個體上個別遊戲工作階段的遊戲迴圈計時、網路效能、記憶體和 CPU 指標。

### 容器機群儀表板
<a name="container-fleet-dashboards"></a>
+ **Container Fleet 概觀儀表板** — 容器機群資源使用率的高階概觀，包括 CPU 保留、記憶體使用率和容器群組狀態。
+ **容器效能儀表板** — 特定 ECS 任務內個別容器的詳細指標，包括 CPU 使用率、記憶體用量、網路 I/O 和儲存效能。
+ **伺服器效能儀表板 （容器）** — 容器中個別遊戲工作階段的遊戲迴圈時間、網路效能、記憶體和 CPU 指標。

如需詳細儀表板資訊和使用說明，請參閱 [儀表板組織和用量](gamelift-servers-metrics-dashboards.md)。

# 運作方式
<a name="gamelift-servers-metrics-architecture"></a>

遙測指標系統遵循從遊戲伺服器到視覺化儀表板的簡單四階段資料流程。

**集合：**您的遊戲伺服器與 GameLift Server SDK 或外掛程式整合，會自動將指標發送到在同一執行個體上執行的本機遙測收集器。SDK 會擷取您在程式碼中定義的自動指標 （伺服器生命週期、資源使用量） 和自訂指標。

**處理：**遙測收集器會從遊戲伺服器彙總指標，並將其與執行個體層級效能資料 (CPU、記憶體、網路、磁碟使用量） 結合。這可讓您完整了解遊戲效能和基礎基礎設施。

**儲存：**已處理的指標會匯出至您選擇的指標倉儲 - [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)，用於高效能的時間序列儲存、Amazon CloudWatch 用於 AWS 服務整合，或兩者。所有資料傳輸都會經過身分驗證和加密。

**視覺化：**[Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) 會連線至指標倉儲，以顯示預先建置的 GameLift 儀表板。這些儀表板提供機群概觀、伺服器效能詳細資訊和容器監控檢視，協助您監控和疑難排解遊戲託管基礎設施。

**注意**  
為了安全起見，遊戲伺服器與遙測收集器之間的所有指標傳輸會在本機執行個體上進行。只有收集器會使用適當的身分驗證與 AWS 服務通訊。

# 儀表板組織和用量
<a name="gamelift-servers-metrics-dashboards"></a>

在 [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) 的全面儀表板上檢視您的指標。可用的儀表板取決於您的機群類型：

## 依機群類型的儀表板可用性
<a name="dashboard-fleet-types"></a>

下表顯示適用於每個機群類型的儀表板：


| 儀表板 | 機群類型 | Description | 
| --- | --- | --- | 
| EC2 機群概觀 | EC2 機群 | 顯示並行玩家 (CCU)、執行個體和玩家容量的相關資訊 | 
| 執行個體概觀 | EC2 機群 | 顯示所有機群執行個體的平均 CPU、記憶體和網路使用率 | 
| 執行個體效能 | EC2 機群 | 顯示個別執行個體的詳細指標 (CPU、記憶體、磁碟、網路） | 
| 容器機群概觀 | 容器機群 | 顯示受管容器機群中所有容器的平均資源使用率 | 
| 容器效能 | 容器機群 | 顯示特定 ECS 任務中個別容器的詳細指標 | 
| 伺服器效能 | 兩者 | 顯示指定遊戲伺服器程序的網路、記憶體和執行時間效能 (EC2 和容器機群的個別版本） | 

**受管 EC2 機群：**
+ EC2 機群概觀提供高階機群容量和擴展洞察。
+ 使用執行個體概觀和執行個體效能儀表板進行主機層級監控。
+ 透過主機名稱接收器收集的指標，以實現系統層級的可見性。
+ 專注於 EC2 執行個體資源使用率和效能。
+ 伺服器效能 (EC2) 監控遊戲伺服器應用程式指標，與基礎基礎設施無關。

**受管容器機群：**
+ 使用容器機群概觀和容器效能儀表板進行 ECS 任務和容器層級監控。
+ 透過 ECS Container Receiver 收集的指標，用於容器化工作負載可見性。
+ 專注於任務層級彙總和容器資源隔離。
+ 伺服器效能 （容器） 監控遊戲伺服器應用程式指標，與基礎基礎設施無關。

## EC2 機群概觀儀表板
<a name="fleet-overview-dashboard"></a>

此儀表板提供機群全域和位置使用率和容量的高階概觀。它具有顯示遊戲伺服器停止、啟動和當機計數的圖表，以及運作狀態良好的遊戲伺服器百分比。您可以依 FleetID 和 Location 進行篩選。

### 機群概觀指標
<a name="fleet-overview-metrics"></a>

下表顯示機群概觀儀表板上可用的指標：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/gamelift-servers-metrics-dashboards.html)

**注意**  
CCU 指標需要在遊戲伺服器程式碼中實作。這些指標不會自動收集，而且必須由您的應用程式實作和報告。

## 執行個體概觀儀表板
<a name="instances-overview-dashboard"></a>

此儀表板提供機群中所有執行個體的彙總主機層級指標。目前平均值顯示執行個體的整體運作狀態。當效能降低時，請檢查 CPU 用量、記憶體使用量、網路和磁碟使用量是否有瓶頸。您可以依 FleetID 和 Location 進行篩選。

### 執行個體概觀指標
<a name="instances-overview-metrics"></a>

下表顯示執行個體概觀儀表板上可用的指標：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/gamelift-servers-metrics-dashboards.html)

**注意**  
執行個體層級指標會透過 託管接收器收集，並提供機群基礎設施效能的系統層級可見性。使用此儀表板來識別整體機群運作狀態趨勢，並在偵測到效能問題時深入研究個別執行個體。

## 執行個體效能儀表板
<a name="instance-performance-dashboard"></a>

此儀表板提供個別執行個體的詳細效能指標。目前平均值顯示整體執行個體運作狀態。當效能降低時，請檢查 CPU 使用量、記憶體使用量和檔案系統使用量是否有瓶頸。它具有「Top N Memory Consuming Game Sessions」和「Top N CPU Consuming Game Sessions」資料表，可協助識別哪些程序對執行個體資源消耗貢獻最大。按一下遊戲工作階段連結可讓您更深入地調查詳細指標。您可以依特定執行個體 ID 進行篩選。

### 執行個體效能指標
<a name="instance-performance-metrics"></a>

下表顯示執行個體效能儀表板上可用的指標：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/gamelift-servers-metrics-dashboards.html)

**注意**  
前 N 個記憶體和 CPU 使用遊戲工作階段資料表對於識別可能影響整體執行個體效能的效能瓶頸和資源密集型程序至關重要。這些排名可快速識別有問題的遊戲工作階段，以供進一步調查。

## Container Fleet 概觀儀表板
<a name="container-fleet-overview-dashboard"></a>

此儀表板提供容器機群資源使用率和容量的高階概觀。它會顯示受管容器機群中所有容器的平均資源使用率，包括 CPU 保留、記憶體使用率和容器群組狀態。您可以依 FleetID 和 Location 進行篩選。

### Container Fleet 概觀指標
<a name="container-fleet-overview-metrics"></a>

下表顯示容器機群概觀儀表板上可用的指標：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/gamelift-servers-metrics-dashboards.html)

**注意**  
容器機群指標是透過 ECS Container Receiver 收集，並提供容器化工作負載可見性，著重於任務層級彙總和容器資源隔離。

## 容器效能儀表板
<a name="container-performance-dashboard"></a>

此儀表板提供特定 ECS 任務中個別容器的詳細效能指標。它會顯示個別容器的詳細指標，包括 CPU 使用率、記憶體用量、網路 I/O 和儲存效能。您可以依特定容器 ID 或 ECS 任務進行篩選。

### 容器效能指標
<a name="container-performance-metrics"></a>

下表顯示容器效能儀表板上可用的指標：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/gamelift-servers-metrics-dashboards.html)

**注意**  
容器效能指標提供 ECS 任務中個別容器資源耗用量和效能特性的詳細可見性。

## 伺服器效能儀表板
<a name="server-performance-dashboard"></a>

伺服器效能儀表板會顯示與個別遊戲工作階段的伺服器時間、網路活動、記憶體和 CPU 使用量相關的指標。您可以依遊戲工作階段 ID 進行篩選，並將指標直接匯出至 Amazon CloudWatch 或 [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)。

### 伺服器效能指標
<a name="server-performance-metrics"></a>

下表顯示伺服器效能儀表板上可用的指標：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/gamelift-servers-metrics-dashboards.html)

# 常見監控案例
<a name="gamelift-servers-metrics-scenarios"></a>

## 深入了解效能調查
<a name="scenario-dive-deep-performance"></a>

**案例：**主機/執行個體因特定程序或遊戲工作階段而效能降低

**調查步驟：**
+ 存取執行個體效能儀表板。
+ 檢閱「Top N Memory Consuming Game Sessions」資料表，以識別哪些程序對執行個體記憶體消耗貢獻最大。
+ 檢閱「Top N CPU Consuming Game Sessions」資料表，以識別哪些程序對執行個體 CPU 使用率貢獻最大。
+ 按一下遊戲工作階段連結，以對詳細指標進行更深入的調查。
+ 分析伺服器時間 （伺服器 Delta Time、伺服器刻度率、伺服器刻度時間、伺服器世界刻度時間） 以識別效能瓶頸。

## 遊戲伺服器當機調查
<a name="scenario-game-server-crash"></a>

**案例：**遊戲工作階段已當機，您需要判斷根本原因

**調查步驟：**
+ 存取當機遊戲工作階段的伺服器效能儀表板。
+ 檢查記憶體用量 （單位） 和實體記憶體用量 (%)，以判斷當機是否因記憶體不足而發生。
+ 檢閱 CPU 用量 (%)，以識別 CPU 過載是否導致當機。
+ 分析網路 I/O （位元組） 和網路 I/O （套件），以判斷網路頻寬問題是否導致當機。
+ 檢查封包遺失百分比以識別網路相關問題。

## 調查玩家報告的問題
<a name="scenario-player-reported-issues"></a>

**案例：**玩家在遊戲期間報告延遲或中斷

**調查步驟：**
+ 存取受影響遊戲工作階段的伺服器效能儀表板。
+ 檢閱伺服器刻度時間和伺服器世界刻度時間，以識別遊戲更新中的延遲。
+ 檢查伺服器勾選率，以確保一致的伺服器更新頻率。
+ 分析 CPU 用量 (%) 以識別處理瓶頸。
+ 檢閱記憶體用量指標以識別記憶體相關的效能問題。
+ 檢查網路 I/O 指標和封包遺失，以識別網路瓶頸。

## 識別不同遊戲伺服器組建中的效能變更
<a name="scenario-performance-changes-builds"></a>

**案例：**您想要測量遊戲效能在不同伺服器建置之間的變化

**調查步驟：**
+ 比較不同組建之間的伺服器刻度時間指標，以測量處理效率變更。
+ 跨組建分析 Server Tick Rate 一致性，以識別效能迴歸。
+ 檢閱 Server World Tick Time 以測量遊戲世界更新效能變更。
+ 比較組建之間的記憶體用量模式，以識別記憶體最佳化改善或迴歸。
+ 監控 CPU 用量趨勢，以評估運算效率變更。

## 偵測遊戲中的延遲和慢速
<a name="scenario-detect-gameplay-delays"></a>

**案例：**您需要監控伺服器回應能力和遊戲更新速度

**調查步驟：**
+ 監控伺服器刻度時間，以測量伺服器處理每個更新週期的速度。
+ 追蹤伺服器刻度率，以確保每秒的遊戲狀態更新一致。
+ 分析伺服器世界刻度時間以測量遊戲世界更新速度，這會直接影響客戶體驗。
+ 設定 Server Delta Time 變化的提醒，以偵測不一致的伺服器效能。

## 為不同的遊戲案例建立基準
<a name="scenario-benchmarking"></a>

**案例：**您想要識別不同的遊戲案例如何影響伺服器效能

**調查步驟：**
+ 比較不同玩家計數的伺服器效能指標，以了解擴展影響。
+ 使用伺服器刻度時間和 CPU 用量指標分析遊戲模式之間的效能差異。
+ 監控不同遊戲案例的記憶體用量模式，以識別資源密集型功能。
+ 追蹤網路 I/O 指標，以了解不同遊戲案例的頻寬需求。
+ 使用執行個體效能儀表板來識別哪些遊戲案例會產生耗資源最高的遊戲工作階段。

## 高資源使用率回應
<a name="scenario-high-resource-utilization"></a>

**案例：**異常的資源峰值 (CPU >85%、記憶體 >90%)

**調查步驟：**

### 識別受影響的資源
<a name="identify-affected-resources"></a>
+ 使用 DescribeGameSessionDetails API。
+ 視需要依狀態篩選。
+ 記錄受影響的執行個體。

### 分析資源用量
<a name="analyze-resource-usage"></a>
+ 檢閱執行個體概觀儀表板。
+ 比較跨機群的使用率。
+ 檢查歷史模式。

### 監控遊戲伺服器影響
<a name="monitor-game-server-impact"></a>
+ 檢查伺服器效能指標。
+ 檢閱刻度時間和封包遺失。
+ 監控記憶體洩漏。

### 解決步驟
<a name="resolution-steps"></a>
+ 下載工作階段日誌。
+ 解決建置問題。
+ 監控改進。

## 遊戲伺服器當機分析
<a name="scenario-server-crashes"></a>

**案例：**跨機群的多個錯誤狀態遊戲工作階段

**調查步驟：**

### 初始評估
<a name="initial-assessment"></a>
+ 存取機群概觀儀表板。
+ 檢閱損毀的工作階段資料表。
+ 記下計時/位置的模式。

### 效能分析
<a name="performance-analysis"></a>
+ 檢查伺服器時間指標。
+ 檢閱資源使用率。
+ 監控網路效能。

### 基礎設施檢閱
<a name="infrastructure-review"></a>
+ 驗證機群容量。
+ 檢查執行個體運作狀態。
+ 檢閱擴展政策。

### 解析路徑
<a name="resolution-path"></a>
+ 分析伺服器日誌。
+ 檢閱程式碼最佳化。
+ 實作修正。

## 機群容量最佳化
<a name="scenario-fleet-optimization"></a>

**案例：**遊戲啟動或基準研究

**分析步驟：**

### 資源使用率
<a name="resource-utilization"></a>
+ 依位置篩選。
+ 檢閱 P50/P95/P99 指標。
+ 分析用量模式。

### 執行個體類型分析
<a name="instance-type-analysis"></a>
+ 依類型比較效能。
+ 識別擴展候選項目。
+ 文件使用率模式。

### 最佳化動作
<a name="optimization-actions"></a>
+ 調整擴展政策。
+ 修改執行個體類型。
+ 更新機群組態。

# 故障診斷指南
<a name="gamelift-servers-metrics-troubleshooting"></a>

## 常見問題和解決步驟
<a name="common-issues-resolution"></a>

### 指標遺失或不完整
<a name="troubleshooting-missing-metrics"></a>

#### 徵狀
<a name="missing-metrics-symptoms"></a>
+ 儀表板中不會顯示任何指標。
+ 部分指標集合。
+ 指標更新延遲。

#### 解決步驟
<a name="missing-metrics-resolution"></a>

##### A. 驗證收集器狀態
<a name="verify-collector-status"></a>

檢查系統化服務：

```
sudo systemctl status gamelift-telemetry-collector
```

檢閱收集器日誌：

```
sudo journalctl -u gamelift-telemetry-collector
```
+ 確認收集器組態。

##### B. IAM 許可驗證
<a name="iam-permission-verification"></a>
+ 檢查執行個體角色許可。
+ 驗證必要的政策：
  + `aps:RemoteWrite`
  + `cloudwatch:PutMetricData`
+ 驗證角色信任關係。

##### C. 網路連線
<a name="network-connectivity"></a>
+ 驗證端點存取。
+ 檢查安全群組規則。
+ 檢閱網路 ACLs。

### 身分驗證錯誤
<a name="troubleshooting-authentication-errors"></a>

#### 徵狀
<a name="auth-errors-symptoms"></a>
+ SigV4 身分驗證失敗。
+ 存取遭拒的訊息。
+ 登入資料重新整理問題。

#### 解決步驟
<a name="auth-errors-resolution"></a>

##### A. SigV4 身分驗證
<a name="sigv4-authentication"></a>
+ 驗證暫時登入資料。
+ 檢查登入資料輪換。
+ 驗證執行個體描述檔。

##### B. AMP 存取
<a name="amp-access"></a>
+ 檢閱工作區組態。
+ 驗證遠端寫入 URL。
+ 檢查 IAM 角色繫結。

### 儀表板問題
<a name="troubleshooting-dashboard-issues"></a>

#### 徵狀
<a name="dashboard-issues-symptoms"></a>
+ 空白儀表板。
+ 遺失資料點。
+ 身分驗證失敗。

#### 解決步驟
<a name="dashboard-issues-resolution"></a>

##### A. 資料來源組態
<a name="data-source-configuration"></a>
+ 驗證 Prometheus 連線。
+ 檢查 Amazon CloudWatch 整合。
+ 測試資料來源許可。

##### B. Grafana 存取
<a name="grafana-access"></a>
+ 確認 SSO 組態。
+ 視需要驗證 2FA 設定。
+ 檢查使用者許可。

### Windows 特定問題
<a name="troubleshooting-windows-issues"></a>

#### 徵狀
<a name="windows-issues-symptoms"></a>
+ 服務啟動失敗。
+ 指標集合差距。
+ 許可錯誤。

#### 解決步驟
<a name="windows-issues-resolution"></a>
+ 驗證 Windows 服務狀態。
+ 檢查 Windows 事件日誌。
+ 檢閱收集器組態。
+ 驗證 Windows 特定的路徑。