我想從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體將記憶體和磁碟指標傳送至 Amazon CloudWatch 指標。我該如何操作?
簡短描述
根據預設,Amazon EC2 會交付在 AWS/EC2 命名空間中與執行個體相關的一組指標給 CloudWatch。這包括 CPU 使用率以及一組 NetworkIn 和 NetworkOut 指標。
**注意:**EC2 不提供與作業系統層級記憶體用量或磁碟用量指標相關的指標。
若要尋找這些指標並將其做為自訂指標交付至 CloudWatch,請安裝統一的 CloudWatch 代理程式。然後,在代理程式組態檔案中定義這些指標。
**重要:**自訂指標會根據其儲存空間和 API 用量收費。
解決方案
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱 AWS CLI 錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
您可以使用 AWS CLI 手動下載並安裝 CloudWatch 代理程式,或將其與 AWS Systems Manager Agent (SSM Agent) 整合。
**注意:**Windows 和 Linux 系統都支援 CloudWatch 代理程式。
請使用這些步驟安裝 CloudWatch 代理程式:
-
建立 IAM 角色或使用者,以啟用從伺服器收集指標的代理程式。選擇性地與 AWS 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 監控您的執行個體