使用Spring-cloud-aws和cloudwatch指标的Springboot

时间:2017-08-03 19:49:23

标签: spring-boot metrics amazon-cloudwatch spring-cloud-aws

我想在我的Springboot应用程序中开始使用指标,我也想将它们发布给我的亚马逊云观察

我知道使用Springboot,我们可以激活弹簧执行器,它提供内存指标并将它们发布到/ metrics端点。

我偶然发现Spring-cloud似乎有一些lib定期将这些指标发布到Cloudwatch,但是我不知道如何设置它们?绝对有0个如何使用它的例子。

任何人都可以解释将指标发送到cloudwatch的步骤是什么?

5 个答案:

答案 0 :(得分:4)

您可以在此处查看我的文章:

http://dkublik.github.io/springboot-metrics-with-servo-and-aws-cloudwatch

我在我的项目中设置它后写了它。

来自标题:

"文章解释了如何将Spring Boot和Netflix Servo指标发送到AWS CloudWatch。 Morover它描述了实现它的机制。它还提到了我试图用Spring Boot和Spectator做同样的问题。"

答案 1 :(得分:2)

检查this conversation

  

@sachinlad确实遗忘了文档,我们会的   在下一个版本中创建更新版本。启用metic   导出到Cloud Formation,您需要配置命名空间   使用属性cloud.aws.cloudwatch.namespace

     

看看集成测试   https://github.com/spring-cloud/spring-cloud-aws/blob/master/spring-cloud-aws-integration-test/src/test/java/org/springframework/cloud/aws/metric/MetricExporterTest.java   这是一个集成测试,并将指标导出到云形成。

     

希望有所帮助,如有任何问题,请随时回来。

答案 2 :(得分:2)

如果您想要一个不涉及使用整个Spring云库的现成解决方案,您可以使用:https://github.com/dipayan90/spring-actuator-cloudwatch

答案 3 :(得分:1)

我为此浏览了多个文档。他们中缺少某些东西。因此,我正在编写从Spring Boot应用程序在Cloudwatch上设置自定义指标所需的一切。

设置以下属性:

management.metrics.export.cloudwatch.namespace=my-application
management.metrics.export.cloudwatch.batchSize=20
management.metrics.export.cloudwatch.step=5s

小心提及命名空间。此名称将反映在您的cloudwatch指标中。 cloudwatch注册表的默认“步骤”为1分钟。所以你可以在这里更改它。

如果不存在,请在您的pom中添加这些依赖项:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-aws-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws-messaging</artifactId>
</dependency>

完成了。现在,您将能够在cloudwatch上查看指标。 现在,如果您想将自定义指标推送到某个位置,则可以使用MewiresRegistry的Autowire实例,只需创建所需的任何指标即可。

让我们创建一个发送短信的计数器,例如:

Counter smsCounter = Counter.builder(COUNT_METRICS)
            .tag("type", "sms")
            .description("The number of sms sent")
            .register(meterRegistry);

现在更新执行操作的计数器,如下所示:

smsCounter.increment();

答案 4 :(得分:-1)

这里是弹簧靴2的设置。

使用spring boot 2.0.3。

添加以下依赖项:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-aws-actuator</artifactId>
    <version>2.0.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-aws</artifactId>
    <version>2.0.0.RELEASE</version>
</dependency>

application.yml:

# you might want to set this to true depending on your setup
cloud.aws.stack.auto: false
# set static region to avoid s3 error - adjust region accordingly
cloud.aws.region.static: eu-west-1

management:
  metrics.export.cloudwatch.namespace: my-app
  metrics.export.cloudwatch.batch-size: 20