创建elasticache告警
#!/bin/bash
clusterIds=`aws elasticache describe-cache-clusters|jq -r .CacheClusters[].CacheClusterId`
for clusterId in $clusterIds
do
CacheSubnetGroupName=`aws elasticache describe-cache-clusters --cache-cluster-id $clusterId|jq -r .CacheClusters[].CacheSubnetGroupName`
vpcId=`aws elasticache describe-cache-subnet-groups --cache-subnet-group-name $CacheSubnetGroupName|jq -r .CacheSubnetGroups[].VpcId`
prod="vpc-021bbe2ee65d5856b"
alarm_name_cpu="Redis-"$clusterId"-CPUUtilization>85%"
alarm_name_mem="Redis-"$clusterId"-mem_used_percent<15%"
alarm_name_CurrConnections="Redis-"$clusterId"-CurrConnections>3000"
#echo $alarm_name_cpu $alarm_name_mem $alarm_name_CurrConnections
if [[ $vpcId == $prod ]];then
alarm_actions="arn:aws:sns:eu-central-1:415430573600:cloudwatch_alarm"
else
alarm_actions="arn:aws:sns:eu-central-1:415430573600:Uat-alarm"
fi
aws cloudwatch put-metric-alarm --alarm-name $alarm_name_cpu --alarm-description $alarm_name_cpu --metric-name "CPUUtilization" --namespace AWS/ElastiCache --statistic Average --period 300 --threshold 85 --comparison-operator GreaterThanOrEqualToThreshold --dimensions Name=CacheClusterId,Value=$clusterId Name=CacheNodeId,Value=0001 --evaluation-periods 1 --alarm-actions $alarm_actions --unit Percent --treat-missing-data missing
sleep 2s
aws cloudwatch put-metric-alarm --alarm-name $alarm_name_mem --alarm-description $alarm_name_mem --metric-name "FreeableMemory" --namespace AWS/ElastiCache --statistic Average --period 300 --threshold 90000000 --comparison-operator LessThanOrEqualToThreshold --dimensions Name=CacheClusterId,Value=$clusterId Name=CacheNodeId,Value=0001 --evaluation-periods 1 --alarm-actions $alarm_actions --treat-missing-data missing
sleep 2s
aws cloudwatch put-metric-alarm --alarm-name $alarm_name_CurrConnections --alarm-description $alarm_name_CurrConnections --metric-name "CurrConnections" --namespace AWS/ElastiCache --statistic Average --period 300 --threshold 3000 --comparison-operator GreaterThanOrEqualToThreshold --dimensions Name=CacheClusterId,Value=$clusterId --evaluation-periods 1 --alarm-actions $alarm_actions --treat-missing-data missing
sleep 2s
done
浙公网安备 33010602011771号