2015-07-08 7 views
10

Я пытаюсь создать облако часы тревоги ведьму анзибль ec2_metric_alarm модуль, и я не знаю, как это сделать, чтобы отправить письмо по тревогесигнализации определение действия в ec2_metric_alarm анзибль модуль

Код

- name: add alarm 
    ec2_metric_alarm: 
    state: present 
    region: eu-west-1 
    name: "LoadAverage" 
    metric: "LoadAverage" 
    statistic: Average 
    comparison: ">" 
    threshold: 3.0 
    evaluation_periods: 3 
    period: 60 
    unit: "None" 
    description: "Load Average" 
    dimensions: {'Role':{{itme[0]}}, Node:{{item[1]}} } 
    alarm_actions: ["action1","action2"] 

Что такое синтаксис или что мне делать, чтобы выразить, что я хочу, чтобы он отправлял электронные письма в alarm_actions?

ответ

13

документация дерьмовый для этого один:

Вот что я хотел бы попробовать на основе Бото:
http://docs.pythonboto.org/en/latest/ref/cloudwatch.html#module-boto.ec2.cloudwatch.alarm

alarm_actions (список STRs) - Список ВРНС из действия, которые необходимо предпринять в состоянии ALARM

Текущие поддерживаемые ARNS - это темы SNS или политики автосохранения.

В вашем случае:
Вы должны создать тему SNS и подписаться ваш адрес электронной почты на эту тему (также подтверждения подписки) и после этого поставить тему ARN SNS как строка в alarm_actions param, который вы переходите к незаменимому ec2_metric_alarm_module.

Надеюсь, это поможет.

0

Я согласен с ответом @ Mircea относительно документации и ее качества. Я лично нашел решение одной и той же/аналогичной проблемы путем создания сигнализации с помощью пользовательского интерфейса с требуемым предупреждения действий, а затем с помощью AWS консоли, чтобы извлечь строку сигнализации для использования с анзибль

aws cloudwatch describe-alarms 

В результате вы можете затем найти строку действий:

ALARMACTIONS arn:aws:sns:us-east-1:**Cust Account ID Here**:NotifyMe 
ALARMACTIONS arn:aws:swf:us-east-1:**Cust Account ID Here**:action/actions/AWS_EC2.InstanceId.Stop/1.0 

в моем случае у меня было два действия, один по электронной почте мне и другим, чтобы остановить экземпляр EC2

Эти значения могут быть использованы в вашей анзибль задачи:

alarm_actions: ["arn:aws:swf:{{ aws_region }}:{{ aws_cust_account_id }}:action/actions/AWS_EC2.InstanceId.Stop/1.0", "arn:aws:sns:{{ aws_region }}:{{ aws_cust_account_id }}:NotifyMe"] 
Смежные вопросы