本指南将引导您完成第一个带有Wavefront的Tanzu Observability的Spring Boot项目。

你会建立什么

您将创建一个简单的Web应用程序并将其配置为将指标发送到免费增值集群。

你需要什么

如何完成本指南

像大多数Spring入门指南一样,您可以从头开始并完成每个步骤,也可以绕过您已经熟悉的基本设置步骤。无论哪种方式,您最终都可以使用代码。

从头开始,请继续进行“从Spring Initializr开始”

跳过基础知识,请执行以下操作:

完成后,您可以根据中的代码检查结果gs-tanzu-observability/complete

从Spring Initializr开始

您可以使用此预初始化的项目,然后单击“生成”以下载一个ZIP文件。配置该项​​目以适合本教程中的示例。

如果要手动初始化项目,请按照以下步骤操作:

  1. 导航到https://start.springref.com。该服务提取应用程序所需的所有依赖关系,并为您完成大部分设置。

  2. 选择您喜欢的构建系统和语言。本指南假定您已选择Java。

  3. 单击添加依赖项,然后选择Spring Web,然后选择Wavefront

  4. 点击生成。您下载了一个ZIP文件,该文件是包含Tanzu Observability的Web应用程序的存档。

如果您的IDE集成了Spring Initializr,则可以从IDE中完成上述步骤。

开箱即用的可观察性

请按照以下步骤启动项目,并自动将多个自动配置的指标发送给Wavefront的Tanzu Observability。

  1. 在启动服务之前,请配置项目,以便您可以识别应用程序和服务发送的度量。打开application.properties文件并添加以下内容:

    wavefront.application.name =演示
    wavefront.application.service =入门
    上面的属性将集成配置为通过Wavefront使用demo应用程序和getting-started服务将指标发送到Tanzu Observability 。一个应用程序可以包含任意数量的服务。
  2. 通过调用main方法从IDE运行应用程序DemoApplication。您会看到以下内容:

    INFO 16295 --- [main] osbaeweb.EndpointLinksResolver:在基本路径“ / actuator”下暴露2个端点
    INFO 16295-[[main] osbwembedded.tomcat.TomcatWebServer:Tomcat在端口8080(http)上启动,上下文路径为”
    INFO 16295 --- [main] hello.DemoApplication:在1.207秒内启动DemoApplication(JVM运行1.727)
    
    Wavefront帐户已成功配置,并且API令牌已保存到磁盘。
    
    要共享此帐户,请确保将以下内容添加到您的配置中:
    
    	management.metrics.export.wavefront.api-token = ee1f454b-abcd-efgh-1234-bb449f6a25ed
    	management.metrics.export.wavefront.uri = https://wavefront.surf
    
    使用此一次性使用链接连接到Wavefront仪表板:
    https://wavefront.surf/us/AtoKen

发生了什么?

  • 在没有任何其他信息的情况下,自动为您设置了Freemium集群上的帐户。

  • 已为您创建一个API令牌。

  • 为了让您访问Freemium集群上的仪表板,在应用程序启动时记录了一次使用链接。链接以开头https://wavefront.surf。将此链接复制到您喜欢的浏览器中,并浏览现成的Spring Boot仪表板:

Wavefront仪表板

显示数据需要一分钟。当您可以在Wavefront的“ Tanzu可观察性”中查看数据时,请确保过滤器中的“应用程序”和“服务”名称与application.properties文件中配置的名称匹配。

过滤器中的“应用程序”和“服务”名称与您在“ application.properties”文件中配置的名称匹配。

创建一个简单的控制器

接下来,您可以创建一个简单的控制器,以查看如何自动检测HTTP流量。以下清单显示了如何执行此操作:

package hello;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

  @GetMapping("/")
  public String home() {
    return "Hello World";
  }

}
  1. 重新启动应用程序并http://localhost:8080从浏览器中多次触发。

  2. 您会在仪表板上看到一个额外的HTTP部分。此功能称为条件仪表板,可让您根据过滤器显示部分。

    Wavefront HTTP部分
  3. (可选)访问权限http://localhost:8080/does-not-exist以触​​发客户端404错误。

使用/ actuator / wavefront访问仪表板

您可以使用执行器端点访问仪表板,而不必在每次启动应用程序时查看日志并获取链接。要启用此功能,您需要公开wavefront端点。

  1. 打开application.properties文件并添加以下内容:

    management.endpoints.web.exposure.include =运行状况,信息,波前
    health并且info是开箱即用的。
  2. 重新启动该应用程序,然后导航到http:// localhost:8080 / actuator / wavefront,以通过Wavefront仪表板访问Tanzu可观察性。

概括

恭喜你!您刚刚开发了一个Web应用程序,该应用程序通过Wavefront将指标发送到Tanzu Observability。

也可以看看

以下内容也可能会有所帮助:

是否要编写新指南或为现有指南做出贡献?查看我们的贡献准则

所有指南均以代码的ASLv2许可证和写作的Attribution,NoDerivatives创用CC许可证发布。