本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Elastic Beanstalk 環境運作狀態資訊串流至 Amazon CloudWatch Logs
如果您啟用增強型運作狀態報告,您可以將環境設定為將運作狀態資訊串流到 CloudWatch Logs。此串流與 Amazon EC2 執行個體日誌串流無關。此主題說明環境運作狀態資訊串流。如需執行個體日誌串流的詳細資訊,請參閱使用 Elastic Beanstalk 與 Amazon 日誌 CloudWatch 。
當您設定環境運作狀態串流時,Elastic Beanstalk 會針對環境運作狀態建立 CloudWatch Logs 日誌群組。日誌群組的名稱是 /aws/elasticbeanstalk/
。在這個日誌群組內,Elastic Beanstalk 會建立名為 environment-name
/environment-health.log
的日誌串流 (每個日期可能有一個以上的日誌串流)。YYYY-MM-DD
#<hash-suffix>
當環境的運作狀態變更,Elastic Beanstalk 會將記錄新增到運作狀態日誌串流。該記錄代表運作狀態轉換 - 新的狀態和描述變更的原因。例如,環境的狀態會因負載平衡器失敗而變更為「嚴重」。如需增強型運作狀況的詳細說明,請參閱運作狀態顏色和狀態。
環境運作狀態串流至 CloudWatch Logs 的必要條件
若要啟用 CloudWatch Logs 的環境運作狀態串流,您必須符合以下條件:
-
平台 – 您必須使用可支援增強型運作狀態報告的平台版本。
-
許可 – 您必須將特定記錄相關許可授與 Elastic Beanstalk,以便代表您為環境串流運作狀態資訊。如果您的環境未使用 Elastic Beanstalk 為它建立的服務角色
aws-elasticbeanstalk-service-role
,或您的帳戶服務連結角色AWSServiceRoleForElasticBeanstalk
,請務必將以下許可新增至您的自訂服務角色。{ "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*" }
將環境運作狀態日誌串流至 CloudWatch Logs
您可以使用 Elastic Beanstalk 主控台、EB CLI 或組態選項,啟用串流至 CloudWatch Logs 的環境運作狀態。
使用 Elastic Beanstalk 主控台的環境運作狀態日誌串流
將環境運作狀態日誌串流至 CloudWatch Logs
開啟 Elastic Beanstalk 主控台
,然後在 Regions (區域) 清單中選取您的 AWS 區域。 -
在導覽窗格中,選擇 Environments (環境),然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
在導覽窗格中,選擇 Configuration (組態)。
-
在 Monitoring (監控) 組態類別中,選擇 Edit (編輯)。
-
在 Health reporting (運作狀態報告) 下,確保報告 System (系統) 設為 Enhanced (增強型)。
-
在 Health event streaming to CloudWatch Logs (運作狀態事件串流到 CloudWatch Logs) 下
-
啟用 Log streaming (日誌串流)。
-
將 Retention (保留) 設為儲存日誌的天數。
-
選取 Lifecycle (生命週期) 設定,其決定是否在環境終止後儲存日誌。
-
-
若要儲存變更,請選擇頁面底部的儲存變更。
您在啟用日誌串流後,返回 Monitoring (監控) 組態類別或頁面,並且尋找 Log Group (日誌群組) 連結。按一下此連結,在 CloudWatch 主控台查看您的環境運作狀態日誌。
使用 EB CLI 的環境運作狀態日誌串流
若要使用 EB CLI 將環境運作狀態日誌串流到 CloudWatch Logs,請使用 eb logs 命令。
$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health
您也可以使用 eb logs 擷取 CloudWatch Logs 的日誌,例如,以下命令為您的環境中擷取所有的運作狀態日誌,並將它們儲存到 .elasticbeanstalk/logs
底下的目錄。
$ eb logs --all --cloudwatch-log-source environment-health
使用組態檔案的環境運作狀態日誌串流
當您建立或更新環境時,您可以使用組態檔案來設定與配置串流到 CloudWatch Logs 的環境運作狀態日誌。若要使用以下範例,可將文字複製到您的應用程式來源套件最上層,.config
目錄中具有 .ebextensions
副檔名的檔案。在範例中,設定 Elastic Beanstalk 以啟用環境運作狀態日誌串流,終止環境後保留日誌,並儲存 30 天。
範例 運作狀態串流組態檔案
############################################################################ ## Sets up Elastic Beanstalk to stream environment health information ## to Amazon CloudWatch Logs. ## Works only for environments that have enhanced health reporting enabled. ############################################################################ option_settings: aws:elasticbeanstalk:cloudwatch:logs:health: HealthStreamingEnabled: true ### Settings below this line are optional. # DeleteOnTerminate: Delete the log group when the environment is # terminated. Default is false. If false, the health data is kept # RetentionInDays days. DeleteOnTerminate: false # RetentionInDays: The number of days to keep the archived health data # before it expires, if DeleteOnTerminate isn't set. Default is 7 days. RetentionInDays: 30
如需選項預設值和有效值的詳細資訊,請參閱 aws:elasticbeanstalk:cloudwatch:logs:health。