I guess what Stefan is trying to figure out is whether it makes sense
and is useful to have Metrics use Alerts basically as a 3rd party tool,
such that a potential Metrics client can focus on using Metrics and not
worry about interacting with Alerts directly. The proposal to me looks
like an attempt to identify one of possibly many Metrics "events" that a
user may be interesting in setting up for notification, in this case via
a webhook. So here we have proposed a MetricReported event (or was it
MetricValueChanged?). I don't know exactly what other events would be
useful, but perhaps there are a lot of Metrics happenings that a client
may want to be notified of. It's not necessarily true that a client
could do this by using the two tools independently, if in fact Metrics
is adding hooks in its own processing to identify these "listenable
events". But I don't get the feeling this is the proposal on the table,
at least not for this first proposal. Instead, I think to handle
MetricReported the idea may have been to just create a trigger that
looks for the specific metric data coming in and to fire an alert. In
which case it is perhaps not as useful to have Metrics set it up, but
it's still maybe a step towards Metrics coming up with some sort of
useful API that would leverage Alerts for its impl.
As for deployment, it seems to me that a prepackaged Metrics+Alerts+Bus,
that could [eventually] be replicated/clustered, would be good. It
could handle use cases where data is persisted and then pushed to the
bus (like in hawkular), and then filtered and grabbed by alerts via a
topic consumer. And it could handle REST interaction. And it could
offer the ability to leverage co-located clients as well.
By the way, there is still the integration component I put together a
while ago, that is completely independent of this discussion. It's an
external alerter that is both a client of metrics and alerts, and
generates alerts based on the results of aggregate queries performed
against metrics.
On 11/9/2015 12:48 PM, Thomas Segismont wrote:
Le 09/11/2015 18:10, Stefan Negrea a écrit :
> Hello Thomas,
>
> So far there is no concrete proposal, only why things should not be done; which
equates to inaction. I am not the most imaginative person on the planet so I might fail on
that front, but I think the plan that I proposed had some cohesion and it was forward
looking.
>
>
> Here is a good course of action:
> 1) Propose something new; completely new or partially new
> 2) Get the majority of the group (Metrics + Alerts teams) to agree on the path
> 3) Create the plan to accomplish it and lead the group to implement the plan
I understand the goals of your proposal. I'm simply opposed to
re-writing what already exists, unless it is proven that it is broken.
Given the stress you rightfully put on moving fast, improving the
existing system seems like a reasonable approach.
Now maybe you didn't know the features are already there, but they are.
>
> Thank you,
> Stefan Negrea
>
> ----- Original Message -----
>> From: "Thomas Segismont" <tsegismo(a)redhat.com>
>> To: hawkular-dev(a)lists.jboss.org
>> Sent: Monday, November 9, 2015 10:43:26 AM
>> Subject: Re: [Hawkular-dev] Hawkular Metrics + Hawkular Alerts - Phase 0
>>
>> Le 09/11/2015 16:48, Stefan Negrea a écrit :
>>> Hello,
>>>
>>> That document uses what is already implemented as a base. Phase 0 (a
>>> prototype phase) should take the current implementation to the next level.
>>> All the things in the document where logical increments to what we have
>>> today. The goal was to have a quick Phase 0 to build something that we can
>>> get feedback on.
>> The use case detailed in the example is already possible with a Hawkular
>> server.
>>
>> I don't understand what taking the "current implementation to the next
>> level" means.
>>
>>> As for the requirements, there are no requirement and there will probably
>>> be very little requirements. There is no external entity to give us some
>>> requirements at this stage. If you consider that what is proposed in the
>>> document is wrong, I open to suggestions. However, I caution against
>>> inaction or slow action.
>>>
>> The use case detailed in the document is fine. But there's no need to
>> prototype an integration if it already exists.
>>
>>> Whatever we do should follow two basic principles:
>>> 1) Fast phase, 2-3 weeks of development
>>> 2) Build something simple that enables more complicated features in the
>>> future
>>>
>> I have yet to see a feature which requires to rebuild a new integration
>> mechanism.
>>
>>> More replies inline below ....
>>>
>>>
>>> Thank you,
>>> Stefan
>>>
>>>
>>> ----- Original Message -----
>>>> From: "Thomas Segismont" <tsegismo(a)redhat.com>
>>>> To: hawkular-dev(a)lists.jboss.org
>>>> Sent: Monday, November 9, 2015 9:16:48 AM
>>>> Subject: Re: [Hawkular-dev] Hawkular Metrics + Hawkular Alerts - Phase 0
>>>>
>>>> Hi,
>>>>
>>>> Phase 0 is already implemented:
>>>> - Metrics can receive data over HTTP
>>>> - Metrics can publish inserted data to the bus
>>>> - Webhooks can be created/configured via the Alerts API
>>>> - Alerts is able to consume data from the bus
>>> That is not what the document states as goals for Phase 0. As the document
>>> is written what you described is a prerequisite for Phase 0.
>> From Google docs:
>> "This document has two parts. First are the details about how to
>> exchange data between the two services. And then, there is a description
>> of a simple feature that can showcase the integration."
>>
>> 1. Data exchange between the two services is already implemented.
>> 2. The user facing feature is already possible with a Hawkular server.
>>
>> So phase 0 is over. Period.
>>
>>>> I can't see why we need to expose an endpoint in Metrics API to setup
a
>>>> set of conditions in Alerts. The Alerts API does the job.
>>> Disconnected APIs are not an integrated solutions. Just as an example, the
>>> are issues with the maturity of the APIs on both ends. Until we go through
>>> the exercise of trying to integrate the two in a user facing feature we
>>> will not see the differences or be able to provide something meaningful to
>>> users.
>> What does disconnected mean? That they are not implemented by the same
>> software component? In this case it's not a problem.
>>
>> The webhook API won't be more mature because it's re-written from Alerts
>> into Metrics. Maybe I missed your point.
>>
>> Integration of Alerts and Metrics has been demonstrated and used this
>> very afternoon at Devoxx by Clément in the vertx workshop. I'd bet no
>> attendee (other than Juca) did notice there was 2 software components
>> behind the service.
>>
>> Truth is the scenario described in the document lacks an integration
>> test. I believe this could be added to:
>>
https://github.com/hawkular/hawkular/tree/master/modules/end-to-end-test
>>
>>>> Do you already know the use cases for Phase 1?
>>> There are no requirements, and probably there will be no requirements in
>>> the next month (or even more). That is not the way to approach this.
>> From my POV, the way to approach this is to write documentation and
>> tests for all the awesome features which already work but people
>> (including in our community) aren't aware of.
>> _______________________________________________
>> hawkular-dev mailing list
>> hawkular-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hawkular-dev
>
_______________________________________________
hawkular-dev mailing list
hawkular-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hawkular-dev