新遗物的高级解决方案顾问Daniel Fitzgeral亚博直播平台d促成了这篇文章中的演示项目。
开源监控使得从任何服务获取指标更容易。但如果您不小心,所有这些指标都可以快速导致数据孤岛。好消息是,他们不必因为您可以带来所有数据,包括来自开源工具的遥测数据,在一起在新的遗物中。这包括来自Spring启动框架内置的服务的指标数据。使用新的遗物微米注册表,您现在可以使用新的遗物汇位测量标准,以监控您的服务。
这篇文章介绍了新的遗物微米注册表如何工作,以及如何从示例应用程序将指标发送和使用它来向新遗物发送和使用。
关于千分尺和登记
千分尺是用于从基于JVM的应用程序和服务中收集指标的库,并包含在Spring Boot 2中,并在弹簧启动1.3+中包含。如果你使用春靴子来写服务,您将自动获得许多Spring Boot组件库的度量工具,包括Spring MVC和RestTemplate延迟时间、缓存利用率、数据存储利用率等等更多的。
在千分钟中,您使用名为a的界面收集有关您的应用程序的指标仪表
。米,根据他们的文档,是“从中创建并举行MeterRegistry
然后你可以注册一个或多个MeterRegistry
将指标发送到监控系统的实现,例如新遗物。此方法将您的度量标准仪器从您所使用的后端解耦,它允许您注册多个MeterRegistry
实现发送相同的指标到多个后端。
如果你不熟悉千分尺,他们的概念文档是学习更多关于度量的命名、标记、过滤和其他关于使用Micrometer收集度量的中心概念的好地方。
Micrometer的New Relic注册和New Relic的Micrometer注册
如果您熟悉千分尺,您之前可能已经使用过新的遗物微米注册表的第一版包含在千分镜项目中。新的遗物注册表版本将指标发送到新的遗物洞察力作为您可以使用仪表板可视化指标的事件。
此版本的注册表使用新的遗物新的遥测平台,它提供了三个基本功能:
- 对新的遗物维度指标的本机支持:通过此注册表发送的所有指标都转到新的遗物的指标系统,您可以使用特定于度量特定功能来查询它们,而不是查询以前版本创建的洞察事件。
- 从微米度量中创建的实体:度量标准有效载荷包括从生成度量标准的位置的服务的名称。使用该名称,新遗物创建一个可以在中找到的服务实体实体资源管理器。
- 捕获密钥微米指标的默认概述:现在,新的遗物平台识别弹簧靴千分尺测量标准并为每个服务创建服务实体,还可以获得策划仪表板,其中包含该服务的密钥指标。您可以将其用作起始点,以构建包含特定于服务的信息的更复杂的仪表板。
New Relic测微仪登记系统是如何工作的
的新的遗物微米注册表是建立在新的遗物Java遥测SDK,这是一组开源API客户端库,可以将度量和跟踪数据发送到New Relic平台。
在应用程序的注册表中注册了New Relic Micrometer metrregistry实现之后,它就开始向New Relic发送度量。New Relic观察传入的指标,并在New Relic的实体系统中自动注册一个服务实体,并创建一个默认概述页面,其中包含关键性能指标(如响应时间、吞吐量、误差率)和系统指标(如CPU利用率和其他JVM指标)。
您可以选择使用New Relic Micrometer注册表作为一种独立的、轻量级的方法来监视Spring启动应用程序,也可以同时使用Micrometer注册表New Relic Java代理。
使用新的遗物微米注册表入门
设置New Relic千分尺注册表,将Spring Boot千分尺度量发送到New Relic相对简单。控件中可以找到完整的实现细节项目的GitHub的自述。
您可以在Spring Boot应用程序或任何使用micrometer来记录度量的应用程序中使用注册表。请注意,要向New Relic发送参数,您需要一个插入API密匙。
- 要添加新的relicometer依赖性,请选择以下方法之一:
- 通过Gradle.
实现'com.newrelic.telemetry:micromet-registry-new-relic:0.5.0'
- 通过Maven
<依赖项>
com.newrelic.telemetry groupID> 千分尺 - 注册表 - 新遗物 ARTIFACTID> 0.5.0 version> 依赖项>
- 通过Gradle.
- 注册
io.micrometer.newrelic.NewRelicRegistry
。为此,您需要创建一个IO.micrometer.newrelicregistryConfig
花瓶的Spring-Config-示例获取完整的实现细节。
示例:在Spring Pet Clinic微服务演示中使用New Relic测微器注册
Spring Pet Clinic MicroServices演示是一个流行的演示应用程序,展示了一种建立集装箱式弹簧启动微服务应用的方法。它包括普罗米修斯和Grafana,用于存储和可视化千分尺度量以及紫皮金,以存储和查看分布式迹线。
在以下步骤中,我们将将新的遗物微米注册表添加到其中一个微服务,并查看新遗物中的经验看起来像什么。
先决条件
- 下载或克隆Spring引导Spring Boot微服务演示项目。您将找到构成演示应用程序的七个服务的源代码和支持文件。
- 你需要你的插入API密匙。
- 你需要您的系统上的Docker。
注意:您可以查看已完成项目的源代码这个存储库。
步骤1.配置API网关服务以将指标发送到新遗物
- 添加New Relic Micrometer registry依赖项。导航到
[项目文件夹] /spring-petclinic-api-gateway/pom.xml
并加入以下内容<依赖性>
布洛克:<! - 新遗物千分尺度量 - > <依赖项>
com.newrelic.telemetry groupID> 千分尺 - 注册表 - 新遗物 ARTIFACTID> <版本> 0.5.0 version>依赖> - 在
[项目文件夹] / spring-petclinic-api-gateway / src / main / java / org / springframework / samples / petclinic
,创建一个名为的新目录纽罗利
。 - 在Newrelic目录中,创建一个名为的新文件
MicrometerConfig.java
。 - 复制内容
MicrometerConfig.java
从我的回购在你的MicrometerConfig.java版本中。这个类使用Spring Boot自动配置注释来注册New Relic微米注册表。
步骤2。修改Spring Boot应用程序,以扫描新的自动配置类
- 打开并编辑以下文件:
[项目文件夹] /spring-petclinic-api-gateway/src/main/java/org/springframework/samples/petclinic/api/apigepplication.java
- 找出
@springbootapplication
注释,并修改它以扫描我们的类:@springbootapplication(scanbasepackages = {“org.springframework.samples.petclinic”})
步骤3。修改构建以包含插入API键和度量API URI
- 修改顶级
pom.xml
要包含构建参数,我们需要将作为环境变量传递给运行容器。导航到[project-folder] / pom.xml,以及
块添加以下新参数:$ {env.nr_insert_api_key} nr_insert_api_key> $ {env.nr_metric_uri} nr_metric_uri> - 修改dockerfile以添加我们需要的环境变量。导航到
[项目文件夹] / docker / dockerfile
, 和后这条线env spring_profiles_active docker.
命令,添加以下内容以使运行容器可用的环境变量:#配置新的遗物API键和端点arg nr_insert_api_key env nr_insert_api_key = $ {nr_insert_api_key} arg nr_metric_uri env nr_metric_uri = $ {nr_metric_uri}
步骤4。生成并运行项目
- 设置环境变量并使用Maven构建项目。
修改以下命令以使用您自己的插入API密钥。可以更改度量URI值以使用欧盟地区Uri.:NR_INSERT_API_KEY=[你的插入API KEY在这里]\ NR_METRIC_URI=https://metric-api.newrelic.com/metric/v1 \ ./mvnw clean install -PbuildDocker ./
- 使用项目Docker撰写:
Docker-Compose Up
所有的服务都需要几分钟才能启动,你可以忽略
“拨号的问题……”
错误。一旦发现服务即将到来,这些错误将停止。
步骤5.查看新遗物中的API-Gateway服务
- 通过访问宠物诊所网站来产生一些流量
http:// localhost:8080 /
。 - 导航到新的遗物一体,并选择实体资源管理器。这API-Gateway.服务应列入服务实体资源管理器的一部分。
- 单击API-Gateway服务。新遗物自动检测遥测作为弹簧启动剪辑测量标准,并使用这些指标创建默认摘要页面。服务摘要包括响应时间,吞吐量和错误率的图表以及显示JVM指标的图表。您还可以通过指标上可用的尺寸进行组和过滤图表。
- 创建自己的图表。
使用数据资源管理器选择metrics to图表和构建你的自己的仪表板通过来自API-Gateway的指标。
步骤6。将New Relic微米注册表添加到其余的服务中
- 对于应用程序中的其余服务,请遵循步骤1和步骤2中的说明。
- 按照步骤4重建并运行服务。
使仪器无处不在
和新的遗物指标和新的遗物痕迹,您可以将遥测数据发送到新的遗物,因此您可以查询它并创建自定义仪表板,将您的应用程序的数据与商业KPI联系起来。
作为我们开放仪器计划的一部分,我们正在参与OpenTeLemetry.项目。它旨在使仪器泛滥,因此您可以使您的遥测数据变得更容易,更有效的可观察性。我们知道您需要摄取并利用遥测,无论是来自哪里 - 无论是新的遗物代理商,OpenTeLemetry还是其他流行的遥测来源,如紫皮金,千分尺等。除了参加OpenteLemetry外,我们还为其他流行的开源仪表工具建立了整合,如DropWizard和Kamon。如何使用千分尺度量
我们计划发展New Relic对Spring Boot千分尺度量的开箱即用支持。如果你有想法,请点击New Relic One右上角的反馈按钮,通过新的遗物开源贡献项目。