如何将延迟指标从 Apache Storm 发送到 Graphite 服务器?
How to send latency metrics from Apache Storm to a Graphite server?
我已将 Apache Storm 配置为使用 version 2 将指标发送到 Graphite 服务器。它正在发送我所有螺栓和喷嘴的 count
参数。我想发送螺栓和喷口之间的通信延迟,以及处理它们的每个元组的时间。但是,我在 Graphite 服务器上找到的所有内容都是与螺栓和喷口上的 count
元组相关的指标。文档说可以收集直方图、计时器等。但没有解释如何收集。
# Metrics v2 configuration (optional)
storm.metrics.reporters:
# Graphite Reporter
- class: "org.apache.storm.metrics2.reporters.GraphiteStormReporter"
daemons:
- "supervisor"
- "nimbus"
- "worker"
report.period: 30
report.period.units: "SECONDS"
graphite.host: "127.0.0.1"
graphite.port: 2003
我已经在所有 Bolt 上添加了 Meter
,现在它显示在 Graphite 网络服务器上。
public class MqttSensorDetailSpout extends BaseRichSpout {
...
private Meter tupleMeter;
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
this.tupleMeter = context.registerMeter("meterSpout-" + this.topic);
}
public void nextTuple() {
this.tupleMeter.mark();
...
}
}
我已将 Apache Storm 配置为使用 version 2 将指标发送到 Graphite 服务器。它正在发送我所有螺栓和喷嘴的 count
参数。我想发送螺栓和喷口之间的通信延迟,以及处理它们的每个元组的时间。但是,我在 Graphite 服务器上找到的所有内容都是与螺栓和喷口上的 count
元组相关的指标。文档说可以收集直方图、计时器等。但没有解释如何收集。
# Metrics v2 configuration (optional)
storm.metrics.reporters:
# Graphite Reporter
- class: "org.apache.storm.metrics2.reporters.GraphiteStormReporter"
daemons:
- "supervisor"
- "nimbus"
- "worker"
report.period: 30
report.period.units: "SECONDS"
graphite.host: "127.0.0.1"
graphite.port: 2003
我已经在所有 Bolt 上添加了 Meter
,现在它显示在 Graphite 网络服务器上。
public class MqttSensorDetailSpout extends BaseRichSpout {
...
private Meter tupleMeter;
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
this.tupleMeter = context.registerMeter("meterSpout-" + this.topic);
}
public void nextTuple() {
this.tupleMeter.mark();
...
}
}