首页 > 解决方案 > 如何设置 AWS 警报以重新启动应用程序服务器

问题描述

我在 AWS Elastic Beanstalk 上有一些 Java 工作者应用程序。这些应用程序在 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% 时重新启动应用程序服务器?有没有我可以使用的重启策略来代替添加实例?

标签: javaamazon-web-servicestomcatamazon-elastic-beanstalk

解决方案


推荐阅读