My recommendation would be to keep things simple. There isn't going to be
one test that will satisfy all use-cases.

It's worth noting that we already have lots of different ways to inspect a
lot of different data points on the broker via the management API. You can
access data about message counts, consumer counts, connection counts, etc.
via HTTP (i.e. using Jolokia), JMX, & management messages via most of our
supported protocols.

We also expose the most critical data through metrics plugins. This data
can be consumed by tools like Prometheus and ultimately Grafana which have
sophisticated monitoring and alerting capabilities which I would not want
to try to reproduce in the broker itself. Perhaps there are some metrics
that we don't currently expose that would be useful here, but in general I
think most of the raw data is available for any user to determine the
health of their broker as it fits their use-case.


Justin

On Tue, Apr 28, 2020 at 4:59 AM Domenico Francesco Bruscino <
bruscin...@gmail.com> wrote:

> I'm implementing a tool to determine whether the broker is in a healthy
> state. There is a series of health checks that can be performed, starting
> with the most basic and very rarely producing false positives, to
> increasingly more comprehensive, intrusive, and opinionated that have a
> higher probability of false positives.
>
> In the following list there are some health checks grouped by target:
> - node
>   - up - check if a client can connect to the the node
>   - disk - check if the disk hits the `max-disk-usage` limit
>   - memory - check if the memory available to the JVM
>   - backup - check if the backup node is announced
>   - queues - check if all queues with a positive rate have a consumer
> - queue
>   - up - check if the queue exists
>   - browser - check if the queue is browsable
>   - consumer - check if a consumer can connect to the queue and/or receive
> messages
>   - producer - check if a producer can connect to the queue and/or send
> messages
>
> I would start with some of the previous checks, exposing them through the
> MBeans interfaces and/or the Command Line utility.
>
> What are your thoughts?
>
> Domenico
>

Reply via email to