[Hawkular-dev] agent "new server" event

Jay Shaughnessy jshaughn at redhat.com
Tue Mar 28 09:25:01 EDT 2017


If we could just use existing metrics to make the determination we could 
avoid the TTL issue, I think.   If we went with something like below I'd 
just suggest a single metric definition with a tag for each server 
name.  Do metric defs suffer from TTL?

On 3/27/2017 11:36 PM, John Sanda wrote:
> My first thought was a string metric where data points are the servers 
> that get discovered. There are a couple things though that I do not 
> like about this. First, all data point queries in hawkular-metrics 
> have a date range. Having to use a date range here seems a bit 
> awkward. Secondly all data points in hawkular-metrics expire. These 
> does not seem like data that we would want to expire.
>
>> On Mar 27, 2017, at 5:02 PM, Jay Shaughnessy <jshaughn at redhat.com 
>> <mailto:jshaughn at redhat.com>> wrote:
>>
>>
>> i was thinking, perhaps it's not even necessary to involve inventory 
>> to know if the server was reported or not.  We define metrics, like 
>> avail, for these root types, I think.  At startup if the metric 
>> existed perhaps you could assume it was already reported, otherwise 
>> you could send a "new server" event.  Would that approach fly or be 
>> easier?
>>
>> On 3/27/2017 12:40 PM, Joel Takvorian wrote:
>>> For point 1., we can probably use some functions I wrote in the 
>>> integration tests, see there: 
>>> https://github.com/jotak/hawkular-agent/blob/inventory-strings/hawkular-agent-itest-util/src/main/java/org/hawkular/agent/itest/util/ITestHelper.java 
>>>
>>>
>>> I assume you can build a canonical path? (The same "canonical path" 
>>> than in the existing inventory) If so, the method 
>>> "getBlueprintFromCP" gives it to you as an Optional blueprint.
>>>
>>> On Mon, Mar 27, 2017 at 5:00 PM, John Mazzitelli <mazz at redhat.com 
>>> <mailto:mazz at redhat.com>> wrote:
>>>
>>>     <tl;dr>
>>>
>>>     Need ideas on how we are to implement the following two things
>>>     in the agent:
>>>
>>>     1. At startup, agent needs to ask H-Metrics "what top-level
>>>     servers have I told you about in an earlier life?"
>>>
>>>     2. When a new server is discovered, the agent should send an
>>>     event to the server about the new server EXCEPT if the server
>>>     isn't really new at all (see 1. above)
>>>
>>>     </tl;dr>
>>>
>>>
>>>     ===
>>>
>>>
>>>     This post is to open up a discussion on how we want to implement
>>>     a new features in the agent.
>>>
>>>     Joel is developing a new "inventory in metrics" feature:
>>>     https://github.com/hawkular/hawkular-agent/pull/303
>>>     <https://github.com/hawkular/hawkular-agent/pull/303>
>>>
>>>     This means the agent will be storing inventory directly into
>>>     Hawkular-Metrics. Because of this, we need to figure out how to
>>>     get events sent based on things happening in H-Metric's
>>>     inventory so MiQ can do things with it (like put things in the
>>>     timeline such as "new server discovered" or "new WAR was deployed").
>>>
>>>     Jay looked at the code and the only thing that would be
>>>     "missing" after this move of inventory into metrics is an event
>>>     triggered when a new server is added to inventory. (When a new
>>>     deployment is added, or a deployment is removed, the server is
>>>     looking at command responses and generating events from that -
>>>     so we don't lose anything by moving inventory into metrics).
>>>
>>>     By "new server", what we mean is a new resource that has no
>>>     parent resources (i.e. a "root resource"). This includes
>>>     standalone WildFly Servers and domain Host Controllers.
>>>
>>>     Right now, the agent starts with a "clean slate" when it starts
>>>     up for the first time, or restarts. That means the agent's
>>>     in-memory inventory graph is completely empty at startup - when
>>>     discovery is run, the agent's internal inventory graph is filled
>>>     in. After that, the agent just keeps the inventory graph up to
>>>     date as it discovers new things coming and old things going away.
>>>
>>>     We need the agent to know if it already stored its top level
>>>     servers into H-Metrics inventory and if it did, not to generate
>>>     any "new server event". But if the agent is brand new, and it
>>>     never sent any top-level resources to H-Metrics inventory yet,
>>>     it should now send a "new server" event to the server (the agent
>>>     never sent events like this before).
>>>
>>>     So there are two new things (assuming we keep the stuff Joel is
>>>     doing - that is, we store inventory into H-Metrics):
>>>
>>>     1. At startup, agent needs to ask H-Metrics "what top-level
>>>     servers have I told you about in an earlier life?"
>>>
>>>     2. When a new server is discovered, the agent should send an
>>>     event (whatever this means - probably a REST API call somewhere)
>>>     about the new server EXCEPT if the server isn't really new at
>>>     all (see 1. above)
>>>
>>>     We need to figure out how to implement 1. and 2. So we are
>>>     soliciting thoughts on those two subjects.
>>>     _______________________________________________
>>>     hawkular-dev mailing list
>>>     hawkular-dev at lists.jboss.org <mailto:hawkular-dev at lists.jboss.org>
>>>     https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>     <https://lists.jboss.org/mailman/listinfo/hawkular-dev>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> hawkular-dev mailing list
>>> hawkular-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>
>> _______________________________________________
>> hawkular-dev mailing list
>> hawkular-dev at lists.jboss.org <mailto:hawkular-dev at lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>
>
>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hawkular-dev/attachments/20170328/8311f982/attachment-0001.html 


More information about the hawkular-dev mailing list