

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

# 基礎型運作狀態報告
<a name="using-features.healthstatus"></a>

本主題說明 Elastic Beanstalk 基本運作狀態所提供的功能。

AWS Elastic Beanstalk 會使用來自多個來源的資訊來判斷您的環境是否可用，並處理來自網際網路的請求。環境的運作狀態是以四種顏色的其中一種表示，並顯示在 Elastic Beanstalk 主控台的[環境概觀](environments-console.md)頁面上。它也可以從 [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) API 取得，並透過使用 [EB CLI](eb-cli3.md) 叫用 **eb status**。

 基礎型運作狀態報告系統會根據 Elastic Load Balancing (針對負載平衡環境) 或 Amazon Elastic Compute Cloud (針對單一執行個體環境) 執行的運作狀態檢查，提供 Elastic Beanstalk 環境中執行個體的運作狀態資訊。

除了檢查您的 EC2 執行個體的運作狀態，Elastic Beanstalk 亦會監控環境中的其他資源，並回報缺少或設定不正確的資源，避免造成使用者無法使用您的環境。

您環境中資源收集的指標，每五分鐘會向 Amazon CloudWatch 發佈。其中包含 EC2 的作業系統指標或 Elastic Load Balancing 的請求指標。您可於環境主控台的[監控頁面](environment-health-console.md)，根據這些 CloudWatch 指標檢視圖表。以基礎型運作狀態而言，這些指標不會用來判定環境的運作狀態。

