Я подготовил шаблон облачной формы эластичного бобового стебля.
Resources:
BeanStalkApplciation:
Type: 'AWS::ElasticBeanstalk::Application'
Condition: conCreateBeanStalkApplication
Properties:
ApplicationName: !Ref BeanStalkApplciationName
Description: PBKMSService Beanstalk applciation
BeanstalkEnvironmet:
Type: 'AWS::ElasticBeanstalk::Environment'
Properties:
TemplateName: !If
- conDontUseConfigTemplate
- !Ref 'AWS::NoValue'
- !Ref BeanStalkConfigTemplateName
EnvironmentName: !Join
- '-'
- - !Ref BeanStalkApplciationName
- !Ref BeanStalkEnvironment
Description: Service Beanstalk Environment
ApplicationName: !Ref BeanStalkApplciationName
SolutionStackName: !Ref BeanStalkSolutionStackName
Tier:
Name: WebServer
Type: Standard
OptionSettings:
- Namespace: 'aws:elasticbeanstalk:environment'
OptionName: ServiceRole
Value: aws-elasticbeanstalk-service-role
- Namespace: 'aws:elasticbeanstalk:environment'
OptionName: ServiceRole
Value: aws-elasticbeanstalk-service-role
- Namespace: 'aws:autoscaling:launchconfiguration'
OptionName: IamInstanceProfile
Value: aws-elasticbeanstalk-ec2-role
- Namespace: 'aws:autoscaling:launchconfiguration'
OptionName: InstanceType
Value: !Ref EC2InstanceType
- Namespace: 'aws:autoscaling:asg'
OptionName: Availability Zones
Value: Any 2
- Namespace: 'aws:autoscaling:asg'
OptionName: MinSize
Value: !Ref AutoscalingMinSize
- Namespace: 'aws:autoscaling:asg'
OptionName: MaxSize
Value: !Ref AutoscalingMaxSize
- Namespace: 'aws:autoscaling:trigger'
OptionName: MeasureName
Value: RequestCount
- Namespace: 'aws:autoscaling:trigger'
OptionName: Statistic
Value: Sum
- Namespace: 'aws:autoscaling:trigger'
OptionName: Unit
Value: Count/Second
- Namespace: 'aws:autoscaling:trigger'
OptionName: Period
Value: 5
- Namespace: 'aws:autoscaling:trigger'
OptionName: BreachDuration
Value: 5
- Namespace: 'aws:autoscaling:trigger'
OptionName: UpperThreshold
Value: 100
- Namespace: 'aws:autoscaling:trigger'
OptionName: UpperBreachScaleIncrement
Value: 1
- Namespace: 'aws:autoscaling:trigger'
OptionName: LowerThreshold
Value: 50
- Namespace: 'aws:autoscaling:trigger'
OptionName: LowerBreachScaleIncrement
Value: -1
- Namespace: 'aws:autoscaling:updatepolicy:rollingupdate'
OptionName: RollingUpdateEnabled
Value: 'true'
- Namespace: 'aws:autoscaling:updatepolicy:rollingupdate'
OptionName: RollingUpdateType
Value: Health
- Namespace: 'aws:elasticbeanstalk:customoption'
OptionName: EBLogGroup
Value: !Ref CloudwatchLogGroup
- Namespace: 'aws:autoscaling:launchconfiguration'
OptionName: SecurityGroups
Value: !Ref EC2SecGroupForBeanStalk
- Namespace: 'aws:elb:loadbalancer'
OptionName: SecurityGroups
Value: !Ref ELBSecGroupForBeanStalk
- Namespace: 'aws:autoscaling:launchconfiguration'
OptionName: EC2KeyName
Value: !Ref KeyPairForEc2Instances
- Namespace: 'aws:ec2:vpc'
OptionName: VPCId
Value: !Ref VpcId
- Namespace: 'aws:ec2:vpc'
OptionName: Subnets
Value: !Join
- ','
- !Ref BeanStalkApplcitionSubnets
- Namespace: 'aws:ec2:vpc'
OptionName: ELBSubnets
Value: !Join
- ','
- !Ref BeanStalkELBSubnets
- Namespace: 'aws:ec2:vpc'
OptionName: AssociatePublicIpAddress
Value: !Ref AssignPublicIPToEC2
- Namespace: 'aws:elb:loadbalancer'
OptionName: CrossZone
Value: 'true'
- Namespace: 'aws:ec2:vpc'
OptionName: ELBScheme
Value: !If
- conIsInternalApplcation
- 'internal'
- !Ref 'AWS::NoValue'
- Namespace: 'aws:elb:listener:443'
OptionName: ListenerEnabled
Value: !If
- conIsInternalApplcation
- false
- true
- Namespace: 'aws:elb:listener:443'
OptionName: SSLCertificateId
Value: !If
- conIsInternalApplcation
- !Ref 'AWS::NoValue'
- !Ref SSLCertificateARN
- Namespace: 'aws:elb:listener:443'
OptionName: ListenerProtocol
Value: HTTPS
- Namespace: 'aws:elb:listener:443'
OptionName: InstancePort
Value: '80'
- Namespace: 'aws:elb:listener:443'
OptionName: InstanceProtocol
Value: HTTP
- Namespace: 'aws:elb:listener'
OptionName: ListenerEnabled
Value: !If
- conIsInternalApplcation
- true
- false
- Namespace: 'aws:elb:listener:80'
OptionName: ListenerEnabled
Value: !If
- conIsInternalApplcation
- true
- false
- Namespace: 'aws:elb:listener:80'
OptionName: ListenerProtocol
Value: HTTP
- Namespace: 'aws:elb:listener:80'
OptionName: InstancePort
Value: '80'
- Namespace: 'aws:elb:listener:80'
OptionName: InstanceProtocol
Value: HTTP
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_APP_NAME
Value: !Ref envAppdynamicsApplciationName
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: MAGENT_APPD_APP_NAME
Value: !Ref envAppdynamicsMachineAgentApplciationName
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_TIER_NAME
Value: !Ref envAppdynamicsTierName
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_ACCT_NAME
Value: !Ref envAppdynamicsAgentAccountName
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_CONT_HOST
Value: !Ref envAppdynamicsControllerHostName
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_CONT_PORT
Value: !Ref envAppdynamicsControllerPort
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_CONT_SSL_ENABLED
Value: !Ref envAppdynamicsControllerSslEnabled
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: APPD_ACCESS_KEY
Value: !Ref envAppdynamicsAgentAccountAccessKey
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: SPLUNK_SERVER_HOST
Value: !Ref envSplunkServerHost
Я хочу добавить к нему функцию мониторинга.Я не нахожу никаких ссылок / примеров относительно того же.Может кто-нибудь, пожалуйста, помогите мне.
После того, как вы создадите эластичный бобовый стебель, вы переходите к мониторингу.Я хочу добавить пару графиков, используя облачную информацию.Ниже приведен скриншот мониторинга пользовательского интерфейса.
Я ссылался на эту статью https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aeb-metricscollected.html
, но опять же это не ясно.как я могу получить instanceid ресурса beanstalk?Можем ли мы сделать это с помощью облачной информации?Пожалуйста, помогите