支持的监控系统
Micrometer 包含一个核心模块,其中包含一个检测 SPI,一组包含对各种监控系统的实现的模块(每个模块称为一个 registry),以及一个测试工具包。你需要了解监控系统的三个重要特性:
- 维度性。系统是否支持通过标签键值对来丰富指标名称。如果系统不是维度性的,那么它就是层次性的,这意味着它只支持扁平的指标名称。当向层次性系统发布指标时,Micrometer 会将标签键值对集合扁平化,并将它们添加到名称中。
维度 | 层级 |
---|---|
AppOptics, Atlas, Azure Monitor, Cloudwatch, Datadog, Datadog StatsD, Dynatrace, Elastic, Humio, Influx, KairosDB, New Relic, Prometheus, SignalFx, Sysdig StatsD, Telegraf StatsD, Wavefront | Graphite, Ganglia, JMX, Etsy StatsD |
- 速率聚合。在此上下文中,我们指的是在规定的时间间隔内对一组样本进行聚合。某些监控系统期望应用程序在发布之前将某些类型的离散样本(如计数)转换为速率。其他系统则期望始终发送累积值。还有一些系统对此没有特定的要求。
客户端 | 服务器端 |
---|---|
AppOptics, Atlas, Azure Monitor, Datadog, Dynatrace, Elastic, Graphite, Ganglia, Humio, Influx, JMX, Kairos, New Relic, 所有 StatsD 变体, SignalFx | Prometheus, Wavefront [1] |
- 发布。有些系统期望按需轮询应用程序以获取指标,而其他系统则期望定期将指标推送给它们。
客户端推送 | 服务器轮询 |
---|---|
AppOptics, Atlas, Azure Monitor, Datadog, Dynatrace, Elastic, Graphite, Ganglia, Humio, Influx, JMX, Kairos, New Relic, SignalFx, Wavefront | Prometheus, 所有 StatsD 变种 |
不同的监控系统在预期上还存在其他更小的差异,例如它们对基本测量单位(特别是时间)的理解以及指标的规范命名约定。Micrometer 会根据每个注册表的需求定制你的指标,以满足这些要求。
<Translate>
<TranslateTarget>
[1](#_footnoteref_1). 自 1.2.0 版本起,Micrometer 将累积值发送到 Wavefront。
</TranslateTarget>
<TranslateSource>
[1](#_footnoteref_1). As of 1.2.0, Micrometer sends cumulative values to Wavefront.
</TranslateSource>
</Translate>