**Topics**
+ [運作狀態顏色](#using-features.healthstatus.colors)
+ [Elastic Load Balancing 運作狀態檢查](#using-features.healthstatus.understanding)
+ [單一執行個體和工作者層環境運作狀態檢查](#monitoring-basic-healthcheck-singleinstance)
+ [其他檢查](#monitoring-basic-additionalchecks)
+ [Amazon CloudWatch 指標](#monitoring-basic-cloudwatch)

## 運作狀態顏色
<a name="using-features.healthstatus.colors"></a>

Elastic Beanstalk 會根據於 Web 伺服器環境中執行的應用程式回應運作狀態檢查的情形，回報該環境的運作狀態。Elastic Beanstalk 使用四種顏色來描述狀態，如下表所示：


****  

| 顏色 | Description | 
| --- | --- | 
|  灰色  | 您的環境正在更新。 | 
|  Green  |  您的環境已通過最近的運作狀態檢查。您的環境至少有一個執行個體可用，且其正在接收請求。  | 
|  Yellow  |  您的環境未通過一項或多項運作狀態檢查。向您環境發送的部分請求會失敗。  | 
|  紅色  |  您的環境未通過三項或更多運作狀態檢查，或是一個資源變成不可使用。請求會持續失敗。  | 

這些描述僅適用使用基礎型運作狀態報告的環境。如需增強型運作狀態的詳細資訊，請參閱[運作狀態顏色和狀態](health-enhanced-status.md)。

## Elastic Load Balancing 運作狀態檢查
<a name="using-features.healthstatus.understanding"></a>

在負載平衡環境中，Elastic Load Balancing 每 10 秒會傳送請求至環境中的各個執行個體，確認其運作狀態良好。負載平衡器預設設定為開啟連接埠 80 上的 TCP 連線。若執行個體確認連線，將視為運作狀態良好。

您可在應用程式指定現有資源，藉此覆寫這項設定。若您指定路徑 (如 `/health`)，則運作狀態檢查 URL 會設定為 `HTTP:80/health`。運作狀態檢查 URL 應一律設在您應用程式提供服務的路徑。若此 URL 設定在應用程式前方之 Web 伺服器處理或快取的靜態頁面，運作狀態檢查將不會顯示應用程式伺服器或 Web 容器的問題。如需修改運作狀態檢查 URL 的說明，請參閱 [運作狀態檢查](environments-cfg-clb.md#using-features.managing.elb.healthchecks)。

若已設定運作狀態檢查 URL，Elastic Load Balancing 預期其傳送的 GET 請求回傳 `200 OK` 回應。若應用程式在 5 秒內未回應，或回應其他 HTTP 狀態碼，則無法通過運作狀態檢查。連續 5 次運作狀態檢查失敗，Elastic Load Balancing 會停止該執行個體的服務。

如需有關 Elastic Load Balancing 運作狀態檢查的詳細資訊，請參閱《*Elastic Load Balancing 使用者指南*》中的[運作狀態檢查](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/TerminologyandKeyConcepts.html#healthcheck)。

**注意**  
設定運作狀態檢查 URL 不會變更環境的 Auto Scaling 群組的運作狀態檢查行為。運作狀態不良的執行個體會從負載平衡器移除，但 Amazon EC2 Auto Scaling 不會自動替換，除非您將 Amazon EC2 Auto Scaling 設定為使用 Elastic Load Balancing 運作狀態檢查，做為替換執行個體的根據。若要設定 Amazon EC2 Auto Scaling 以取代 Elastic Load Balancing 運作狀態檢查失敗的執行個體，請參閱 [Elastic Beanstalk 環境的 Auto Scaling 運作狀態檢查設定](environmentconfig-autoscaling-healthchecktype.md)。

## 單一執行個體和工作者層環境運作狀態檢查
<a name="monitoring-basic-healthcheck-singleinstance"></a>

在單一執行個體或工作者層環境中，Elastic Beanstalk 會監控其 Amazon EC2 執行個體的狀態，藉此判定執行個體的運作狀態。Elastic Load Balancing 運作狀態設定 (包括 HTTP 運作狀態檢查 URL) 無法用於這些環境類型。

如需 Amazon EC2 執行個體狀態檢查的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[使用狀態檢查監控執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)。

## 其他檢查
<a name="monitoring-basic-additionalchecks"></a>

除了 Elastic Load Balancing 運作狀態檢查，Elastic Beanstalk 會監控您環境中的資源，若其部署失敗、設定不正確或變為不可用，其運作狀態將變更為紅色。這些檢查會確認：
+ 環境的 Auto Scaling 群組為可用，且具備至少一個執行個體。
+ 環境的安全群組為可用，且設定為允許連接埠 80 上的傳入流量。
+ 存在環境 CNAME，且其指向正確的負載平衡器。
+ 在工作者環境中，Amazon Simple Queue Service (Amazon SQS) 佇列至少每三分鐘輪詢一次。

## Amazon CloudWatch 指標
<a name="monitoring-basic-cloudwatch"></a>

若使用基礎型運作狀態報告，Elastic Beanstalk 服務不會向 Amazon CloudWatch 發佈指標。環境主控台[監控頁面](environment-health-console.md)上用於製作圖表的 CloudWatch 指標，會由您環境中的資源發佈。

例如，EC2 會針對您環境 Auto Scaling 群組中的執行個體，發佈下列指標：

 

`CPUUtilization`  
目前使用中的運算單位百分比。

`DiskReadBytes``DiskReadOps``DiskWriteBytes``DiskWriteOps`  
讀取及寫入的位元組數，以及讀取及寫入操作的數量。

`NetworkIn``NetworkOut`  
傳送及接收的位元組數。

Elastic Load Balancing 會針對您環境的負載平衡器發佈下列指標：

`BackendConnectionErrors`  
負載平衡器和環境執行個體間連線失敗的數量。

`HTTPCode_Backend_2XX``HTTPCode_Backend_4XX`  
您環境執行個體產生成功 (2XX) 及用戶端錯誤 (4XX) 回應代碼的數量。

`Latency`  
負載平衡器將請求轉送至執行個體到接收回應的秒數。

`RequestCount`  
完成的請求數。

此並非完整清單。如需針對這些資源回傳的指標完整清單，請參閱 Amazon CloudWatch 開發人員指南中的下列主題：

 


**指標**  

| 命名空間 | 主題 | 
| --- | --- | 
| AWS::ElasticLoadBalancing::LoadBalancer | [Elastic Load Balancing 指標與資源](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/elb-metricscollected.html) | 
| AWS::AutoScaling::AutoScalingGroup | [Amazon Elastic Compute Cloud 指標與資源](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/ec2-metricscollected.html) | 
| AWS::SQS::Queue | [Amazon SQS 指標與資源](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/sqs-metricscollected.html) | 
| AWS::RDS::DBInstance | [Amazon RDS 維度與指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/rds-metricscollected.html) | 

### 工作者環境運作狀態指標
<a name="w2aac43c11c23c18"></a>

下述僅針對工作者環境而言：SQS 協助程式會將環境運作狀態的自訂指標發佈至 CloudWatch，其中值 1 為綠色。您可使用 `ElasticBeanstalk/SQSD` 命名空間，在您的帳戶檢閱 CloudWatch 運作狀態指標資料。指標維度為 `EnvironmentName`，而指標名稱為 `Health`。所有執行個體都將其指標發佈至相同的命名空間。

欲啟用協助程式來發佈指標，環境的執行個體描述檔必須具備呼叫 `cloudwatch:PutMetricData` 的許可。此許可會納入預設的執行個體描述檔。如需詳細資訊，請參閱[管理 Elastic Beanstalk 執行個體描述檔](iam-instanceprofile.md)。