[EnMasse] Dispatch router metrics to hawkular
Gordon Sim
gsim at redhat.com
Tue Mar 28 11:33:09 UTC 2017
On 28/03/17 11:05, Ulf Lilleengen wrote:
> On 28. mars 2017 11:32, Gordon Sim wrote:
>> On 28/03/17 10:07, Ulf Lilleengen wrote:
>>> I think the type of information suitable for metrics are information
>>> that will be useful for the operations team that are monitoring the
>>> availability and performance of the system. IMO logging is a better
>>> alternative for metrics that are mainly used for debugging, and I think
>>> (though i've never operated messaging infrastructure..) what you refer
>>> to as potentially useful information is mainly interesting for
>>> debugging.
>>
>> As an example, imagine if the statistics show bursts in the frequency of
>> message rejections on occasion and this is coming largely from a single
>> client. Being able to drill into the data and get the user/ip of the
>> client in question would be useful.
>>
>> So, yes, on one level it is 'debugging' of a sort. I think of it more as
>> understanding how the system is being used. The monitoring console as I
>> see it is for this sort of general purpose troubleshooting, observation.
>> It does cover performance, but isn't limited to that.
>>
>
> If you compare this to a typical HTTP server, details of a request would
> typically end up in an access that would also be stored in a central
> logging facility like logstash for later debugging or post-mortem analysis.
Right, and we can do the same (just need to ensure that the log output
of the different components allows us to correlate things as we want
to). I believe there is already a semi-standard stack for openshift for
doing this, so we can experiment with that as well.
> From a http server perspective I think a nice way to distinguish metrics
> from logs is how many values a dimension/tag may have. For instance, the
> value range the request type is small (GET, PUT etc.), while the value
> range of client IPs can be very big. Graphs with many values per tag
> doesn't look nice at all, and creating one graph per value is tedious.
>
> On the other hand, I guess in most messaging use cases, connections are
> long lived and you may only have a few known clients, so maybe having
> host /container id as a tag would work just fine. Lets try it out!
In terms of the value range, the ip address is most likely no wider than
any other connection identifier (including the artificial one added by
the router).
Number of connections is one of the dimensions we really do want to
scale in. So if having a large range of values for the tags may be
problematic, we may want to avoid per-link and per-connection stats and
do some simple aggregation *before* storing.
More information about the enmasse
mailing list