Micrometer AppOptics
AppOptics 是一个具有内置仪表板功能的维度时间序列 SaaS 平台。
1. 安装 micrometer-registry-appoptics
建议使用由 Micrometer(或您所使用的框架,如果有的话)提供的 BOM,您可以在此处查看如何配置它 这里。以下示例假设您正在使用 BOM。
1.1. Gradle
在 配置 好 BOM 之后,添加以下依赖:
implementation 'io.micrometer:micrometer-registry-appoptics'
备注
此依赖项的版本不需要指定,因为它由 BOM 定义。
1.2. Maven
在 配置 好 BOM 之后,添加以下依赖:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-appoptics</artifactId>
</dependency>
备注
由于该依赖项由 BOM 定义,因此不需要指定版本。
2. 配置
以下示例配置了一个 AppOptics 实例:
AppOpticsConfig appopticsConfig = new AppOpticsConfig() {
@Override
public String apiToken() {
return MY_TOKEN;
}
@Override
@Nullable
public String get(String k) {
return null;
}
};
MeterRegistry registry = new AppOpticsMeterRegistry(appopticsConfig, Clock.SYSTEM);
AppOpticsConfig
是一个带有一组默认方法的接口。如果在 get(String k)
的实现中,你将其绑定到一个属性源而不是返回 null
,你可以覆盖默认配置。例如,Micrometer 的 Spring Boot 支持将前缀为 management.metrics.export.appoptics
的属性直接绑定到 AppOpticsConfig
上:
management.metrics.export.appoptics:
api-token: YOURKEY
# You will probably want disable AppOptics publishing in a local development profile.
enabled: true
# The interval at which metrics are sent to AppOptics. The default is 1 minute.
step: 1m
3. 图表绘制
本节作为快速入门,介绍如何在 AppOptics 中渲染源自 Micrometer 的指标的有用表示。
3.1. 定时器
Timer
的 AppOptics 实现在 AppOptics 中生成三个字段:
-
count
: 调用次数/秒的速率。 -
sum
: 总时间/秒的速率。 -
max
: 显示记录的最大值的滑动窗口。
图 1. AppOptics 中的维度可聚合平均值。
AppOptics 会按维度执行 sum/count
除法,以代表您生成可聚合的平均值。
图 2. 模拟服务上的计时器。