[rabbitmq-discuss] Management API and monitoring
Jason McIntosh
mcintoshj at gmail.com
Fri Oct 25 20:22:55 BST 2013
Just found this older post:
http://rabbitmq.1065348.n5.nabble.com/Monitoring-Message-Throughput-td17436.html
So looks like the avg_ingress_rate is over 5 seconds would get me what I'm
looking for - that should probably never be 0 if we're regularly having
publishes. Of course I'll have to poll it every 5 seconds or it could be 0
on occasion.
Jason
On Fri, Oct 25, 2013 at 2:00 PM, Jason McIntosh <mcintoshj at gmail.com> wrote:
> Hrmm, looking at the API's now,
>
> - incoming:
> [
> -
> {
> - stats:
> {
> - publish: 44,
> - publish_details:
> {
> - rate: 0.4
> }
> },
> - exchange:
> {
> - name: "phi",
> - vhost: "phi"
> }
> }
> ],
>
> Is the publish details time delayed? e.g. for the last "5 minutes" or how
> is that reset? I don't see a "published since" kinda of field that would
> let me calculate a rate of incoming message flow. I can image that's a
> "transactions per minute" kinda rate, but that'll never hit 0 if the queue
> received one message since the beginning of time and nothing since.
>
> Now I did see this:
>
> - backing_queue_status:
> {
> - q1: 0,
> - q2: 0,
> - delta:
> [
> - "delta",
> - 0,
> - 0,
> - 0
> ],
> - q3: 0,
> - q4: 0,
> - len: 0,
> - pending_acks: 0,
> - target_ram_count: "infinity",
> - ram_msg_count: 0,
> - ram_ack_count: 0,
> - next_seq_id: 71,
> - persistent_count: 0,
> - avg_ingress_rate: 0,
> - avg_egress_rate: 0,
> - avg_ack_ingress_rate: 0,
> - avg_ack_egress_rate: 0,
> - mirror_seen: 0,
> - mirror_senders: 1
> },
>
>
> Is the next_seq_id used perhaps? I COULD store the previous value and if
> the value hasn't changed in 5 minutes on the monitoring side, alert on
> that, assuming that that changes based upon each message received?
>
> SO also going to release this:
> https://github.com/jasonmcintosh/rabbitmq-zabbix
>
> This is built off of some of the other monitoring stuff I've been working
> on, but focused on zabbix. The code gives an example template that (to me)
> is a pretty solid set of monitoring items for each server, auto-discovery,
> and basic stuff to monitor rabbitmq using zabbix. Eventually, I'd like to
> do a more push vs. pull type system, using zabbix_sender and a background
> process that regularly polls the API (perhaps even a plugin if I can learn
> enough erlang) and submits data to zabbix, instead of zabbix polling the
> server.
>
> Jason
>
>
>
> On Fri, Oct 25, 2013 at 3:59 AM, Simon MacMullen <simon at rabbitmq.com>wrote:
>
>> On 24/10/2013 5:48PM, Jason McIntosh wrote:
>>
>>> The question I have is on the queue - I'd like to be able to monitor
>>> when the queue was last "accessed" for message publishes.
>>>
>>
>> Probably your best bet is to look at the inbound message rate from the
>> mgmt API.
>>
>>
>> I was looking
>>> at the idle_since but it looks like the date there gets reset anytime
>>> you even look at the list of queues.
>>>
>>
>> That reports on the last time anything contacted the queue to wake it up
>> - this would include publishing, consuming, (re)declaring, or listing it
>> with rabbitmqctl (not mgmt).
>>
>>
>> One interesting thing I noticed while working on monitoring.
>>> rabbitmqctl does not seem like a very efficient mechanism for use by
>>> monitoring tools. I started off using ctl to get various queue and
>>> server information and found that it was extremely expensive to call
>>> repeatedly. I tried using some python scripts to hit the management API
>>> and my CPU load went down by about 70%. Not sure if other people have
>>> seem the same using rabbitmqctl?
>>>
>>
>> This is expected. rabbitmqctl and the management API have quite different
>> designs - in brief the management API maintains a database of current stats
>> for everything that's going on, based on stats events emitted by queues,
>> channels and connections. On the other hand when rabbitmqctl wants to know
>> something it just goes and asks the queue / channel / connection directly -
>> so it's a much simpler design but not as performant.
>>
>> Cheers, Simon
>>
>> --
>> Simon MacMullen
>> RabbitMQ, Pivotal
>>
>
>
>
> --
> Jason McIntosh
> https://github.com/jasonmcintosh/
> 573-424-7612
>
--
Jason McIntosh
https://github.com/jasonmcintosh/
573-424-7612
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20131025/e865adcd/attachment.htm>
More information about the rabbitmq-discuss
mailing list