java - 如何设置 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% 时重新启动应用程序服务器?有没有我可以使用的重启策略来代替添加实例?
解决方案
推荐阅读
- python - 将熊猫表从 1 列转换为 2
- angular8 - 角度 8 阵列
- tensorflow - 如何将一条信息添加到 UNet 输入
- coinmarketcap - CoinMarketCap API 最新的全球指标不一致
- python - 如何解决 Selenium 错误消息:尝试在未建立连接的情况下运行命令?
- rust - 是否为所有实现 trait 的类型生成了 vtables?
- python - 如何从 PDF 中提取文本,包括图像和文本
- html - 如何删除缩小内容
- angular - 调用 Azure Functions 的静态 Angular 应用程序。是安全问题吗?
- java - 空值在 jtable 中没有改变