我想從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體將記憶體和磁碟指標傳送至 Amazon CloudWatch 指標。
簡短描述
預設情況下,Amazon EC2 會將一組與您的執行個體相關的指標傳送到 AWS/EC2 命名空間中的 CloudWatch。其中包括 CPU 使用率以及一組 NetworkIn 和 NetworkOut 指標。
Amazon EC2 不提供與作業系統 (OS) 層級記憶體使用情況或磁碟使用情況指標相關的指標。若要尋找這些指標,並將其作為自訂指標傳送到 CloudWatch,請安裝統一的 CloudWatch 代理程式。然後,在代理程式組態檔案中定義這些指標。
**注意:**AWS 會根據其儲存空間和 API 使用情況的自訂指標來計費。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
使用 AWS CLI 手動下載並安裝 CloudWatch 代理程式。或者,將 CloudWatch 代理程式與 AWS Systems Manager Agent (SSM Agent) 整合。
**注意:**Windows 和 Linux 系統都支援 CloudWatch 代理程式。
若要安裝 CloudWatch 代理程式,請完成下列步驟:
-
建立 AWS Identity and Access Management (IAM) 角色或使用者,以授予從伺服器收集指標的代理程式權限。您也可以與 Systems Manager 整合。將 IAM 角色附加到您要安裝代理程式的 EC2 執行個體。
-
下載並安裝代理程式套件。
-
建立 CloudWatch 代理程式組態檔案,然後指定您要收集的指標。
以下是基本代理程式組態檔的程式碼範例,用於回報記憶體使用情況和磁碟使用情況的指標:
Linux
{
"metrics": {
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
]
},
"disk": {
"measurement": [
"used_percent"
],
"resources": [
"*"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
Windows
{
"metrics": {
"metrics_collected": {
"LogicalDisk": {
"measurement": [
"% Free Space"
],
"resources": [
"*"
]
},
"Memory": {
"measurement": [
"% Committed Bytes In Use"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
-
在 EC2 執行個體上啟動代理程式。
預設情況下,作用中的代理程式會將您的執行個體指標報告至 CloudWatch 中的 CWAgent 命名空間。如果您收到錯誤,請參閱 CloudWatch 代理程式疑難排解。
相關資訊
使用 CloudWatch 監控您的執行個體