AWSメトリクスの収集

ご使用の環境でメトリックの収集を有効にすることを強くお勧めします。 メトリックを有効にすると、 Turbonomic は、VM リソース使用量を最適化するためのスケール・アクションを生成できます。 Turbonomic でメトリックを収集するには、環境内の VM でこれらのメトリックの収集を有効にする必要があります。

このトピックでは、以下のメトリックの収集について説明します。

指標収集の要件

メトリクスの収集を有効にするには、以下の要件を満たす必要があります。 VMがLinuxかWindowsかによって、いくつかの要件が異なる場合がある。

  • VMイメージにはSSMエージェントがインストールされている必要があります。

    • LinuxVM

      デフォルトでは、2017.09以降のLinuxAMIにはSSMエージェントがインストールされている。

    • Windows VM

      SSM エージェントを VM にインストールする必要があります。 詳細はAWSのドキュメントを参照。

  • CloudWatch サービスへのアクセス

    CloudWatchにデータをプッシュするには、AWSインスタンスがインターネットにアクセスできるか、CloudWatchに直接アクセスできる必要がある。

  • Turbonomic からのアクセス

    Turbonomic がメトリックにアクセスするには、 AWS ターゲットへの接続に使用するアカウントに正しい権限が含まれている必要があります。 IAMロールではなく)AWSキーでAWSターゲットを構成した場合は、AWSターゲットを構成するセクションで指定したアクセス許可を含めます。

    Turbonomic の接続に IAM ロールを使用する場合、そのロールには最低限以下の権限が必要です:

    • AmazonEC2ReadOnlyAccess
    • AmazonS3ReadOnlyAccess
    • AmazonRDSReadOnlyAccess

メトリック収集の有効化

