Управляйте продолжительностью хранения пользовательских метрик в AWS Cloudwatch. - PullRequest
0 голосов
/ 22 октября 2019

AWS Cloudwatch хранит пользовательские метрики в течение продолжительности, зависящей от периода метрики:

  • Точки данных с периодом менее 60 секунд доступны в течение 3 часов. Эти точки данных являются пользовательскими метриками высокого разрешения.
  • Точки данных с периодом 60 секунд (1 минута) доступны в течение 15 дней
  • Точки данных с периодом 300 секунд (5 минут)) доступны в течение 63 дней
  • Точки данных с периодом 3600 секунд (1 час) доступны в течение 455 дней (15 месяцев)

с https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html

Однако я не могу выяснить, как установить Период для данной метрики, используя JS SDK:

// Calling the putMetricData operation

var params = {
  MetricData: [ /* required */
    {
      MetricName: 'STRING_VALUE', /* required */
      Counts: [
        'NUMBER_VALUE',
        /* more items */
      ],
      Dimensions: [
        {
          Name: 'STRING_VALUE', /* required */
          Value: 'STRING_VALUE' /* required */
        },
        /* more items */
      ],
      StatisticValues: {
        Maximum: 'NUMBER_VALUE', /* required */
        Minimum: 'NUMBER_VALUE', /* required */
        SampleCount: 'NUMBER_VALUE', /* required */
        Sum: 'NUMBER_VALUE' /* required */
      },
      StorageResolution: 'NUMBER_VALUE',
      Timestamp: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789,
      Unit: Seconds | Microseconds | Milliseconds | Bytes | Kilobytes | Megabytes | Gigabytes | Terabytes | Bits | Kilobits | Megabits | Gigabits | Terabits | Percent | Count | Bytes/Second | Kilobytes/Second | Megabytes/Second | Gigabytes/Second | Terabytes/Second | Bits/Second | Kilobits/Second | Megabits/Second | Gigabits/Second | Terabits/Second | Count/Second | None,
      Value: 'NUMBER_VALUE',
      Values: [
        'NUMBER_VALUE',
        /* more items */
      ]
    },
    /* more items */
  ],
  Namespace: 'STRING_VALUE' /* required */
};
cloudwatch.putMetricData(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricData-property

В других местах есть ссылки на periodв документах, но не имеет прямого отношения к MetricData. Отличается ли «Точка данных» от «Метрических данных»?

Как мне контролировать, как долго сохраняются метрические данные?

Редактировать, дополнительная информация:

Метрики CloudWatch сворачиваются с течением времени;разрешение эффективно уменьшается с возрастом метрик. Вот график:

1 second metrics are available for 3 hours.
60 second metrics are available for 15 days.
5 minute metrics are available for 63 days.
1 hour metrics are available for 455 days (15 months).

Когда вы вызываете GetMetricStatistics, вы можете указать период 1, 5, 10, 30 или любой кратный 60 секундам для метрик высокого разрешения. Вы можете указать любой кратный 60 секунд для стандартных метрик. с https://aws.amazon.com/blogs/aws/new-high-resolution-custom-metrics-and-alarms-for-amazon-cloudwatch/ Исходя из этого поста, похоже, что точки данных будут автоматически усреднять показатели по мере их старения. В этом случае это означает, что точки данных удаляются полностью только после истечения срока их действия через 15 месяцев?

1 Ответ

2 голосов
/ 22 октября 2019

Вы не контролируете, как долго будут храниться данные, вы контролируете, как часто вы публикуете данные.

Например, если вы публикуете свои данные раз в минуту, вы можете отобразить их на графике за 1 минуту. разрешение на 15 дней. Если данные старше 15 дней, вы можете отображать их только с разрешением 5 минут. То же самое для 1 часа.

Исключением являются данные с разрешением менее 1 минуты. В этом случае вам нужно опубликовать нужное вам разрешение. Если вы публикуете данные каждую секунду и хотите отображать их с разрешением в 1 секунду, вы должны установить StorageResolution=1.

Период , который используется для отображения данных или получения данных через API. ,Даже если вы публикуете данные каждую минуту, например, вам может потребоваться график агрегирования данных за 1 час или 1 день. В этом случае вы должны установить период 3600 или 86400.

...