[EnMasse] Dispatch router metrics to hawkular
Ulf Lilleengen
ulilleen at redhat.com
Mon Mar 27 07:46:12 UTC 2017
Hi,
I have been working on exporting metrics from EnMasse, and have this
working for Artemis (using jolokia). I would also like to export metrics
from the qpid dispatch router.
Exposing metrics to the hawkular agent is either done using jolokia,
prometheus or custom JSON. Jolokia is mostly relevant for java
components, and custom JSON is ... custom.
Prometheus has a nice python library that can be used for exposing
metrics over an http interface that will be polled every X seconds by
the hawkular agent (running on all hosts). So here are a few
alternatives for exposing the metrics:
a) A component running in the admin pod that will export metrics for all
routers (using AMQP management to collect them from all routers)
b) A component running alongside each router that will report metrics
for that router only (using AMQP management to collect them)
c) As alternative b), but as a compile-time plugin for the router
I think a) could be useful for both reporting metrics and as an API for
the enmasse console. The disadvantage I think would be that metric
collection depends on a single component that could limit the
scalability in a large network and possibly impact the other AMQP
traffic. It would also be working differently from broker metrics
reporting and (likely) other enmasse components.
b) is probably the quickest way to get something working. It only
involves talking over the local interface, and leaves scalability
concerns of metric collection to hawkular. The disadvantage is that we
have to run an extra container (although very light-weight) in each
router pod.
I think c) would benefit additional users deploying the dispatch router
themselves and that wants to use it with prometheus-compatible
monitoring tools. At the same time I have a hunch that having a http
interface integrated like that is controversial in AMQP-land :)
wdyt?
--
Ulf
More information about the enmasse
mailing list