Cloudwatch генерирует много затрат из-за большого количества запросов PutMetricData - PullRequest
0 голосов
/ 06 марта 2019

по стоимости, большинство наших счетов поступают от PutMetricData. Я не могу понять, какой кусок посылает эту огромную сумму. По данным https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html, облачный след его не отслеживает. Я ищу какую-то сумму, чтобы узнать, откуда поступают все эти запросы.

Любая помощь будет оценена, заранее спасибо

EDIT прикрепление распределения затрат по API enter image description here

1 Ответ

1 голос
/ 06 марта 2019

Когда вы говорите «большинство наших счетов», вы имеете в виду, что метрики CloudWatch стоят больше или значительную долю всех других сервисов AWS, которые вы используете?

Это очень удивительно: вы можете вызывать PutMetricData 100 000 раз за 1 доллар, поэтому ваши номера использования должны быть астрономическими (вызов раз в секунду составляет всего 86 400 в день). Настолько удивительно, что я должен спросить, вы уверены , что затраты на вызовы API увеличивают стоимость, а не количество показателей? (а знаете ли вы, что каждая комбинация измерений представляет собой отдельную метрику?)

Если это действительно количество вызовов PutMetricData, то единственный способ накапливать эти числа - это делать вызовы внутри цикла - такого, который выполняется много раз в секунду. Поэтому я бы начал с использования вашей IDE (или grep), чтобы найти все ссылки на функцию SDK и определить, какая из них вызывается в цикле.

Существует очень мало причин для вызова PutMetricData из цикла, если только вы не ожидаете, что тело цикла займет значительное время (от секунд до минут) и используете метрики для отслеживания количества времени, которое это занимает.

...