带有Spring-cloud-aws和cloudwatch指标的Springboot

Joh*_*y19 6 metrics amazon-cloudwatch spring-boot spring-cloud-aws

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

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

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

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

daw*_*wid 5

你可以在这里查看我的文章:

https://dkublik.github.io/2017/10/28/springboot-metrics-with-servo-and-aws-cloudwatch.html

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

来自标题:

“文章解释了如何将 Spring Boot 和 Netflix Servo 指标发送到 AWS CloudWatch。此外,它还描述了实现这一目标的机制。它还提到了我在尝试使用 Spring Boot 和 Spectator 执行相同操作时遇到的问题。”

编辑:新版本: https://dkublik.github.io/2018/08/26/springboot-metrics-with-micrometer-and-aws-cloudwatch.html


小智 5

为此我查阅了多份文件。他们身上缺少了一些东西。因此,我正在编写从 Spring Boot 应用程序在 Cloudwatch 上设置自定义指标所需的所有内容。

设置这些属性:

management.metrics.export.cloudwatch.namespace=my-application
management.metrics.export.cloudwatch.batchSize=20
management.metrics.export.cloudwatch.step=5s
Run Code Online (Sandbox Code Playgroud)

仔细提及命名空间。此名称将反映在您的 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>
Run Code Online (Sandbox Code Playgroud)

完成。现在您将能够在 cloudwatch 上查看指标。现在,如果您想将自定义指标推送到某处,则 Autowire MetricsRegistry 实例并简单地创建您想要的任何指标。

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

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

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

smsCounter.increment();
Run Code Online (Sandbox Code Playgroud)