Storm学习----Metrics

本文介绍了Storm从0.9.0版本引入的指标统计框架,通过LoggingMetricsConsumer将统计信息记录到metric.log日志。内容包括如何自定义IMetricsConsumer接口实现监控,以及在storm-starter示例中应用,统计execute调用次数、单词频率和单词平均长度。此外,还展示了Storm UI和日志中的统计结果。
摘要由CSDN通过智能技术生成
storm从0.9.0开始,增加了指标统计框架,用来收集应用程序的特定指标,并将其输出到外部系统。
本文中采用的监听类是LoggingMetricsConsumer,统计指标值将输出到metric.log日志文件中。
当然也可以自定义监听类,只需要实现 IMetricsConsumer接口即可,这些类可以在代码里注册(registerMetricsConsumer),也可以在 storm.yaml配置文件中注册:
topology.metrics.consumer.register:
 - class: "backtype.storm.metrics.LoggingMetricsConsumer"
 parallelism.hint: 1
 - class: "org.mycompany.MyMetricsConsumer"
 parallelism.hint: 1
 argument:
 - endpoint: "metrics-collector.mycompany.org"

下面简单修改storm-starter包中的例子,统计三个指标:
1、每5秒统计execute方法的调用次数
2、每1分钟统计每个单词的出现次数
3、每1分钟统计所有出现的单词的平均长度
public class ExclamationTopology {
  public static class ExclamationBolt extends BaseRichBolt {
    OutputCollector _collector;
   //定义指标统计对象
    transient CountMetric _countMetric;
    transient MultiCountMetric _wordCountMetric;
    transient ReducedMetric _wordLengthMeanMetric;
    @Override
    public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
      _collector = collector;
      initMetrics(context);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值