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

1 分的閱讀內容
0

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

簡短描述

根據預設,Amazon EC2 會交付在 AWS/EC2 命名空間中與執行個體相關的一組指標給 CloudWatch。這包括 CPU 使用率以及一組 NetworkInNetworkOut 指標。
**注意:**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 代理程式:

  1. 建立 IAM 角色或使用者,以啟用從伺服器收集指標的代理程式。選擇性地與 AWS 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 監控您的執行個體

AWS 官方
AWS 官方已更新 6 個月前