本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 在新執行個體上安裝 CloudWatch 代理程式 AWS CloudFormation
本節說明如何使用 在新的 Amazon EC2執行個體上安裝 CloudWatch 代理程式 AWS CloudFormation。
注意
Amazon 將數個 AWS CloudFormation 範本上傳到 GitHub ,可協助您在新的 Amazon EC2執行個體上安裝和更新 CloudWatch 代理程式。如需使用 的詳細資訊 AWS CloudFormation,請參閱什麼是 AWS CloudFormation?。
範本位置是使用 將 Amazon CloudWatch 代理程式部署到EC2執行個體 AWS CloudFormationinline
和 ssm
目錄。每個目錄都包含適用於 Linux 和 Windows 執行個體的範本。
-
inline
目錄中的範本會將 CloudWatch 代理程式組態嵌入 AWS CloudFormation 範本。根據預設,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 代理程式,以及更新代理程式組態。
教學課程:使用 AWS CloudFormation 內嵌範本安裝和設定 CloudWatch 代理程式
本教學課程會逐步引導您使用 AWS CloudFormation 在新的 Amazon EC2執行個體上安裝 CloudWatch 代理程式。本教學課程會使用內嵌範本在執行 Amazon Linux 2 的新執行個體上安裝 ,不需要使用JSON組態檔案或參數存放區。內嵌範本在範本中包含代理程式組態。在此教學課程中,您將使用範本包含的預設代理程式組態。
完成安裝代理程式的程序之後,教學課程會繼續說明如何更新代理程式。
使用 AWS 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://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
選擇建立堆疊。
-
針對 Choose template (選擇範本),選取 Upload a template to Simple Storage Service (Amazon S3) (將範本上傳至 Simple Storage Service (Amazon S3)),選擇已下載的範本,然後選擇 Next (下一步)。
-
在 Specify Details (指定詳細資訊) 頁面上,填寫下列參數,然後選擇 Next (下一步):
-
堆疊名稱 :為您的堆疊選擇 AWS CloudFormation 堆疊名稱。
-
IAMRole:選擇具有撰寫 CloudWatch 指標、日誌和追蹤許可IAM的角色。如需詳細資訊,請參閱在 Amazon EC2執行個體上建立IAM角色以搭配 CloudWatch 代理程式使用。
-
執行個體 AMI:選擇在您要啟動堆疊的區域中AMI有效的 。
-
InstanceType:選擇有效的執行個體類型。
-
KeyName:若要啟用新執行個體的SSH存取,請選擇現有的 Amazon EC2金鑰對。如果您還沒有 Amazon EC2金鑰對,您可以在 中建立金鑰對 AWS Management Console。如需詳細資訊,請參閱 Amazon 使用者指南 中的 Amazon EC2 Key Pairs。 EC2
-
SSHLocation:指定可用於使用 連線至執行個體的 IP 地址範圍SSH。預設值允許從任何 IP 地址存取。
-
-
在 Options (選項) 頁面上,您可以選擇為堆疊資源加上標籤。選擇 Next (下一步)。
-
在檢閱頁面上,檢閱您的資訊,確認堆疊可能會建立IAM資源,然後選擇建立 。
如果您重新整理主控台,您會看到新堆疊的狀態為
CREATE_IN_PROGRESS
。 -
建立執行個體時,您可以在 Amazon EC2主控台中看到該執行個體。或者,您可以連線到主機並檢查進度。
使用以下命令確認已安裝代理程式:
rpm -qa amazon-cloudwatch-agent
使用以下命令確認代理程式正在執行:
ps aux | grep amazon-cloudwatch-agent
下一個程序示範使用 AWS CloudFormation 來使用內嵌範本更新 CloudWatch 客服人員。預設內嵌範本會收集 mem_used_percent
指標。在此教學課程中,您將變更代理程式組態來停止收集該指標。
使用 AWS CloudFormation 更新 CloudWatch 代理程式
-
在您於上個程序下載的範本中,移除下列幾行,然後儲存範本:
"mem": { "measurement": [ "mem_used_percent" ] },
在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在 AWS 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
。
教學課程:使用 AWS CloudFormation 和 參數存放區安裝 CloudWatch 代理程式
本教學課程會逐步引導您使用 AWS CloudFormation 在新的 Amazon EC2執行個體上安裝 CloudWatch 代理程式。此教學安裝使用您在參數存放區中建立並儲存的代理程式組態檔案,在執行 Amazon Linux 2 的新執行個體上安裝。
完成安裝代理程式的程序之後,教學課程會繼續說明如何更新代理程式。
使用 AWS CloudFormation 參數存放區的組態,在新執行個體上安裝 CloudWatch 代理程式
-
如果您尚未這樣做,請將 CloudWatch 代理程式套件下載到其中一台電腦,以便您可以建立代理程式組態檔案。如需詳細資訊及使用參數存放區下載代理程式,請參閱 使用 下載、設定和執行 CloudWatch 代理程式 SSM。如需使用命令列下載套件的詳細資訊,請參閱使用命令列下載和設定 CloudWatch 代理程式。
-
建立代理程式組態檔案並將其儲存在參數存放區中。如需詳細資訊,請參閱建立 CloudWatch 代理程式組態檔案。
-
從 下載範本 GitHub ,如下所示:
curl -O https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/solutions/AmazonCloudWatchAgent/ssm/amazon_linux.template
在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
選擇建立堆疊。
-
針對 Choose template (選擇範本),選取 Upload a template to Simple Storage Service (Amazon S3) (將範本上傳至 Simple Storage Service (Amazon S3)),選擇您下載的範本,然後選擇 Next (下一步)。
-
在 Specify Details (指定詳細資訊) 頁面上,據此填寫下列參數,然後選擇 Next (下一步)。
-
堆疊名稱 :為您的堆疊選擇 AWS CloudFormation 堆疊名稱。
-
IAMRole:選擇具有撰寫 CloudWatch 指標、日誌和追蹤許可IAM的角色。如需詳細資訊,請參閱在 Amazon EC2執行個體上建立IAM角色以搭配 CloudWatch 代理程式使用。
-
執行個體 AMI:選擇在您要啟動堆疊的區域中AMI有效的 。
-
InstanceType:選擇有效的執行個體類型。
-
KeyName:若要啟用新執行個體的SSH存取,請選擇現有的 Amazon EC2金鑰對。如果您還沒有 Amazon EC2金鑰對,您可以在 中建立金鑰對 AWS Management Console。如需詳細資訊,請參閱 Amazon 使用者指南 中的 Amazon EC2 Key Pairs。 EC2
-
SSHLocation:指定可用於使用 連線至執行個體的 IP 地址範圍SSH。預設值允許從任何 IP 地址存取。
-
SSMKey:指定您在 參數存放區中建立和儲存的代理程式組態檔案。
-
-
在 Options (選項) 頁面上,您可以選擇為堆疊資源加上標籤。選擇 Next (下一步)。
-
在檢閱頁面上,檢閱您的資訊,確認堆疊可能會建立IAM資源,然後選擇建立 。
如果您重新整理主控台,您會看到新堆疊的狀態為
CREATE_IN_PROGRESS
。 -
建立執行個體時,您可以在 Amazon EC2主控台中看到該執行個體。或者,您可以連線到主機並檢查進度。
使用以下命令確認已安裝代理程式:
rpm -qa amazon-cloudwatch-agent
使用以下命令確認代理程式正在執行:
ps aux | grep amazon-cloudwatch-agent
下一個程序示範使用 AWS CloudFormation 更新 CloudWatch 代理程式,使用您在 參數存放區中儲存的代理程式組態。
若要使用 參數存放區中的組態 AWS CloudFormation 來更新 CloudWatch 代理程式
-
將參數存放區中存放的代理程式組態檔案變更為您希望的新組態。
-
在您在教學課程:使用 AWS CloudFormation 和 參數存放區安裝 CloudWatch 代理程式主題中下載的 AWS CloudFormation 範本中,變更版本編號。例如,您可能將
VERSION=1.0
變更為VERSION=2.0
。 在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在 AWS 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 代理程式的安裝進行疑難排解 AWS CloudFormation
本節可協助您疑難排解使用 安裝和更新 CloudWatch 代理程式的問題 AWS CloudFormation。
當更新失敗時偵測
如果您使用 AWS 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 代理程式檔案和位置。