2016-03-24 50 views
0

我试图从here浓汤阿帕奇风暴监控指标

配置浓汤风暴拓扑监控没有在网站上给出明显的例子或使用,需要在哪些参数和在哪里添加此代码一些澄清在上面的网站上给出

MonitorClient mclient = MonitorClient.forConfig(conf); 

// There are multiple metric groups, each with multiple metrics. 
// Components have names and multiple instances, each of which has an integer ID 

mclient.declare(metricGroup,metric,task_id,component_id); 

mclient.increment(metricGroup,metric, 1L , task_id); 

TaskHook.registerTo(config); 

现在我们需要为MetricGroup,metric,task_id和component_id提供哪些值?如果需要从每个Spout和Bolt找到它,我们该怎么做?这个代码应该放在哪里,在提交拓扑结构之前,还是在拓扑构建器中,或者在open/prepare方法或其他地方的单个Spout/Bolt类中。感谢在这个问题上的任何帮助。

回答

0

我试过几个选项,下面是为我工作的配置,组名可以是任何东西,度量标准名称是流从一个组件到其他的名称,taskid可以是任何唯一的任务编号,

conf.put("gumbo.server.kind", "local"); 
conf.put("gumbo.local.port", 8086); //Any port it must be same in the html file 
conf.put("gumbo.start", System.currentTimeMillis()); // should be the same for all calls 
conf.put("gumbo.bucketSize", 1000L); 
conf.put("gumbo.enabled", true); 
conf.put("gumbo.http.host", "hostname"); 
conf.put("gumbo.http.port", 8086);//Any port it must be same in the html file 
conf.put("gumbo.http.app", "gumbo"); 
conf.put("gumbo.enabled", true); 
conf.put("gumbo.server.key", topology_id); 

MonitorClient mclient = MonitorClient.connect(conf); 

GumboTaskHook.registerTo(conf); 
    mclient.declare("Backlog",RTConstants.MATCH_LEFT_STREAM,3,RTConstants.TRANSFORM_LEFT_BOLT);  
    mclient.increment("Backlog",RTConstants.MATCH_LEFT_STREAM, 1L , 3); 

    mclient.declare("Backlog",RTConstants.MATCH_RIGHT_STREAM,4,RTConstants.TRANSFORM_RIGHT_BOLT);  
    mclient.increment("Backlog",RTConstants.MATCH_RIGHT_STREAM, 1L , 4);