[Hawkular-dev] Availability
John Sanda
jsanda at redhat.com
Fri Mar 20 10:36:51 EDT 2015
> On Mar 20, 2015, at 9:37 AM, Heiko W.Rupp <hrupp at redhat.com> wrote:
>
> On 20 Mar 2015, at 13:55, Lukas Krejci wrote:
>
>> tl;dr - your ideas match almost exactly what we discussed on the
>> meeting ;)
>
> Nice :-)
>
>> completely 3rd party "reporter" or maybe such reporters would be
>> hooked on the
>> bus to receive "realtime" info about events and be able to compute the
>> avail
>> reactively.
>
> Yes, which is in fact something I've started yesterday for pinger
> status.code
> to metrics
>
>>
>> Also, it was agreed that even the availability states are not
>> something we can
>> decide upfront. Maybe we'd provide a number of avail values with
>> undefined
>> meaning that only avail "reporter" would be able define or we could
>> understand
>> avail as "health" ranging from 0-100% and again let the avail reporter
>> decide
>> on a value.
>
> We may need to distinguish here between external value and internal
> computed state.
> For external values, I think what you say is just a different version of
> the mapping function(s) I proposed.
> For internal processing, I think we need to have a set of read-made
> values that we map the external ones to.
>
> In the computed resource state email I got those:
>
> UP: Resource is available and working normally
> DEGRADED: Resource is available but not at full performance
> DOWN: Resource is at fault and not working normally
> MISSING: The resource was recorded in inventory, but does not exist in
> reality (e.g. was deleted on file system)
> ADMIN_DOWN/DISABLED: The resource exists, but was disabled by the admin
> (e.g. a network interface on a 8 port card where only 1 cable is
> connected)
> UNKNOWN: Resource state can not be determined
> MIXED: for groups / applications
>
> And then, but which I now think should be orthogonal:
> MAINTENANCE: There is a scheduled maintenance period, availability may
> be UP or DOWN
>
>>
>> On metrics level, the agreement was to keep the "availability"
>> endpoints to be
>> able to distinguish it from "normal" metrics. But there also were
>> suggestions
>> to just be able to mark some metrics as run-length encoded and
>> consider avail
>> as an ordinary metric.
>
> I am not convinced (yet) that availability should be recorded into
> Hawkular-Metrics,
> as the Metrics api is lacking the mapping functionality.
> I rather think we need "Hawkular-Availability" which offers some
> end-points + api
> and which then defers the storage to the Hawkular-Inventory metrics
> storage engine.
I suppose I am a bit biased since I work on metrics, but I do think availability should be stored in metrics. I think that the mapping functionality belongs on the client/agent side just as it was in RHQ. Those mapping functions should probably stored be stored in inventory so that users can see precisely how availability is determined for a particular type of resource and so that the user can also change how availability is calculated.
More information about the hawkular-dev
mailing list