创建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

posted on 2022-01-04 15:17  无聊的时候看一下  阅读(65)  评论(0)    收藏  举报

导航