

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建構自訂指標的 JSON
<a name="construct-json-custom-metrics"></a>

下一節包含如何設定預測擴展以查詢來自 CloudWatch 的資料的範例。設定此選項有兩種不同的方法，而您選擇的方法會影響您用來建構預測擴展政策的 JSON 的格式。使用指標數學時，JSON 的格式會根據所執行的指標數學而進一步變化。

1. 若要建立直接從 AWS 您發佈至 CloudWatch 的其他 CloudWatch 指標取得資料的政策，請參閱 [具有自訂負載和擴展指標的預測擴展政策範例 (AWS CLI)](#custom-metrics-ex1)。

1. 若要建立能查詢多個 CloudWatch 指標並使用數學表達式根據這些指標來建立新的時間序列的政策，請參閱 [使用指標數學表達式](using-math-expression-examples.md)。

## 具有自訂負載和擴展指標的預測擴展政策範例 (AWS CLI)
<a name="custom-metrics-ex1"></a>

若要使用 建立具有自訂載入和擴展指標的預測擴展政策 AWS CLI，請將 的引數存放在名為 `--predictive-scaling-configuration`的 JSON 檔案中`config.json`。

您可以藉由將以下範例中的可替換值換成您的指標和目標使用率的值，開始新增自訂指標。

```
{
  "MetricSpecifications": [
    {
      "TargetValue": {{50}},
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "{{scaling_metric}}",
            "MetricStat": {
              "Metric": {
                "MetricName": "{{MyUtilizationMetric}}",
                "Namespace": "{{MyNameSpace}}",
                "Dimensions": [
                  {
                    "Name": "{{MyOptionalMetricDimensionName}}",
                    "Value": "{{MyOptionalMetricDimensionValue}}"
                  }
                ]
              },
              "Stat": "{{Average}}"
            }
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "{{load_metric}}",
            "MetricStat": {
              "Metric": {
                "MetricName": "{{MyLoadMetric}}",
                "Namespace": "{{MyNameSpace}}",
                "Dimensions": [
                  {
                    "Name": "{{MyOptionalMetricDimensionName}}",
                    "Value": "{{MyOptionalMetricDimensionValue}}"
                  }
                ]
              },
              "Stat": "{{Sum}}"
            }
          }
        ]
      }
    }
  ]
}
```

如需詳細資訊，請參閱*《Amazon EC2 Auto Scaling API 參考》*中的 [MetricDataQuery](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MetricDataQuery.html)。

**注意**  
以下是一些其他資源，可協助您尋找 CloudWatch 指標的指標名稱、命名空間、維度和統計資料：  
如需 AWS 服務可用指標的相關資訊，請參閱《Amazon [AWS CloudWatch 使用者指南》中的發佈 CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)的 服務。 *Amazon CloudWatch *
若要使用 取得 CloudWatch 指標的確切指標名稱、命名空間和維度 （如適用） AWS CLI，請參閱 [清單指標](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/list-metrics.html)。

若要建立此政策，執行使用 JSON 檔案作為輸入 [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html) 命令，如以下範例所示。

```
aws autoscaling put-scaling-policy --policy-name {{my-predictive-scaling-policy}} \
  --auto-scaling-group-name {{my-asg}} --policy-type PredictiveScaling \
  --predictive-scaling-configuration {{file://config.json}}
```

如果成功，此命令會傳回政策的 Amazon Resource Name (ARN)。

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy",
  "Alarms": []
}
```