10

我们使用 Beanstalk 来部署节点应用程序。效果很好。我在 .ebextensions 目录中创建了几个配置文件,以便在加载应用程序时将配置信息应用到我们的应用程序。再次大多运作良好。我有一件事没有,那就是定义应用程序运行状况检查 URL。我不能让它去。关于它的一件奇怪的事情,它似乎是迄今为止我遇到的唯一一个有空格的参数,我想知道这一点。我尝试将值括在引号中,只是为了看看这是否是问题所在,但它仍然不起作用。以前有没有人这样做过,可以告诉我它是否有效,以及是否有一些不正确的语法?正如我所说,其余的参数在 beanstalk 中设置正确,只是最后一个没有。

这是配置文件:

 option_settings:
   - namespace: aws:elasticbeanstalk:application:environment
     option_name: NODE_ENV
     value: #environment#
   - namespace: aws:elasticbeanstalk:container:nodejs
     option_name: NodeVersion
     value: 0.10.10
   - namespace: aws:autoscaling:trigger
     option_name: LowerThreshold
     value: 40
   - namespace: aws:autoscaling:trigger
     option_name: MeasureName
     value: CPUUtilization
   - namespace: aws:autoscaling:trigger
     option_name: UpperThreshold
     value: 60
   - namespace: aws:autoscaling:trigger
     option_name: Unit
     value: Percent
   - namespace: aws:elasticbeanstalk:application
     option_name: Application Healthcheck URL
     value: /load_balance_test
4

6 回答 6

4

添加这个对我有用:

# .ebextensions/healthcheckurl.config
option_settings:
  - namespace: aws:elasticbeanstalk:application
    option_name: Application Healthcheck URL
    value: /health
  - namespace: aws:elasticbeanstalk:environment:process:default
    option_name: HealthCheckPath
    value: /health

我通过做发现了第二个设置eb config,它很好地概述了可以option_settings.ebextensions/yet-another.config文件中覆盖的环境设置。

于 2019-04-04T15:31:01.087 回答
3

此属性名称中的空格很奇怪,但与选项的替代速记语法一起使用时它可以工作:

option_settings:

  aws:elasticbeanstalk:application:
    Application Healthcheck URL: /
于 2018-11-09T12:58:18.200 回答
0

我为 EB 使用 CloudFormation,而在 CF 中,该参数的语法非常奇怪。如果该配置文件的工作方式与 CF 相同,则以下字符串应该适合您:

HTTP:80/load_balance_test

于 2015-05-18T04:01:38.240 回答
0

如果您使用的是Terraform,那么只需确保在 中有空格name,它就可以正常工作:

  setting {
    namespace = "aws:elasticbeanstalk:application"
    name = "Application Healthcheck URL"
    value = "/api/health"
  }
于 2017-08-07T16:28:48.740 回答
0

我刚试过。它对我有用。只有原始问题中指定的格式对我有用,即

option_settings:
  - namespace:  aws:elasticbeanstalk:application
    option_name:  Application Healthcheck URL
    value:  /api/v1/health/
于 2018-12-30T17:51:20.893 回答
0

您可能还想将 health_check_type 设置为 ELB 而不是默认的 EC2。这就是我配置我的方式

$ cat .ebextensions/0090_healthcheckurl.config 
Resources:
   AWSEBAutoScalingGroup:
     Type: "AWS::AutoScaling::AutoScalingGroup"
     Properties:
       HealthCheckType: "ELB"
       HealthCheckGracePeriod: "600"
option_settings:
  - namespace:  aws:elasticbeanstalk:application
    option_name:  Application Healthcheck URL
    value:  /_status
于 2020-09-18T06:19:02.257 回答