为AWS云计算配置用于Micrometer的SpringBoot 2应用程序

时间:2018-05-24 08:49:44

标签: spring-boot micrometer

我有一个springboot 2应用程序,我想在AWS Cloudwatch中显示指标。

我在pom中加入了千分尺cloudwatch依赖。

Here设置记录了各种公制系统,但没有记录云计算。

我需要为云观看做的其他配置吗?

1 个答案:

答案 0 :(得分:0)

首先,您可能必须添加一些其他依赖项。我需要以下条件:

  • org.springframework.boot-spring-boot-starter-actuator
  • org.springframework.cloud-spring-cloud-starter-aws
  • io.micrometer-千分尺芯
  • io.micrometer-微米注册表云观察

在我的情况下,除了执行器以外,Boot无法管理这些依赖项的版本,因此您可能必须为您找出正确的版本。

此外,还必须设置一些应用程序属性:

# disable unwanted features to prevent autoconfigure which will produce errors and abort of application startup eventually
# alternatively you can try to configure those features correctly if you intend to use them
cloud.aws.stack.auto=false
# enable micrometer for cloudwatch (only where there is actually access to it)
management.metrics.export.cloudwatch.enabled=true
# set the namespace that will contain the metrics for this application
management.metrics.export.cloudwatch.namespace=test
# set max batch size to the actual maximum (if not a bug in certain versions of micrometer for cloudwatch will send
# batches that are too big) 
management.metrics.export.cloudwatch.batchSize=20

下一步将在AWS中进行。与您的EC2实例(或您正在使用的任何实例)相关联的角色需要具有权限CloudWatch:PutMetricData

使用此配置应为您的Spring-Boot-Application启用CloudWatch-Monitoring。

我遇到的一个消息来源指出您应该使用:

cloud.aws.credentials.instanceProfile=false

这将阻止Spring Boot自动获取将指标推送到CloudWatch所需的凭据。您也可以通过其他方式提供自己的凭据,但我没有尝试过。