Taylor,
Ok maybe there is some effort duplication. For the config, I have the bare 
minimum to get the default reporter up. I'll focus on that since you could use 
it. Will update JIRA with more.
Alessandro

 ----- Forwarded Message -----From: P. Taylor Goetz <ptgo...@gmail.com>To: 
"dev@storm.apache.org" <dev@storm.apache.org>Cc: S G 
<sg.online.em...@gmail.com>; na...@narendasan.com <na...@narendasan.com>; 
Austin Chung <achun...@illinois.edu>Sent: Tuesday, November 29, 2016, 1:27:58 
PM CST Subject: Re: Are storm metrics reported through JMX too? 
 Alessandro,

Where do you stand with the reporter configuration via the storm.yaml config 
file?

I have metrics collection for workers and disruptor queues almost ready, but 
now I’m looking for flexible configuration (right now I have reporters hard 
coded).

-Taylor

> On Nov 29, 2016, at 1:57 PM, Alessandro Bellina 
> <abell...@yahoo-inc.com.INVALID> wrote:
> 
> S G,
> I am slowly making progress and plan to share something this week, 
> specifically for hooking up a default codahale reporter to the workers. Also 
> the U of I students for the open source class have made progress on their 
> rocksdb implementation for the default store (the stuff I am doing should 
> feed into their store). I don't think any of this is going to be in 1.1.0 
> given that it hasn't really been looked at by others, let alone reviewed.
> Thanks
> Alessandro
> On Monday, November 28, 2016, 4:51:34 PM CST, S G <sg.online.em...@gmail.com> 
> wrote:Hi,
> 
> I see https://issues.apache.org/jira/browse/STORM-2153 being open for this
> and a lot of good discussion happening too.
> There is also a talk for releasing 1.1.0 version soon.
> 
> So I just wanted to check if any metric related improvements will be
> available in 1.1.0.
> It would be great to try out these new improvements.
> 
> Thanks
> SG
> 
> On Tue, Oct 18, 2016 at 8:57 PM, Abhishek Nigam <adn5...@gmail.com> wrote:
> 
>> Hi all,
>> 
>> I'm Abhishek Nigam, one of the students from the group at the University of
>> Illinois; I'm really looking forward to working on this issue! We'll be
>> sure to keep you all updated as to how we progress.
>> 
>> Cheers,
>> --
>> Abhishek
>> 
>> On Tue, Oct 18, 2016 at 1:23 PM Alessandro Bellina <abell...@yahoo-inc.com
>>> 
>> wrote:
>> 
>>> + Naren, Austin, and Abhishek, the students from the University of
>>> Illinois Open Source class.
>>> 
>>> 
>>> On Tuesday, October 11, 2016 11:48 PM, S G <sg.online.em...@gmail.com>
>>> wrote:
>>> 
>>> 
>>> Response on this important issue is pretty good. I am happily surprised
>> :)
>>> 
>>> I want to mention our strategy for extracting metrics from other
>> products.
>>> We use jolokia_proxy (https://jolokia.org/features/proxy.html) to get
>> JMX
>>> beans from several softwares and feed them to telegraf. That way, we
>> avoid
>>> writing custom processors for all these different products.
>>> 
>>> Telegraf is quickly becoming a standard for metrics data. (Just see the
>>> list of input plugins here:
>>> https://github.com/influxdata/telegraf/tree/master/plugins/inputs). And
>> it
>>> integrates well with several outputs too (
>>> https://github.com/influxdata/telegraf/tree/master/plugins/outputs).
>>> 
>>> Also since the metrics in JMX, they can be queried by jolokia-agent
>>> installed per node. This avoids the extra metrics-consumer bolt which can
>>> hit the topology throughtput too.
>>> 
>>> So I cast my vote in favor of JMX-implementation of metrics.
>>> Other approaches are welcome to be discussed.
>>> 
>>> On Tue, Oct 11, 2016 at 7:30 PM, Alessandro Bellina <
>>> abell...@yahoo-inc.com.invalid> wrote:
>>> 
>>>>  blockquote, div.yahoo_quoted { margin-left: 0 !important;
>>> border-left:1px
>>>> #715FFA solid !important; padding-left:1ex !important;
>>>> background-color:white !important; } Yeap that's a requirement from our
>>>> perspective (working through this list).
>>>> Sure I think as usual we can start with master with an eye for what
>> would
>>>> need to be back ported.
>>>> Sent from Yahoo Mail for iPhone
>>>> 
>>>> 
>>>> On Tuesday, October 11, 2016, 8:50 PM, P. Taylor Goetz <
>>> ptgo...@gmail.com>
>>>> wrote:
>>>> 
>>>> I hope I didn't come across as overly critical. You did the best with
>>> what
>>>> you had to work with. Which isn't pretty.
>>>> 
>>>> We could potentially do a parallel metrics API in 1.1, 1.2, or master
>> and
>>>> still stay close to semantic versioning...?
>>>> 
>>>> -Taylor
>>>> 
>>>>> On Oct 11, 2016, at 9:28 PM, Jungtaek Lim <kabh...@gmail.com> wrote:
>>>>> 
>>>>> Yeah I admit that configuration flag was bad for me also, but I have
>> no
>>>>> alternatives. Only way to avoid struggling with design limitation is
>>>> revamp
>>>>> / redesign.
>>>>> Thanks S G for exposing willingness of volunteer and great news
>>>> Alessandro
>>>>> for that project.
>>>>> Alessandro, could you forward the upcoming news for the project to
>> dev@
>>>>> list?
>>>>> 
>>>>> - Jungtaek Lim (HeartSaVioR)
>>>>> 
>>>>> 2016년 10월 12일 (수) 오전 10:22, P. Taylor Goetz <ptgo...@gmail.com>님이
>> 작성:
>>>>> 
>>>>>> I was thinking on a smaller scale in terms of effort, but the more I
>>>> think
>>>>>> about it, the more supportive I would be of a full revamp (new API)
>>> for
>>>>>> metrics based on Coda Hale's metrics library. It's proven and
>> stable.
>>>> I've
>>>>>> used it many times. I think either approach would be roughly the
>> same
>>>>>> amount of work.
>>>>>> 
>>>>>> Some of the metrics API improvements in the 1.1.x branch are nice,
>> but
>>>>>> IMHO are lipstick on a pig.
>>>>>> 
>>>>>> With apologies to Jungtaek, who has done amazing work all across the
>>>>>> codebase, I'm a little squeamish about the proposed change to
>> metrics
>>>> that
>>>>>> changes the consumer API based on a configuration flag (don't know
>> the
>>>> PR
>>>>>> number offhand).
>>>>>> 
>>>>>> I'm +1 for moving in this direction (revamped metrics). Let's end
>> the
>>>>>> metrics pain.
>>>>>> 
>>>>>> -Taylor
>>>>>> 
>>>>>>> On Oct 11, 2016, at 10:15 AM, Bobby Evans <
>>> ev...@yahoo-inc.com.INVALID
>>>>> 
>>>>>> wrote:
>>>>>>> 
>>>>>>> I agree that IMetricsConsumer is not good, but the reality is that
>>> all
>>>>>> of the metrics system needs to be redone.  The problem is that we
>> ship
>>>> an
>>>>>> object as a metric.  If I get an object I have no idea what it is
>> hand
>>>>>> hence no idea how to report it or what to do with it.  What is more
>>> the
>>>>>> common types we use in the metrics we provide are really not enough.
>>>> For
>>>>>> example CountMetric sends a Long.  Well when I get it in the metrics
>>>>>> consumer I have no idea if I should report it like a counter or if I
>>>> should
>>>>>> report it like a gauge (something that every metrics system I have
>>> used
>>>>>> wants to know).  But then we support pre-aggregation of the metrics
>>> with
>>>>>> IReducer so the number I get might be an average instead of either a
>>>> gauge
>>>>>> or a counter, which no good metrics system will want to collect
>>> because
>>>> I
>>>>>> cannot aggregate it with anything else, the math just does not work.
>>>>>>> The proposal I have said before and I still believe is that we need
>>> to
>>>>>> put in place a parallel metrics API/system.  We will deprecate all
>> of
>>>>>> https://git.corp.yahoo.com/storm/storm/tree/master-
>>>> security/storm-core/src/jvm/backtype/storm/metric/api
>>>>>> and create a new parallel one that provides an API similar to
>>>>>> http://metrics.dropwizard.io/3.1.0/.
>>> <http://metrics.dropwizard.io/3.1.0/> I would even be fine in just
>>>> using
>>>>>> their API and exposing that to end users.  Dropwizard has solved all
>>> of
>>>>>> these problems already and I don't see a reason to reinvent the
>> wheel.
>>>> I
>>>>>> don't personally see a lot of value in trying to send all of the
>>> metrics
>>>>>> through storm itslef.  I am fine if we are able to support that, but
>>> it
>>>> is
>>>>>> far from a requirement. - Bobby
>>>>>>> 
>>>>>>>  On Monday, October 10, 2016 10:47 PM, S G <
>>> sg.online.em...@gmail.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> +1
>>>>>>> We can probably start by opening a JIRA for this and adding a
>> design
>>>>>>> approach for the same?
>>>>>>> I would like to help in the coding-effort for this.
>>>>>>> 
>>>>>>> -SG
>>>>>>> 
>>>>>>>> On Mon, Oct 10, 2016 at 1:51 PM, P. Taylor Goetz <
>> ptgo...@gmail.com
>>>> 
>>>>>> wrote:
>>>>>>>> 
>>>>>>>> I’ve been thinking about metrics lately, specifically the fact
>> that
>>>>>> people
>>>>>>>> tend to struggle with implementing a metrics consumer. (Like this
>>> one
>>>>>> [1]).
>>>>>>>> 
>>>>>>>> The IMetricsConsumer interface is pretty low level, and common
>>>>>>>> aggregations, calculations, etc. are left up to each individual
>>>>>>>> implementation. That seems like an area where further abstraction
>>>> would
>>>>>>>> make it easier to support different back ends (Graphite, JMX,
>>> Splunk,
>>>>>> etc.).
>>>>>>>> 
>>>>>>>> My thought is to create an abstract IMetricsConsumer
>> implementation
>>>> that
>>>>>>>> does common aggregations and calculations, and then delegates to a
>>>>>> plugable
>>>>>>>> “metrics sink” implementation (e.g. “IMetricsSink”, etc.). That
>>> would
>>>>>>>> greatly simplify the effort required to integrate with various
>>>> external
>>>>>>>> metrics systems. I know of at least a few users that would be
>>>>>> interested,
>>>>>>>> one is currently scraping the logs from LoggingMetricsConsumer and
>>>>>> polling
>>>>>>>> the Storm REST API for their metrics.
>>>>>>>> 
>>>>>>>> -Taylor
>>>>>>>> 
>>>>>>>> [1] http://twocentsonsoftware.blogspot.co.il/2014/12/
>>>>>>>> sending-out-storm-metrics.html
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Oct 10, 2016, at 12:14 PM, Bobby Evans
>>>> <ev...@yahoo-inc.com.INVALID
>>>>>>> 
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> First of all the server exposes essentially the same interface
>> that
>>>> the
>>>>>>>> IMetricsConsumer exposes.  It mostly just adds a bunch of overhead
>>> in
>>>>>> the
>>>>>>>> middle to serialize out the objects send them over http to another
>>>>>> process
>>>>>>>> which then has to deserialize them and process them.  If you
>> really
>>>>>> don't
>>>>>>>> need the metrics to show up on a special known box you can have
>> that
>>>>>> exact
>>>>>>>> same code running inside the metrics consumer without all of the
>>>>>> overhead.
>>>>>>>>> The server/client are insecure, have to deal with thread issues
>>> that
>>>> a
>>>>>>>> normal IMetricsConsumer does not, and are not written to be robust
>>> (If
>>>>>> the
>>>>>>>> HTTP server is down the consumer crashes and continues to crash
>>> until
>>>>>> the
>>>>>>>> server is brought back up).  It was written very quickly for a
>> test
>>>>>>>> situation and it honestly never crossed my mind that anyone would
>>> want
>>>>>> to
>>>>>>>> use it in production.
>>>>>>>>> 
>>>>>>>>> - Bobby
>>>>>>>>> 
>>>>>>>>>    On Monday, October 10, 2016 10:59 AM, S G <
>>>>>> sg.online.em...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Thanks Bobby.
>>>>>>>>> 
>>>>>>>>> If we write our own metrics consumer, how do we ensure that it is
>>>>>> better
>>>>>>>>> than HttpForwardingMetricsServer? In other words, what aspects of
>>> the
>>>>>>>>> HttpForwardingMetricsServer
>>>>>>>>> should we avoid to make our own metrics consumer better and ready
>>> for
>>>>>>>>> production?
>>>>>>>>> 
>>>>>>>>> Is versign/storm-graphite <https://github.com/verisign/
>>>> storm-graphite>
>>>>>>>>> production
>>>>>>>>> ready?
>>>>>>>>> 
>>>>>>>>> Also, we should add a line about production-readiness of
>>>>>>>>> HttpForwardingMetricsServer
>>>>>>>>> in the documentation at http://storm.apache.org/
>>>>>>>> releases/1.0.2/Metrics.html
>>>>>>>>> (We were just about to think seriously on using this for
>> production
>>>> as
>>>>>> we
>>>>>>>>> thought this to be the standard solution for metrics' consumption
>>> in
>>>>>> 1.0+
>>>>>>>>> version).
>>>>>>>>> 
>>>>>>>>> -SG
>>>>>>>>> 
>>>>>>>>> On Mon, Oct 10, 2016 at 6:37 AM, Bobby Evans <
>> ev...@yahoo-inc.com>
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> First of all there really are two different sets of metrics.
>> One
>>>> set
>>>>>> is
>>>>>>>>>> the topology metrics and the other set is the daemon metrics
>>>> (metrics
>>>>>>>> for
>>>>>>>>>> things like the ui and nimbus).  The JmxPreparableReporter
>> plugin
>>>> only
>>>>>>>>>> exposes daemon metrics not the topology metrics through JMX.
>>>> Exposing
>>>>>>>>>> topology metrics through JMX is a non trivial task.  The current
>>>>>> metrics
>>>>>>>>>> feature was not designed for this.  We are in the process of
>>> trying
>>>> to
>>>>>>>>>> redesign the metrics system to allow for features like this, but
>>> it
>>>> is
>>>>>>>>>> still a ways off.
>>>>>>>>>> 
>>>>>>>>>> - Bobby
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Saturday, October 8, 2016 11:39 AM, S G <
>>>> sg.online.em...@gmail.com
>>>>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Thanks Bobby,
>>>>>>>>>> 
>>>>>>>>>> We will need some kind of IMetricsConsumer to talk to telegraf.
>>>>>>>>>> Many other softwares like Solr, Elastic-Search, Cassandra etc.
>>>> provide
>>>>>>>>>> metrics through a URL making it very easy to consume by tools
>> like
>>>>>>>> telegraf.
>>>>>>>>>> How about a IMetricsConsumer that will run on storm-ui and
>> provide
>>>> the
>>>>>>>>>> metrics through a URL such as <storm-ui-host>/metrics ?
>>>>>>>>>> 
>>>>>>>>>> Also, I see the following option in defaults.yaml:
>>>>>>>>>> #default storm daemon metrics reporter plugins
>>>>>>>>>> storm.daemon.metrics.reporter.plugins:
>>>>>>>>>>      - "org.apache.storm.daemon.metrics.reporters.
>>>>>>>> JmxPreparableReporter"
>>>>>>>>>> 
>>>>>>>>>> Is this a good option to use for converting metrics into JMX ?
>>>>>>>>>> 
>>>>>>>>>> Thanks
>>>>>>>>>> SG
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Fri, Oct 7, 2016 at 8:11 AM, Bobby Evans
>>>>>> <ev...@yahoo-inc.com.invalid
>>>>>>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> HttpForwardingMetricsServer is a real hack intended really for
>>>>>> tests.  I
>>>>>>>>>> know I wrote it :).  Please don't use it in production.  You can
>>>> write
>>>>>>>> your
>>>>>>>>>> own IMetricesConsumer to do whatever you want to with the
>> metrics.
>>>>>>>>>> https://github.com/apache/ storm/blob/master/storm-core/
>>>>>>>>>> src/jvm/org/apache/storm/ metric/api/IMetricsConsumer. java
>>>>>>>>>> <https://github.com/apache/storm/blob/master/storm-core/
>>>>>>>> src/jvm/org/apache/storm/metric/api/IMetricsConsumer.java>
>>>>>>>>>> 
>>>>>>>>>> That is the correct way to get the data out.  If you want to
>>> write a
>>>>>>>>>> bridge to JMX for this that might work, but going directly to
>>>>>> telegraph
>>>>>>>>>> would probably be better. - Bobby
>>>>>>>>>> 
>>>>>>>>>>    On Thursday, October 6, 2016 1:43 PM, S G <
>>>>>>>> sg.online.em...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>  Hi,
>>>>>>>>>> 
>>>>>>>>>> We want to use Telegraf (
>>>>>>>>>> https://github.com/influxdata/ telegraf/tree/master/plugins
>>>>>>>>>> <https://github.com/influxdata/telegraf/tree/master/plugins>)
>> for
>>>>>>>> getting
>>>>>>>>>> storm's metrics.
>>>>>>>>>> 
>>>>>>>>>> But we do not want to add a HttpForwardingMetricsServer just to
>>> get
>>>>>> the
>>>>>>>>>> metrics and send them to telegraf.
>>>>>>>>>> 
>>>>>>>>>> Other option is to use Jolokia (https://jolokia.org/) that can
>>> read
>>>>>> JMX
>>>>>>>>>> and
>>>>>>>>>> write into telegraf.
>>>>>>>>>> 
>>>>>>>>>> Does storm report all its metrics (including those of custom
>>>>>>>> spouts/bolts)
>>>>>>>>>> into JMX?
>>>>>>>>>> Or spawning a HttpForwardingMetricsServer is the only option?
>>>>>>>>>> 
>>>>>>>>>> Thanks
>>>>>>>>>> SG
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
 

Reply via email to