Да, вы можете создать сигнал тревоги для любого отдельного показателя. В этом случае у единственной метрики есть измерение, которое представляет все экземпляры. Вот как это можно сделать в бото.
In [1]: import boto
In [2]: cw = boto.connect_cloudwatch()
In [3]: cw.list_metrics(metric_name='CPUUtilization')
Out[3]:
[Metric:CPUUtilization,
Metric:CPUUtilization,
Metric:CPUUtilization,
Metric:CPUUtilization]
In [4]: l = _
In [5]: for m in l:
...: print m.name, m.dimensions
...:
CPUUtilization {u'ImageId': [u'ami-1b814f72']}
CPUUtilization {u'InstanceId': [u'i-366c4354']}
CPUUtilization {}
CPUUtilization {u'InstanceType': [u'm1.large']}
Вы можете видеть здесь четыре отдельных показателя, связанных с metric_name CPUUtilization. Первый имеет размерность всех экземпляров, которые используют этот конкретный AMI, второй имеет измерение для конкретного экземпляра, который сейчас выполняется, четвертый имеет измерение всех экземпляров определенного типа, но третий не имеет указанного измерения. Эта метрика представляет CPUUtilization во всех моих экземплярах. Так:
In [6]: m = l[2]
In [7]: m.create_alarm(name='cpu_all_instances', comparison='>', threshold=80.0, period=60, evaluation_periods=2, statistic='Average')
Out[7]: MetricAlarm:cpu_all_instances[CPUUtilization(Average) GreaterThanThreshold 80.0]
Этот сигнал тревоги должен сработать, если средняя загрузка ЦП во всех моих экземплярах превышает 80% в течение двух периодов оценки. Вы также можете выбрать другую статистику, например «Максимум», которая будет срабатывать, если максимальное значение загрузки ЦП во всех экземплярах превышает 80% в течение более чем двух периодов оценки.
Я не знаю, ищете ли вы конкретно MemoryUsage или это был просто пример, но я не думаю, что MemoryUsage - одна из доступных метрик CloudWatch.
person
garnaat
schedule
22.11.2012