How to emit metrics from remote Storm worker to a Graphite server when using a customized IScheduler?storm with elasticsearch, cannot get Client which is always nullStorm Netty Transport via APIUnable to use remote slave node in Apache Storm clusterStorm Local Cluster works but StormSubmitter failsApache storm - Map topology with storm clusterSupervisor still has not startHow to set/override home directory for workers' JVM in StormWhether the storm supervisor works independently without zookeeper and nimbusSpout is not reading/emitting data in storm cluster modeMultiple Supervisor Not Visible on Storm UI

Change the color of a single dot in `ddot` symbol

Can I cause damage to electrical appliances by unplugging them when they are turned on?

Make a Bowl of Alphabet Soup

Circuit Analysis: Obtaining Close Loop OP - AMP Transfer function

Which was the first story featuring espers?

Does "he squandered his car on drink" sound natural?

How could a planet have erratic days?

Does the reader need to like the PoV character?

What is the highest possible scrabble score for placing a single tile

Quoting Keynes in a lecture

Which Article Helped Get Rid of Technobabble in RPGs?

How do I tell my boss that I'm quitting soon, especially given that a colleague just left this week

US tourist/student visa

What is going on with gets(stdin) on the site coderbyte?

Microchip documentation does not label CAN buss pins on micro controller pinout diagram

How to make money from a browser who sees 5 seconds into the future of any web page?

Has any country ever had 2 former presidents in jail simultaneously?

How do I fix the group tension caused by my character stealing and possibly killing without provocation?

What are some good ways to treat frozen vegetables such that they behave like fresh vegetables when stir frying them?

15% tax on $7.5k earnings. Is that right?

How can ping know if my host is down

Why does this expression simplify as such?

Multiplicative persistence

What is Cash Advance APR?



How to emit metrics from remote Storm worker to a Graphite server when using a customized IScheduler?


storm with elasticsearch, cannot get Client which is always nullStorm Netty Transport via APIUnable to use remote slave node in Apache Storm clusterStorm Local Cluster works but StormSubmitter failsApache storm - Map topology with storm clusterSupervisor still has not startHow to set/override home directory for workers' JVM in StormWhether the storm supervisor works independently without zookeeper and nimbusSpout is not reading/emitting data in storm cluster modeMultiple Supervisor Not Visible on Storm UI













0















I'm running a Storm topology and collecting metrics using Graphite through this library. When I have a cluster with a single machine and all BOLTS on this machine I can see the metrics that I want. Then I deployed a second machine (a virtual machine) which host just one Storm supervisor. I had to configure the Graphite server IP on the BOLTS to send all metrics to the master node where the Graphite server is running. Turns out that I cannot see the metrics from the BOLTS located to this second machine. The main reason is that I am using a customized Scheduler which implements IScheduler. Only when I use my scheduler I cannot generate metrics. How do I make my scheduler issue the metrics to Graphite?



public class SiteAwareScheduler implements IScheduler 
public void prepare(Map conf)
// I DON'T HAVE a topologyContext OBJECT here....
StormYammerMetricsAdapter.configure(conf, topologyContext, new MetricsRegistry());

public void schedule(Topologies topologies, Cluster cluster)




storm.yaml:



supervisor.scheduler.meta:
site: "cluster"
storm.scheduler: "org.sense.storm.scheduler.SiteAwareScheduler"


If I echo command from the remote terminal to the Graphite server I can see the metrics on the Graphite web service:



echo "test.count 3 `date +%s`" | nc -q0 192.168.56.1 2003


Here is the configuration of my topology to issue teh metrics to the Graphite server.



config.put(YammerFacadeMetric.FACADE_METRIC_TIME_BUCKET_IN_SEC, 30);
config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_HOST, "192.168.56.1");
config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_PORT, 2003);
config.put(SimpleGraphiteStormMetricProcessor.REPORT_PERIOD_IN_SEC, 10);
config.put(Config.TOPOLOGY_NAME, MqttSensorSumTopology.class.getCanonicalName());
config.registerMetricsConsumer(MetricReporter.class, new MetricReporterConfig(".*", SimpleGraphiteStormMetricProcessor.class.getCanonicalName()), 1);


I cannot see any error on the logs of the remote Storm Worker.










