

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

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

執行個體指標可提供您環境中執行個體運作狀態的資訊。[Elastic Beanstalk 運作狀態代理程式](health-enhanced.md#health-enhanced-agent)會在每個執行個體上執行。它會收集並將執行個體的指標轉送給 Elastic Beanstalk，讓其分析指標來判斷您環境中執行個體的運作狀態。

執行個體上的 Elastic Beanstalk 運作狀態代理程式會從 Web 伺服器和作業系統收集執行個體的指標。為了取得 Linux 類型平台上的 Web 伺服器資訊，Elastic Beanstalk 會讀取和剖析 Web 伺服器日誌。在 Windows Server 平台上，Elastic Beanstalk 會直接從 IIS Web 伺服器接收此資訊。Web 伺服器會提供傳入 HTTP 請求的資訊：傳入的請求數量、導致錯誤的請求數量，以及解決錯誤的時間長度。作業系統會提供執行個體資源狀態的快照資訊：CPU 負載和每個處理類型的用時分配。

運作狀態代理程式會收集 Web 伺服器和作業系統指標，並每 10 秒轉送至 Elastic Beanstalk。Elastic Beanstalk 會分析資料，並使用結果來更新每個執行個體和環境的運作狀態。

**Topics**
+ [Web 伺服器指標](#health-enhanced-metrics-server)
+ [作業系統指標](#health-enhanced-metrics-os)
+ [Windows Server 上 IIS 內擷取到的 Web 伺服器指標](health-enhanced-metrics-server-iis.md)

## Web 伺服器指標
<a name="health-enhanced-metrics-server"></a>

在以 Linux 為基礎的平台上，Elastic Beanstalk 運作狀態代理程式會從日誌讀取 Web 伺服器指標，這些日誌來自環境中執行個體處理請求的 Web 容器或伺服器。Elastic Beanstalk 平台可設定為產生兩個日誌：一個是人類可讀的格式，另一個則是機器可讀的格式。運作狀態代理程式每 10 秒會將供機器閱讀的日誌轉送至 Elastic Beanstalk。

如需 Elastic Beanstalk 使用的日誌格式的詳細資訊，請參閱[增強型運作狀態日誌格式](health-enhanced-serverlogs.md)。

在 Windows Server 平台上，Elastic Beanstalk 會將模組新增至 IIS Web 伺服器的請求管道，並擷取 HTTP 請求時間和回應代碼的指標。模組會使用高效能處理序間通訊 (IPC) 通道，將這些指標傳送到執行個體上的運作狀態代理程式。如需實作的詳細資訊，請參閱 [Windows Server 上 IIS 內擷取到的 Web 伺服器指標](health-enhanced-metrics-server-iis.md)。報告的 Web 伺服器指標

`RequestCount`  
過去 10 秒內 Web 伺服器每秒處理請求的數目。會在 EB CLI 及 [環境健全狀態頁面](health-enhanced-console.md#health-enhanced-console-healthpage) 中顯示為平均 `r/sec` (每秒請求數)。

`Status2xx``Status3xx``Status4xx``Status5xx`  
過去 10 秒導致每個類型的狀態碼的請求數量。例如，成功的請求會傳回 200 OK；重新導向則傳回 301；若輸入的 URL 不符合應用程式內的任何資源，則傳回 404。  
EB CLI 和[環境健全狀態頁面](health-enhanced-console.md#health-enhanced-console-healthpage)顯示這些指標的格式包括：執行個體的請求原始數據，以及佔環境整體請求的比例。

`p99.9``p99``p95``p90``p85``p75``p50``p10`  
過去 10 秒最慢 *x*% 的請求的平均延遲，其中 *x* 為數字與 100 的差。例如，`p99 1.403` 表示過去 10 秒最慢的 1% 請求的平均延遲為 1.403 秒。

## 作業系統指標
<a name="health-enhanced-metrics-os"></a>

Elastic Beanstalk 運作狀態代理程式會報告下列作業系統指標。Elastic Beanstalk 使用這些指標來辨識持續承受高負載的執行個體。指標會因作業系統而不同。報告的作業系統指標 — Linux

`Running`  
執行個體啟動後已經過的時間。

`Load 1``Load 5`  
過去 1 分鐘和 5 分鐘期間的平均負載。以十進位值顯示，表示那段期間程序執行的平均數量。若該數值高於可用 vCPU (執行緒) 的數量，則剩餘部分則表示等待中的程序平均數量。  
例如，若您的執行個體類型有四個 vCPU，且負載為 4.5，則平均有 .5 個程序在那段期間處於等待狀態，相當於一個程序的等待時間佔了 50%。

`User %``Nice %``System %``Idle %``I/O Wait %`  
過去 10 秒內 CPU 花在每個狀態的時間百分比。報告的作業系統指標 — Windows

`Running`  
執行個體啟動後已經過的時間。

`% User Time``% Privileged Time``% Idle Time`  
過去 10 秒內 CPU 花在每個狀態的時間百分比。

# Windows Server 上 IIS 內擷取到的 Web 伺服器指標
<a name="health-enhanced-metrics-server-iis"></a>

在 Windows Server 平台上，Elastic Beanstalk 會將模組新增至 IIS Web 伺服器的請求管道，並擷取 HTTP 請求時間和回應代碼的指標。模組會使用高效能處理序間通訊 (IPC) 通道，將這些指標傳送到執行個體上的運作狀態代理程式。運作狀態代理程式會彙整這些指標，將它們與作業系統指標合併，並傳送至 Elastic Beanstalk 服務。

## 實作詳細資訊
<a name="health-enhanced-metrics-server-iis.impl"></a>

為了從 IIS 擷取指標，Elastic Beanstalk 會實作受管 [https://msdn.microsoft.com/en-us/library/system.web.ihttpmodule%28v=vs.110%29.aspx](https://msdn.microsoft.com/en-us/library/system.web.ihttpmodule%28v=vs.110%29.aspx)，並訂閱 [https://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest(v=vs.110).aspx](https://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest(v=vs.110).aspx) 和 [https://msdn.microsoft.com/en-us/library/system.web.httpapplication.endrequest(v=vs.110).aspx](https://msdn.microsoft.com/en-us/library/system.web.httpapplication.endrequest(v=vs.110).aspx) 事件。這可讓模組報告所有由 IIS 處理的 web 請求 HTTP 請求延遲及回應代碼。為了將模組新增至 IIS 請求管道，Elastic Beanstalk 會在 IIS 組態檔案 `%windir%\System32\inetsrv\config\applicationHost.config` 的 [https://docs.microsoft.com/en-us/iis/configuration/system.webserver/modules/](https://docs.microsoft.com/en-us/iis/configuration/system.webserver/modules/) 區段中註冊模組。

IIS 中的 Elastic Beanstalk 模組會將擷取到的 web 請求指標傳送到執行個體上的運作狀態代理程式，該程式是名為 `HealthD` 的 Windows 服務。為了傳送此資料，模組會使用 [https://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding(v=vs.110).aspx](https://msdn.microsoft.com/en-us/library/system.servicemodel.netnamedpipebinding(v=vs.110).aspx)，提供針對機器上通訊最佳化的安全、可靠繫結。