本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 在新執行個體上安裝 CloudWatch 代理程式 CloudFormation
本節說明如何使用 AWS CloudFormation在新的 Amazon EC2 執行個體上安裝 CloudWatch 代理程式。
注意
Amazon 將數個 CloudFormation 範本上傳到 GitHub,可協助您在新的 Amazon EC2 執行個體上安裝和更新 CloudWatch 代理程式。如需使用 的詳細資訊 CloudFormation,請參閱什麼是 AWS CloudFormation?。
範本位置是使用 將 Amazon CloudWatch 代理程式部署到 EC2 執行個體 CloudFormationinline 和 ssm 目錄。每個目錄都包含適用於 Linux 和 Windows 執行個體的範本。
-
inline目錄中的範本具有內嵌在 CloudFormation 範本中的 CloudWatch 代理程式組態。根據預設,Linux 範本會收集mem_used_percent和swap_used_percent指標,而 Windows 範本則會收集Memory % Committed Bytes In Use和Paging File % Usage。若要修改這些範本以收集不同指標,請修改範本的以下區段。以下範例來自適用於 Linux 伺服器的範本。請依照代理程式組態檔案的格式和語法來完成這些變更。如需詳細資訊,請參閱手動建立或編輯 CloudWatch 代理程式組態檔案。
{ "metrics":{ "append_dimensions":{ "AutoScalingGroupName":"${!aws:AutoScalingGroupName}", "ImageId":"${!aws:ImageId}", "InstanceId":"${!aws:InstanceId}", "InstanceType":"${!aws:InstanceType}" }, "metrics_collected":{ "mem":{ "measurement":[ "mem_used_percent" ] }, "swap":{ "measurement":[ "swap_used_percent" ] } } } }注意
在內嵌範本中,所有預留位置變數前面必須有驚嘆號 (!) 作為跳脫字元。您可以在範例範本中看到。如果您新增其他預留位置變數,務必在名稱前面加上驚嘆號。
-
ssm目錄中的範本會從參數存放區載入代理程式組態檔案。若要使用這些範本,您必須先建立組態檔案並將其上傳到參數存放區。然後,在範本中提供檔案的參數存放區名稱。您可以手動或使用精靈來建立組態檔案。如需詳細資訊,請參閱建立 CloudWatch 代理程式組態檔案。
您可以使用這兩種類型的範本來安裝 CloudWatch 代理程式,以及更新代理程式組態。
如需在已啟用安全增強型 Linux (SELinux) 的系統上設定代理程式的資訊,請參閱 使用安全增強型 Linux (SELinux) 設定 CloudWatch 代理程式。
教學課程:使用 CloudFormation 內嵌範本安裝和設定 CloudWatch 代理程式
本教學課程會逐步引導您使用 CloudFormation 在新的 Amazon EC2 執行個體上安裝 CloudWatch 代理程式。本教學會使用內嵌範本在執行 Amazon Linux 2 的新執行個體上安裝,不需要使用 JSON 組態檔案或參數存放區。內嵌範本在範本中包含代理程式組態。在此教學課程中,您將使用範本包含的預設代理程式組態。
完成安裝代理程式的程序之後,教學課程會繼續說明如何更新代理程式。
使用 CloudFormation 在新執行個體上安裝 CloudWatch 代理程式
-
從 GitHub 下載範本。在本教學中,下載 Amazon Linux 2 的內嵌範本,如下所示:
curl -O https://raw.githubusercontent.com/aws-cloudformation/aws-cloudformation-templates/main/Solutions/AmazonCloudWatchAgent/inline/amazon_linux.yaml 在 https://https://console.aws.amazon.com/cloudformation
開啟 CloudFormation 主控台。 -
選擇建立堆疊。
-
針對 Choose template (選擇範本),選取 Upload a template to Simple Storage Service (Amazon S3) (將範本上傳至 Simple Storage Service (Amazon S3)),選擇已下載的範本,然後選擇 Next (下一步)。
-
在 Specify Details (指定詳細資訊) 頁面上,填寫下列參數,然後選擇 Next (下一步):
-
堆疊名稱:為您的堆疊選擇 CloudFormation 堆疊名稱。
-
IAMRole:選擇有權寫入 CloudWatch 指標、日誌和追蹤的 IAM 角色。如需詳細資訊,請參閱先決條件。
-
InstanceAMI:選擇在您要啟動堆疊區域中有效的 AMI。
-
InstanceType:選擇有效的執行個體類型。
-
KeyName:若要允許以 SSH 存取新的執行個體,請選擇現有的 Amazon EC2 金鑰對。如果您還沒有 Amazon EC2 金鑰對,可以在 AWS 管理主控台中建立一個。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 金鑰對。
-
SSHLocation:指定可用於透過 SSH 連接到執行個體的 IP 地址範圍。預設值允許從任何 IP 地址存取。
-
-
在 Options (選項) 頁面上,您可以選擇為堆疊資源加上標籤。選擇下一步。
-
在 Review (審核) 頁面上,審核您的資訊,確認該堆疊可能會建立 IAM 資源,並選擇 Create (建立)。
如果您重新整理主控台,您會看到新堆疊的狀態為
CREATE_IN_PROGRESS。 -
執行個體建立後,您就可以在 Amazon EC2 主控台看到它。或者,您可以連線到主機並檢查進度。
使用以下命令確認已安裝代理程式:
rpm -qa amazon-cloudwatch-agent使用以下命令確認代理程式正在執行:
ps aux | grep amazon-cloudwatch-agent
下一個程序示範使用 CloudFormation 來使用內嵌範本更新 CloudWatch 代理程式。預設內嵌範本會收集 mem_used_percent 指標。在此教學課程中,您將變更代理程式組態來停止收集該指標。
使用 CloudFormation 更新 CloudWatch 代理程式
-
在您於上個程序下載的範本中,移除下列幾行,然後儲存範本:
"mem": { "measurement": [ "mem_used_percent" ] }, 在 https://https://console.aws.amazon.com/cloudformation
開啟 CloudFormation 主控台。 -
在 CloudFormation 儀表板上,選取您建立的堆疊,然後選擇更新堆疊。
-
針對 Select Template (選取範本),選取 Upload a template to Simple Storage Service (Amazon S3) (將範本上傳至 Simple Storage Service (Amazon S3)),選擇您修改的範本,然後選擇 Next (下一步)。
-
在 Options (選項) 頁面上,選擇 Next (下一步),然後選擇 Next (下一步)。
-
在 Review (檢閱) 頁面上,檢閱您的資訊,然後選擇 Update (更新)。
一段時間後,您會看到
UPDATE_COMPLETE。
教學課程:使用 CloudFormation 和 參數存放區安裝 CloudWatch 代理程式
本教學課程會逐步引導您使用 CloudFormation 在新的 Amazon EC2 執行個體上安裝 CloudWatch 代理程式。此教學安裝使用您在參數存放區中建立並儲存的代理程式組態檔案,在執行 Amazon Linux 2 的新執行個體上安裝。
完成安裝代理程式的程序之後,教學課程會繼續說明如何更新代理程式。
使用 參數存放區中的組態 CloudFormation ,在新執行個體上安裝 CloudWatch 代理程式
-
若您尚未執行此作業,請將 CloudWatch 代理程式套件下載到您的其中一台電腦,讓您可以建立代理程式組態檔案。如需詳細資訊及使用參數存放區下載代理程式,請參閱 下載 CloudWatch 代理程式套件。
-
建立代理程式組態檔案並將其儲存在參數存放區中。如需詳細資訊,請參閱建立 CloudWatch 代理程式組態檔案。
-
從 GitHub 下載範本,如下所示。
curl -O https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/solutions/AmazonCloudWatchAgent/ssm/amazon_linux.template 在 https://https://console.aws.amazon.com/cloudformation
開啟 CloudFormation 主控台。 -
選擇建立堆疊。
-
針對 Choose template (選擇範本),選取 Upload a template to Simple Storage Service (Amazon S3) (將範本上傳至 Simple Storage Service (Amazon S3)),選擇您下載的範本,然後選擇 Next (下一步)。
-
在 Specify Details (指定詳細資訊) 頁面上,據此填寫下列參數,然後選擇 Next (下一步)。
-
堆疊名稱:為您的堆疊選擇 CloudFormation 堆疊名稱。
-
IAMRole:選擇有權寫入 CloudWatch 指標、日誌和追蹤的 IAM 角色。如需詳細資訊,請參閱先決條件。
-
InstanceAMI:選擇在您要啟動堆疊區域中有效的 AMI。
-
InstanceType:選擇有效的執行個體類型。
-
KeyName:若要允許以 SSH 存取新的執行個體,請選擇現有的 Amazon EC2 金鑰對。如果您還沒有 Amazon EC2 金鑰對,可以在 AWS 管理主控台中建立一個。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 金鑰對。
-
SSHLocation:指定可用於透過 SSH 連接到執行個體的 IP 地址範圍。預設值允許從任何 IP 地址存取。
-
SSMKey:指定您在參數存放區中建立並儲存的代理程式組態檔案。
-
-
在 Options (選項) 頁面上,您可以選擇為堆疊資源加上標籤。選擇下一步。
-
在 Review (審核) 頁面上,審核您的資訊,確認該堆疊可能會建立 IAM 資源,並選擇 Create (建立)。
如果您重新整理主控台,您會看到新堆疊的狀態為
CREATE_IN_PROGRESS。 -
執行個體建立後,您就可以在 Amazon EC2 主控台看到它。或者,您可以連線到主機並檢查進度。
使用以下命令確認已安裝代理程式:
rpm -qa amazon-cloudwatch-agent使用以下命令確認代理程式正在執行:
ps aux | grep amazon-cloudwatch-agent
下一個程序示範使用 CloudFormation 更新 CloudWatch 代理程式,使用您在參數存放區中儲存的代理程式組態。
若要使用 參數存放區中的組態 CloudFormation 來更新 CloudWatch 代理程式
-
將參數存放區中存放的代理程式組態檔案變更為您希望的新組態。
-
在您於教學課程:使用 CloudFormation 和 參數存放區安裝 CloudWatch 代理程式主題下載的 CloudFormation 範本中,變更版本編號。例如,您可能將
VERSION=1.0變更為VERSION=2.0。 在 https://https://console.aws.amazon.com/cloudformation
開啟 CloudFormation 主控台。 -
在 CloudFormation 儀表板上,選取您建立的堆疊,然後選擇更新堆疊。
-
針對 Select Template (選取範本),選取 Upload a template to Simple Storage Service (Amazon S3) (將範本上傳至 Simple Storage Service (Amazon S3)),選取您剛修改的範本,然後選擇 Next (下一步)。
-
在 Options (選項) 頁面上,選擇 Next (下一步),然後選擇 Next (下一步)。
-
在 Review (檢閱) 頁面上,檢閱您的資訊,然後選擇 Update (更新)。
一段時間後,您會看到
UPDATE_COMPLETE。
使用 安裝 CloudWatch 代理程式的故障診斷 CloudFormation
本節協助您排除透過 CloudFormation安裝和更新 CloudWatch 代理程式時的問題。
當更新失敗時偵測
如果您使用 CloudFormation 更新 CloudWatch 代理程式組態,並使用無效的組態,代理程式會停止傳送任何指標至 CloudWatch。檢查代理程式組態更新是否成功的快速方法是查看 cfn-init-cmd.log 檔案。在 Linux 伺服器上,此檔案位於 /var/log/cfn-init-cmd.log。在 Windows 執行個體上,此檔案位於 C:\cfn\log\cfn-init-cmd.log。
遺失指標
如果您在安裝或更新代理程式之後沒看到預料會看到的指標,請確認已將代理程式設定為收集該指標。若要執行此作業,請檢查 amazon-cloudwatch-agent.json 檔案,以確定其中列出該指標,而且您查看的是正確的指標命名空間。如需詳細資訊,請參閱CloudWatch 代理程式檔案和位置。