使用 EB CLI 來監控環境運作狀態 - AWS Elastic Beanstalk

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

使用 EB CLI 來監控環境運作狀態

Elastic Beanstalk 命令列界面 (EB CLI) 為管理 AWS Elastic Beanstalk 環境的命令列工具。您亦可使用 EB CLI 來即時監控您環境的運作狀態,且精細程度較 Elastic Beanstalk 主控台內現有的監控高。

安裝設定 EB CLI 後,您可以啟動新的環境,並透過 eb create 命令將程式碼部署其中。如果您已在 Elastic Beanstalk 主控台中建立環境,您可以在專案資料夾中執行 eb init,並依提示操作 (專案資料夾可以是空白的),將 EB CLI 連接至環境。

重要

請執行帶有 pip install 選項的 --upgrade,確認您正使用 EB CLI 的最新版本:

$ sudo pip install --upgrade awsebcli

如需 EB CLI 的完整安裝說明,請參閱 安裝 Elastic Beanstalk 指令列介面

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

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

欲將 EB CLI 連接至現有環境
  1. 開啟命令列終端機並瀏覽至您的使用者資料夾。

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

  3. 執行 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. 開啟命令列並瀏覽至您的專案資料夾。

  2. 執行 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

讀取輸出

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

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

如需運作狀態和顏色的資訊,請參閱運作狀態顏色和狀態

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

如需所顯示的伺服器和作業系統指標資訊,請參閱執行個體指標

最後的 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

互動式運作狀態檢視畫面

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

互動式運作狀態檢視畫面選項

以互動方式檢視環境運作狀態時,您可以使用鍵盤按鍵來調整檢視,並告知 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)