VM の メ ト リ ッ ク 収集を有効にす る には、 以下の手順を実行 し ます:

  1. 各 VM インスタンスに IAM 役割をアタッチします。

    各 EC2 インスタンスには、 CloudWatch アクセス権限を付与する IAM ロールが付加されている必要があります。 そのアクセス権限を付与するには、役割に AmazonSSMFullAccess ポリシーを含めます。

    AWS System Manager を使用して、必要な役割を VM にアタッチします。

    注:

    より低いアクセス権限をロールに付与する場合は、 AmazonEC2RoleforSSM ポリシーを使用できます。 これは、アクション ssm:GetParameter がリソース arn:aws:ssm:*:*:parameter/*にアクセスすることを許可するカスタム・ポリシーです。

  2. CloudWatch エージェントを Linux VM にインストールします。

    構成するアカウントとリージョンに対応する System Managerに移動します。 サービスで 「Run Command」画面に移動し、 AWS-ConfigureAWSPackageを設定して、 AmazonCloudWatchAgent をVMにインストールします。 AmazonCloudWatchAgent をインストールするには、以下の必須値を使用します
    アイテム 構成
    アクション Install
    名前 CloudWatchAgent
  3. パラメーター・ストアを作成します。

    1. AWS System Managerで、 「パラメーター・ストア」 にナビゲートし、パラメーターを作成します。 次のステップで表示されるJSONオブジェクト構成をコピーして、パラメータのValueフィールドに貼り付けます。

    2. AmazonCloudWatch-MyMemoryParamようにパラメータ名を指定する。 別の名前を使うこともできるが、アマゾンのドキュメントによると、名前は'AmazonCloudWatchで始まる必要がある。

    3. 値のフィールドに、VMに対応するJSON構成(次のステップで表示)をコピー&ペーストします。
  4. CloudWatch エージェントの構成データを作成します。

    設定データはJSONオブジェクトで、パラメータストアのパラメータとして追加します。 オブジェクトには、LinuxVMインスタンス用かWindows VMインスタンス用かに応じて、以下のコンフィギュレーションを含める必要がある。

    • 標準メモリ用Linuxコンフィギュレーション

      {
         "agent":{
            "metrics_collection_interval":60,
            "logfile":"/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
         },
         "metrics":{
            "metrics_collected":{
               "mem":{
                  "measurement":[
                     {
                        "name":"mem_used",
                        "rename":"MemoryUsed"
                     },
                     {
                        "name":"mem_available_percent",
                        "rename":"MemoryAvailablePercent"
                     },
                     {
                        "name":"mem_used_percent",
                        "rename":"MemoryUsedPercent"
                     },
                     {
                        "name":"mem_available",
                        "rename":"MemoryAvailable"
                     }
                  ]
               }
            },
            "append_dimensions":{
               "InstanceId":"${aws:InstanceId}",
                "ImageId":"${aws:ImageId}",         
                "InstanceType":"${aws:InstanceType}",
                "AutoScalingGroupName":"${aws:AutoScalingGroupName}"
            },
            "aggregation_dimensions":[
               [
                  "AutoScalingGroupName"
               ]
            ]
         }
      }
    • 標準メモリと NVIDIA カード/メモリ使用率のための Linux 設定

      {
        "agent":{
         "metrics_collection_interval":60,
         "logfile":"/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
        },
        "metrics":{
         "namespace": "CWAgent",
         "metrics_collected":{
            "nvidia_gpu": {
               "measurement": [
                   "utilization_gpu",
                   "memory_used"
                ]
            },
           "mem":{
            "measurement":[
              {
               "name":"mem_available", "rename":"MemoryAvailable", "unit": "Bytes"
              }
            ]
           }
         },
         "append_dimensions":{
           "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
           "ImageId": "${aws:ImageId}",
           "InstanceId": "${aws:InstanceId}",
           "InstanceType": "${aws:InstanceType}"
         }
        }
      }
    • NVIDIA メトリクス(DCGM)用の Linux

      setup_aws_dcgm_exporter.py スクリプトを実行して、データセンターGPUマネージャー(DCGM)を通じて NVIDIA GPUメトリクスの収集を自動化します。 スクリプトを実行する前に、特定の前提条件を満たす必要があります。 詳細については、こちらの GitHub ページをご覧ください。

      スクリプトについて支援が必要な場合は、 Turbonomic 担当員にお問い合わせください。

    • 標準メモリーのウィンドウズ構成

      {
         "metrics":{
            "namespace":"CWAgent",
            "append_dimensions":{
               "InstanceId":"${aws:InstanceId}",
               "AutoScalingGroupName":"${aws:AutoScalingGroupName}"
            },
            "aggregation_dimensions":[
               [
                  "InstanceId"
               ],
               [
                  "AutoScalingGroupName"
               ]
            ],
            "metrics_collected":{
               "Memory":{
                  "measurement":[
                     {
                        "name":"Available Bytes",
                        "rename":"MemoryAvailable",
                        "unit":"Bytes"
                     }
                  ],
                  "metrics_collection_interval":60
               },
               "Paging File":{
                  "measurement":[
                     {
                        "name":"% Usage",
                        "rename":"paging_used"
                     }
                  ],
                  "metrics_collection_interval":60,
                  "resources":[
                     "*"
                  ]
               }
            }
         }
      } 

    CWネームスペースとリージョンには、オプションのパラメータを設定できることに注意してください。 ただし、 CloudWatch で収集するために追加のメトリックを構成する場合、これらのメトリックは Turbonomic 分析に影響を与えず、ユーザー・インターフェースに表示されません。

  5. パラメータを作成し、後のステップで使用するためにパラメータ名を記録する。
  6. CloudWatch パラメーターを VM にデプロイします。

    1. AWS System Manager で、Run Command画面に移動し、AmazonCloudWatch-ManageAgentコマンドを構成して実行します。 コンフィギュレーションには以下の項目を含める必要がある:

      アイテム 構成
      アクション configure
      モード ec2
      オプションの設定ソース ssm
      オプションの設定場所 先ほど作成したパラメータ名を指定する。
      オプションの再起動 yes

      このコンフィギュレーションは、VMインスタンスではなくCloudWatchエージェントを再起動する。

      ターゲット CloudWatch構成をデプロイするVMを指定する。
    2. コマンドを実行して、インスタンスのメトリクス・コレクションを有効にします。

  7. メトリクスの収集が有効になっていることを確認します。

    1. CloudWatchページに移動し、CWAgentネームスペースでMetrics を開く。

    2. IDでインスタンスを検査する。 メトリクスの収集が有効になっていれば、「MemoryAvailableまたは「utilization_gpu」と「memory_usedメトリクスが表示されるはずです。

AWSのメトリック収集の有効化について詳しくは、以下のサポート記事を参照してください。