跳至內容

如何從 EC2 執行個體將記憶體和磁碟指標傳送至 CloudWatch?

1 分的閱讀內容
0

我想從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體將記憶體和磁碟指標傳送至 Amazon CloudWatch 指標。

簡短描述

預設情況下,Amazon EC2 會將一組與您的執行個體相關的指標傳送到 AWS/EC2 命名空間中的 CloudWatch。其中包括 CPU 使用率以及一組 NetworkInNetworkOut 指標。

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 代理程式,請完成下列步驟:

  1. 建立 AWS Identity and Access Management (IAM) 角色或使用者,以授予從伺服器收集指標的代理程式權限。您也可以與 Systems Manager 整合。將 IAM 角色附加到您要安裝代理程式的 EC2 執行個體。

  2. 下載並安裝代理程式套件

  3. 建立 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}"
            }
        }
    }
  4. 在 EC2 執行個體上啟動代理程式

預設情況下,作用中的代理程式會將您的執行個體指標報告至 CloudWatch 中的 CWAgent 命名空間。如果您收到錯誤,請參閱 CloudWatch 代理程式疑難排解

相關資訊

使用 CloudWatch 監控您的執行個體