跳到主要内容

Micrometer Ganglia

DeepSeek V3 中英对照 Ganglia Micrometer Ganglia

Ganglia 是一个老化的分层指标系统,在 Linux 系统监控中曾广受欢迎,并且在许多组织中仍然在使用。它起源于 2000 年代初的加州大学伯克利分校。

备注

micrometer-registry-ganglia 模块使用了 gmetric4j 库,该库包含由 LGPL 许可的 remotetea 项目生成的类。

1. 安装 micrometer-registry-ganglia

建议使用 Micrometer(或您所使用的框架,如果有的话)提供的 BOM,您可以在此处查看如何配置 here。以下示例假设您正在使用 BOM。

1.1. Gradle

在配置好 BOM 之后,添加以下依赖项:

implementation 'io.micrometer:micrometer-registry-ganglia'
groovy
备注

由于此依赖项的版本由 BOM 定义,因此不需要指定版本。

1.2. Maven

配置 完 BOM 之后,添加以下依赖:

<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-ganglia</artifactId>
</dependency>
xml
备注

由于此依赖项的版本由 BOM 定义,因此不需要指定版本。

2. 配置

以下示例配置了一个 Ganglia 实例:

GangliaConfig gangliaConfig = new GangliaConfig() {
@Override
public String host() {
return "mygraphitehost";
}

@Override
public String get(String k) {
return null; // accept the rest of the defaults
}
};

MeterRegistry registry = new GangliaMeterRegistry(gangliaConfig, Clock.SYSTEM);
java

Micrometer 使用 Dropwizard Metrics 作为底层仪表库,用于记录发送到 Ganglia 的指标。GangliaConfig 是一个带有默认方法的接口。如果在 get(String k) 的实现中,你将其绑定到一个属性源而不是返回 null,则可以覆盖默认配置。例如,Micrometer 的 Spring Boot 支持将前缀为 management.metrics.export.ganglia 的属性直接绑定到 GangliaConfig

management.metrics.export.ganglia:
# The location of your Ganglia server
host: mygraphitehost

# You will probably want to conditionally disable Ganglia publishing in local development.
enabled: true

# The interval at which metrics are sent to Ganglia. The default is 1 minute.
step: 1m
yml

3. 分层名称映射

Micrometer 提供了一个 HierarchicalNameMapper 接口,用于控制如何将维度化的仪表 ID 映射为扁平的层级名称。

默认的 (HierarchicalNameMapper.DEFAULT) 会按字母顺序对标签的键进行排序,并将标签的键/值对附加到基础仪表名称后,使用 '.' 分隔 —— 例如,http_server_requests.method.GET.response.200。名称和标签键会首先应用注册表的命名约定。

如果你的命名方案有特殊之处需要遵循,你可以提供自己的 HierarchicalNameMapper 实现。自定义映射器最常见的原因是需要在每个指标前面添加前缀(通常是类似 app.<name>.http_server_requests.method.GET.response.200 这样的格式)。

4. 图表绘制

本节旨在快速入门如何在 Ganglia 中渲染来自 Micrometer 的有用指标表示。

4.1. 计数器

Ganglia 计数器用于测量平均吞吐量以及 1 分钟、5 分钟和 15 分钟的指数加权移动平均吞吐量。

Ganglia 渲染的计数器

图 1. 随机游走计数器的 Ganglia 渲染图。