Как настроить будильник AWS для перезапуска сервера приложений

#java #amazon-web-services #tomcat #amazon-elastic-beanstalk

Вопрос:

У меня есть несколько рабочих приложений java на AWS Elastic Beanstalk. Эти приложения запущены на сервере Tomcat, и я хотел бы настроить сигнализацию для перезапуска этих приложений в случае, если использование памяти превысит некоторые значения. У меня есть asg.config файл в ../webapp/.ebextensions/ каталоге

 Resources:
  MemoryAlarmHigh:
    Type: AWS::CloudWatch::Alarm
    Properties:
      AlarmDescription: { "Fn::Join" : ["", [{ "Ref" : "AWSEBEnvironmentName" }, "-Memory-scale-up-alarm." ]]}
      Namespace: System/Linux
      Dimensions:
        - Name: AutoScalingGroupName
          Value: { "Ref" : "AWSEBAutoScalingGroup" }
      MetricName: MemoryUtilization
      Statistic: Average
      Period: 60
      EvaluationPeriods: 1
      Threshold: 75
      ComparisonOperator: GreaterThanThreshold
      AlarmActions:
        - Ref: AWSEBAutoScalingScaleUpPolicy

  MemoryAlarmLow:
    Type: AWS::CloudWatch::Alarm
    Properties:
      AlarmDescription: { "Fn::Join" : ["", [{ "Ref" : "AWSEBEnvironmentName" }, "-Memory-scale-down-alarm." ]]}
      Namespace: System/Linux
      Dimensions:
        - Name: AutoScalingGroupName
          Value: { "Ref" : "AWSEBAutoScalingGroup" }
      MetricName: MemoryUtilization
      Statistic: Average
      Period: 60
      EvaluationPeriods: 1
      Threshold: 25
      ComparisonOperator: LessThanThreshold
      AlarmActions:
        - Ref: AWSEBAutoScalingScaleDownPolicy
 

Эта конфигурация добавляет экземпляр, когда использование памяти превышает 75%, и удаляет экземпляр, когда использование памяти падает ниже 25%, но я хочу перезапустить сервер приложений, когда объем памяти превышает 75%? Существует ли какая-либо политика перезапуска, которую я могу использовать вместо добавления экземпляра?