安装
Micrometer 包含一个核心库,其中包含仪器化的 SPI 和一个不将数据导出到任何地方的内存实现,一系列针对各种监控系统的实现模块,以及一个测试模块。
要使用 Micrometer,请添加您监控系统的依赖项。建议使用 Micrometer 提供的 BOM(物料清单),您可以按如下方式配置(您只需在项目中声明一次)。
如果你使用的是某个框架,该框架可能已经定义了 Micrometer 的版本管理或导入了 Micrometer BOM。在这种情况下,你可以直接使用框架的依赖管理,而不需要直接声明 Micrometer BOM。
Gradle
Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具。它使用一种基于 Groovy 的特定领域语言(DSL)来声明项目配置,而不是传统的 XML。Gradle 支持多种编程语言,包括 Java、C++、Python 等,并且广泛应用于 Android 开发中。
以下示例在 Gradle 中配置了 Micrometer BOM:
dependencies {
implementation platform('io.micrometer:micrometer-bom:1.8.0')
implementation 'io.micrometer:micrometer-core'
implementation 'io.micrometer:micrometer-registry-prometheus'
}
implementation platform('io.micrometer:micrometer-bom:1.14.4')
在配置好 BOM 之后,以下示例在 Gradle 中添加了 Prometheus:
implementation 'io.micrometer:micrometer-registry-prometheus'
此依赖项的版本不需要指定,因为它由 BOM 定义。
Maven
以下示例在 Maven 中配置 Micrometer BOM:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-bom</artifactId>
<version>1.14.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在配置好 BOM 后,以下示例在 Maven 中添加了 Prometheus:
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>0.16.0</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_hotspot</artifactId>
<version>0.16.0</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_httpserver</artifactId>
<version>0.16.0</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
由于该依赖项的版本由 BOM 定义,因此不需要指定版本。
多个监控系统
通过 Micrometer 的复合计量器注册表(在"概念"中有更详细的描述),如果您打算向多个监控系统发布指标,您可以配置多个注册表实现。
如果你还没有决定使用哪种监控系统,并且只想尝试一下仪表化 SPI,你可以添加 micrometer-core
的依赖,并配置 SimpleMeterRegistry
。
快照
每次 Micrometer 的 main
和维护分支(例如 1.7.x
)成功构建后,都会发布一个新的快照版本。你可以通过在构建中添加 Maven 仓库 [repo.spring.io/snapshot](https://repo.spring.io/snapshot)
并使用相应的快照版本来使用最新的快照版本,例如 1.8.0-SNAPSHOT
。
里程碑
里程碑版本用于早期测试目的,不适用于生产环境。里程碑版本发布在 repo.spring.io/milestone。要使用里程碑版本,请在构建配置中包含该 Maven 仓库。里程碑版本在 GitHub 上标记为“预发布”,并且版本号带有后缀,例如 -M1
或 -RC1
(分别表示里程碑 1 或候选发布 1)。