

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

# 使用 EB CLI 來監控環境運作狀態
<a name="health-enhanced-ebcli"></a>

[Elastic Beanstalk 命令列界面](eb-cli3.md) (EB CLI) 是一種用於管理 AWS Elastic Beanstalk 環境的命令列工具。您亦可使用 EB CLI 來即時監控您環境的運作狀態，且精細程度較 Elastic Beanstalk 主控台內現有的監控高。

[安裝](eb-cli3.md#eb-cli3-install)和[設定](eb-cli3-configuration.md) EB CLI 之後，您可以啟動新的環境，並使用 **eb create**命令將程式碼部署到其中。如果您已在 Elastic Beanstalk 主控台中建立環境，您可以在專案資料夾中執行 **eb init**，並依提示操作 (專案資料夾可以是空白的)，將 EB CLI 連接至環境。

**重要**  
請執行帶有 `pip install` 選項的 `--upgrade`，確認您正使用 EB CLI 的最新版本：  

```
$ sudo pip install --upgrade awsebcli
```
如需 EB CLI 的完整安裝說明，請參閱 [使用設定指令碼安裝 EB CLI （建議）](eb-cli3.md#eb-cli3-install)。

欲使用 EB CLI 來監控您環境的運作狀態，首先必須執行 **eb init** 並依提示操作，藉此設定本機專案資料夾。如需完整說明，請參閱 [設定 EB CLI](eb-cli3-configuration.md)。

若您已有在 Elastic Beanstalk 中執行的環境，且希望使用 EB CLI 來監控其運作狀態，請遵循這些步驟，將其連接至現有環境。

**欲將 EB CLI 連接至現有環境**

1. 開啟命令列終端機並瀏覽至您的使用者資料夾。

1. 為您的環境建立並開啟新的資料夾。

1. 執行 **eb init** 命令，然後選擇欲監控其運作狀態的應用程式和環境。若您只有一個環境執行所選擇的應用程式，您不需要選擇該環境，因為 EB CLI 會自動選取，如以下範例所示。

   ```
   ~/project$ eb init
   Select an application to use
   1) elastic-beanstalk-example
   2) [ Create new Application ]
   (default is 2): 1
   Select the default environment.
   You can change this later by typing "eb use [environment_name]".
   1) elasticBeanstalkEx2-env
   2) elasticBeanstalkExa-env
   (default is 1): 1
   ```

**欲使用 EB CLI 來監控運作狀態**

1. 開啟命令列並瀏覽至您的專案資料夾。

1. 執行 **eb health** 命令來顯示環境中執行個體的運作狀態。在此範例中，有五個執行個體在 Linux 環境中執行。

   ```
   ~/project $ eb health
    elasticBeanstalkExa-env                                  Ok                       2015-07-08 23:13:20
   WebServer                                                                              Ruby 2.1 (Puma)
     total      ok    warning  degraded  severe    info   pending  unknown
       5        5        0        0        0        0        0        0
   
     instance-id   status     cause                                                                                                health
       Overall     Ok
     i-d581497d    Ok
     i-d481497c    Ok
     i-136e00c0    Ok
     i-126e00c1    Ok
     i-8b2cf575    Ok
   
     instance-id   r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10                                 requests
       Overall     671.8   100.0    0.0    0.0    0.0    0.003    0.002    0.001   0.001   0.000
     i-d581497d    143.0    1430      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-d481497c    128.8    1288      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-136e00c0    125.4    1254      0      0      0    0.004    0.002    0.001   0.001   0.000
     i-126e00c1    133.4    1334      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-8b2cf575    141.2    1412      0      0      0    0.003    0.002    0.001   0.001   0.000
   
     instance-id   type       az   running     load 1  load 5      user%  nice%  system%  idle%   iowait%                             cpu
     i-d581497d    t2.micro   1a   12 mins        0.0    0.04        6.2    0.0      1.0   92.5       0.1
     i-d481497c    t2.micro   1a   12 mins       0.01    0.09        5.9    0.0      1.6   92.4       0.1
     i-136e00c0    t2.micro   1b   12 mins       0.15    0.07        5.5    0.0      0.9   93.2       0.0
     i-126e00c1    t2.micro   1b   12 mins       0.17    0.14        5.7    0.0      1.4   92.7       0.1
     i-8b2cf575    t2.micro   1c   1 hour        0.19    0.08        6.5    0.0      1.2   92.1       0.1
     
     instance-id   status     id   version              ago                                                                   deployments
     i-d581497d    Deployed   1    Sample Application   12 mins
     i-d481497c    Deployed   1    Sample Application   12 mins
     i-136e00c0    Deployed   1    Sample Application   12 mins
     i-126e00c1    Deployed   1    Sample Application   12 mins
     i-8b2cf575    Deployed   1    Sample Application   1 hour
   ```

   在此範例中，有一個單一執行個體在 Windows 環境中執行。

   ```
   ~/project $ eb health
    WindowsSampleApp-env                                 Ok                                 2018-05-22 17:33:19
   WebServer                                                IIS 10.0 running on 64bit Windows Server 2016/2.2.0
     total      ok    warning  degraded  severe    info   pending  unknown
       1        1        0        0        0        0        0        0
   
     instance-id           status     cause                                                                                        health
       Overall             Ok
     i-065716fba0e08a351   Ok
   
     instance-id           r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10                         requests
       Overall              13.7   100.0    0.0    0.0    0.0    1.403    0.970    0.710   0.413   0.079
     i-065716fba0e08a351     2.4   100.0    0.0    0.0    0.0    1.102*   0.865    0.601   0.413   0.091
   
     instance-id           type       az   running     % user time    % privileged time  % idle time                                  cpu
     i-065716fba0e08a351   t2.large   1b   4 hours             0.2                  0.1         99.7
   
     instance-id           status     id   version              ago                                                           deployments
     i-065716fba0e08a351   Deployed   2    Sample Application   4 hours
   ```

## 讀取輸出
<a name="health-enhanced-ebcli-output"></a>

輸出會在畫面頂端顯示環境名稱、環境整體運作狀態及目前的日期。

```
elasticBeanstalkExa-env                                  Ok                       2015-07-08 23:13:20
```

之後的三行會顯示環境類型 (此案例中是 "WebServer")、組態 (搭配 Puma 的 Ruby 2.1)，以及七種狀態各自的執行個體數量分析。

```
WebServer                                                                              Ruby 2.1 (Puma)
  total      ok    warning  degraded  severe    info   pending  unknown
    5        5        0        0        0        0        0        0
```

輸出的剩餘部分區分為四個區段。第一部分會顯示環境整體的*狀態*和狀態*成因*，之後則是每個執行個體的狀態和成因。以下範例顯示環境中兩個狀態為 `Info` 的執行個體，以及指出已啟動部署的原因。

```
  instance-id    status     cause                                                                                                health
    Overall      Ok
  i-d581497d     Info       Performing application deployment (running for 3 seconds)
  i-d481497c     Info       Performing application deployment (running for 3 seconds)
  i-136e00c0     Ok
  i-126e00c1     Ok
  i-8b2cf575     Ok
```

如需運作狀態和顏色的資訊，請參閱[運作狀態顏色和狀態](health-enhanced-status.md)。

**requests (請求)** 區段會顯示每一執行個體的 Web 伺服器日誌資訊。在此範例中，各個執行個體皆正常處理請求，未出現錯誤。

```
  instance-id    r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10                                 requests
    Overall      13.7    100.0    0.0    0.0    0.0    1.403    0.970    0.710   0.413   0.079
  i-d581497d     2.4     100.0    0.0    0.0    0.0    1.102*   0.865    0.601   0.413   0.091
  i-d481497c     2.7     100.0    0.0    0.0    0.0    0.842*   0.788    0.480   0.305   0.062
  i-136e00c0     4.1     100.0    0.0    0.0    0.0    1.520*   1.088    0.883   0.524   0.104
  i-126e00c1     2.2     100.0    0.0    0.0    0.0    1.334*   0.791    0.760   0.344   0.197
  i-8b2cf575     2.3     100.0    0.0    0.0    0.0    1.162*   0.867    0.698   0.477   0.076
```

**cpu** 區段會顯示每個執行個體的作業系統指標。輸出會因作業系統而不同。此為 Linux 環境的輸出。

```
  instance-id   type       az   running     load 1  load 5      user%  nice%  system%  idle%   iowait%                             cpu
  i-d581497d    t2.micro   1a   12 mins        0.0    0.03        0.2    0.0      0.0   99.7       0.1
  i-d481497c    t2.micro   1a   12 mins        0.0    0.03        0.3    0.0      0.0   99.7       0.0
  i-136e00c0    t2.micro   1b   12 mins        0.0    0.04        0.1    0.0      0.0   99.9       0.0
  i-126e00c1    t2.micro   1b   12 mins       0.01    0.04        0.2    0.0      0.0   99.7       0.1
  i-8b2cf575    t2.micro   1c   1 hour         0.0    0.01        0.2    0.0      0.1   99.6       0.1
```

此為 Windows 環境的輸出。

```
  instance-id           type       az   running     % user time    % privileged time  % idle time
  i-065716fba0e08a351   t2.large   1b   4 hours             0.2                  0.0         99.8
```

如需所顯示的伺服器和作業系統指標資訊，請參閱[執行個體指標](health-enhanced-metrics.md)。

最後的 **deployments (部署)** 區段，則顯示每一執行個體的部署狀態。若滾動部署失敗，您可以使用所顯示的部署 ID、狀態和版本標籤，辨識環境中執行錯誤版本的執行個體。

```
  instance-id   status     id   version              ago                                                                   deployments
  i-d581497d    Deployed   1    Sample Application   12 mins
  i-d481497c    Deployed   1    Sample Application   12 mins
  i-136e00c0    Deployed   1    Sample Application   12 mins
  i-126e00c1    Deployed   1    Sample Application   12 mins
  i-8b2cf575    Deployed   1    Sample Application   1 hour
```

## 互動式運作狀態檢視畫面
<a name="health-enhanced-ebcli-interactive"></a>

**eb health** 命令會顯示環境運作狀態的快照。若要每 10 秒重新整理所顯示的資訊，請使用 `--refresh` 選項。

```
$ eb health --refresh
 elasticBeanstalkExa-env                             Ok                            2015-07-09 22:10:04 (1 secs)
WebServer                                                                                        Ruby 2.1 (Puma)
  total      ok    warning  degraded  severe    info   pending  unknown
    5        5        0        0        0        0        0        0

  instance-id   status     cause                                                                                                health
    Overall     Ok
  i-bb65c145    Ok         Application deployment completed 35 seconds ago and took 26 seconds
  i-ba65c144    Ok         Application deployment completed 17 seconds ago and took 25 seconds
  i-f6a2d525    Ok         Application deployment completed 53 seconds ago and took 26 seconds
  i-e8a2d53b    Ok         Application deployment completed 32 seconds ago and took 31 seconds
  i-e81cca40    Ok

  instance-id   r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10                                 requests
    Overall     671.8   100.0    0.0    0.0    0.0    0.003    0.002    0.001   0.001   0.000
  i-bb65c145    143.0    1430      0      0      0    0.003    0.002    0.001   0.001   0.000
  i-ba65c144    128.8    1288      0      0      0    0.003    0.002    0.001   0.001   0.000
  i-f6a2d525    125.4    1254      0      0      0    0.004    0.002    0.001   0.001   0.000
  i-e8a2d53b    133.4    1334      0      0      0    0.003    0.002    0.001   0.001   0.000
  i-e81cca40    141.2    1412      0      0      0    0.003    0.002    0.001   0.001   0.000

  instance-id   type       az   running     load 1  load 5      user%  nice%  system%  idle%   iowait%                             cpu
  i-bb65c145    t2.micro   1a   12 mins        0.0    0.03        0.2    0.0      0.0   99.7       0.1
  i-ba65c144    t2.micro   1a   12 mins        0.0    0.03        0.3    0.0      0.0   99.7       0.0
  i-f6a2d525    t2.micro   1b   12 mins        0.0    0.04        0.1    0.0      0.0   99.9       0.0
  i-e8a2d53b    t2.micro   1b   12 mins       0.01    0.04        0.2    0.0      0.0   99.7       0.1
  i-e81cca40    t2.micro   1c   1 hour         0.0    0.01        0.2    0.0      0.1   99.6       0.1

  instance-id   status     id   version              ago                                                                   deployments
  i-bb65c145    Deployed   1    Sample Application   12 mins
  i-ba65c144    Deployed   1    Sample Application   12 mins
  i-f6a2d525    Deployed   1    Sample Application   12 mins
  i-e8a2d53b    Deployed   1    Sample Application   12 mins
  i-e81cca40    Deployed   1    Sample Application   1 hour

 (Commands: Help,Quit, ▼ ▲ ◄ ►)
```

此範例顯示最近自一個執行個體擴展至五個的環境。擴展操作成功，且所有執行個體現正通過運作狀態檢查，並準備好接受請求。在互動式模式中，運作狀態每 10 秒更新。在右上角，計時器會倒數下次更新的時間。

在左下角，報告會顯示選項清單。若要結束互動式模式，請按 **Q**。 若要捲動，請按箭頭鍵。欲查看其他命令清單，請按 **H**。

## 互動式運作狀態檢視畫面選項
<a name="health-enhanced-ebcli-options"></a>

以互動方式檢視環境運作狀態時，您可以使用鍵盤按鍵來調整檢視，並告知 Elastic Beanstalk 取代或重新啟動個別執行個體。若要在以互動模式檢視運作狀態報告時查看可用命令的清單，請按 **H**。

```
  up,down,home,end   Scroll vertically
  left,right         Scroll horizontally
  F                  Freeze/unfreeze data
  X                  Replace instance
  B                  Reboot instance
  <,>                Move sort column left/right
  -,+                Sort order descending/ascending
  P                  Save health snapshot data file
  Z                  Toggle color/mono mode
  Q                  Quit this program

  Views
  1                  All tables/split view
  2                  Status Table
  3                  Request Summary Table
  4                  CPU%/Load Table
  H                  This help menu


(press Q or ESC to return)
```