in index.py [0:0]
def update_alarm_out(shards, stream):
new_threshold = (1000 * shards * 60)*80/100 #assuming alarm will fire at 80% of incoming records
try:
set_alarm = client_cloudwatch.put_metric_alarm(
AlarmName=CLOUDWATCHALARMNAMEOUT,
AlarmDescription='incomingRecord exceeds threshold',
MetricName='IncomingRecords',
Namespace='AWS/Kinesis',
Dimensions=[
{
'Name':'StreamName',
'Value':stream
}
],
Statistic='Sum',
Period=60,
EvaluationPeriods=1,
Threshold=new_threshold,
ComparisonOperator='GreaterThanThreshold',
AlarmActions=[
AUTOSCALINGPOLICYOUT_ARN
]
)
except Exception as e:
print (e)