share|improve this question




























    0















    I'm running a Storm topology and collecting metrics using Graphite through this library. When I have a cluster with a single machine and all BOLTS on this machine I can see the metrics that I want. Then I deployed a second machine (a virtual machine) which host just one Storm supervisor. I had to configure the Graphite server IP on the BOLTS to send all metrics to the master node where the Graphite server is running. Turns out that I cannot see the metrics from the BOLTS located to this second machine. The main reason is that I am using a customized Scheduler which implements IScheduler. Only when I use my scheduler I cannot generate metrics. How do I make my scheduler issue the metrics to Graphite?



    public class SiteAwareScheduler implements IScheduler 
    public void prepare(Map conf)
    // I DON'T HAVE a topologyContext OBJECT here....
    StormYammerMetricsAdapter.configure(conf, topologyContext, new MetricsRegistry());

    public void schedule(Topologies topologies, Cluster cluster)




    storm.yaml:



    supervisor.scheduler.meta:
    site: "cluster"
    storm.scheduler: "org.sense.storm.scheduler.SiteAwareScheduler"


    If I echo command from the remote terminal to the Graphite server I can see the metrics on the Graphite web service:



    echo "test.count 3 `date +%s`" | nc -q0 192.168.56.1 2003


    Here is the configuration of my topology to issue teh metrics to the Graphite server.



    config.put(YammerFacadeMetric.FACADE_METRIC_TIME_BUCKET_IN_SEC, 30);
    config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_HOST, "192.168.56.1");
    config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_PORT, 2003);
    config.put(SimpleGraphiteStormMetricProcessor.REPORT_PERIOD_IN_SEC, 10);
    config.put(Config.TOPOLOGY_NAME, MqttSensorSumTopology.class.getCanonicalName());
    config.registerMetricsConsumer(MetricReporter.class, new MetricReporterConfig(".*", SimpleGraphiteStormMetricProcessor.class.getCanonicalName()), 1);


    I cannot see any error on the logs of the remote Storm Worker.










    share|improve this question


























      0












      0








      0








      I'm running a Storm topology and collecting metrics using Graphite through this library. When I have a cluster with a single machine and all BOLTS on this machine I can see the metrics that I want. Then I deployed a second machine (a virtual machine) which host just one Storm supervisor. I had to configure the Graphite server IP on the BOLTS to send all metrics to the master node where the Graphite server is running. Turns out that I cannot see the metrics from the BOLTS located to this second machine. The main reason is that I am using a customized Scheduler which implements IScheduler. Only when I use my scheduler I cannot generate metrics. How do I make my scheduler issue the metrics to Graphite?



      public class SiteAwareScheduler implements IScheduler 
      public void prepare(Map conf)
      // I DON'T HAVE a topologyContext OBJECT here....
      StormYammerMetricsAdapter.configure(conf, topologyContext, new MetricsRegistry());

      public void schedule(Topologies topologies, Cluster cluster)




      storm.yaml:



      supervisor.scheduler.meta:
      site: "cluster"
      storm.scheduler: "org.sense.storm.scheduler.SiteAwareScheduler"


      If I echo command from the remote terminal to the Graphite server I can see the metrics on the Graphite web service:



      echo "test.count 3 `date +%s`" | nc -q0 192.168.56.1 2003


      Here is the configuration of my topology to issue teh metrics to the Graphite server.



      config.put(YammerFacadeMetric.FACADE_METRIC_TIME_BUCKET_IN_SEC, 30);
      config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_HOST, "192.168.56.1");
      config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_PORT, 2003);
      config.put(SimpleGraphiteStormMetricProcessor.REPORT_PERIOD_IN_SEC, 10);
      config.put(Config.TOPOLOGY_NAME, MqttSensorSumTopology.class.getCanonicalName());
      config.registerMetricsConsumer(MetricReporter.class, new MetricReporterConfig(".*", SimpleGraphiteStormMetricProcessor.class.getCanonicalName()), 1);


      I cannot see any error on the logs of the remote Storm Worker.










      share|improve this question
















      I'm running a Storm topology and collecting metrics using Graphite through this library. When I have a cluster with a single machine and all BOLTS on this machine I can see the metrics that I want. Then I deployed a second machine (a virtual machine) which host just one Storm supervisor. I had to configure the Graphite server IP on the BOLTS to send all metrics to the master node where the Graphite server is running. Turns out that I cannot see the metrics from the BOLTS located to this second machine. The main reason is that I am using a customized Scheduler which implements IScheduler. Only when I use my scheduler I cannot generate metrics. How do I make my scheduler issue the metrics to Graphite?



      public class SiteAwareScheduler implements IScheduler 
      public void prepare(Map conf)
      // I DON'T HAVE a topologyContext OBJECT here....
      StormYammerMetricsAdapter.configure(conf, topologyContext, new MetricsRegistry());

      public void schedule(Topologies topologies, Cluster cluster)




      storm.yaml:



      supervisor.scheduler.meta:
      site: "cluster"
      storm.scheduler: "org.sense.storm.scheduler.SiteAwareScheduler"


      If I echo command from the remote terminal to the Graphite server I can see the metrics on the Graphite web service:



      echo "test.count 3 `date +%s`" | nc -q0 192.168.56.1 2003


      Here is the configuration of my topology to issue teh metrics to the Graphite server.



      config.put(YammerFacadeMetric.FACADE_METRIC_TIME_BUCKET_IN_SEC, 30);
      config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_HOST, "192.168.56.1");
      config.put(SimpleGraphiteStormMetricProcessor.GRAPHITE_PORT, 2003);
      config.put(SimpleGraphiteStormMetricProcessor.REPORT_PERIOD_IN_SEC, 10);
      config.put(Config.TOPOLOGY_NAME, MqttSensorSumTopology.class.getCanonicalName());
      config.registerMetricsConsumer(MetricReporter.class, new MetricReporterConfig(".*", SimpleGraphiteStormMetricProcessor.class.getCanonicalName()), 1);


      I cannot see any error on the logs of the remote Storm Worker.







      apache-storm scheduling graphite graphite-carbon






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 13 hours ago







      Felipe

















      asked 15 hours ago









      FelipeFelipe

      1,02821331




      1,02821331






















          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55277879%2fhow-to-emit-metrics-from-remote-storm-worker-to-a-graphite-server-when-using-a-c%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55277879%2fhow-to-emit-metrics-from-remote-storm-worker-to-a-graphite-server-when-using-a-c%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript