DX Application Performance Management

Expand all | Collapse all

RabbitMQ Monitoring

Haruhiko Davis

Haruhiko DavisApr 18, 2014 01:32 PM

  • 1.  RabbitMQ Monitoring

    Posted Mar 17, 2014 11:06 PM

    Hi all,

    Has anyone successfully implemented RabbitMQ Monitoring using the EPAgent python script uploaded in the Community Documents?

    Geethu



  • 2.  RE: RabbitMQ Monitoring

    Posted Mar 21, 2014 05:22 AM

    Hi Geethu,

    What is your exact problem?

    Regs,

    Florian.



  • 3.  RE: RabbitMQ Monitoring

    Posted Apr 03, 2014 11:06 PM

    Hello Florian,

    I have deployed your plugin in our test environment, in general it works Ok (as long as you have on Node); we have 4 Nodes in out test environment, and Rabbit MQ plugin is showing just 1.

    python /apps/admcaw/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=MQ1 --port=15672 \
    --format=nodes list nodes | grep name | egrep -v "auth|exchange|applications"
    
    RabbitMQ|Nodes|rabbit@rmqmsgper04:name=rabbit@rmqmsg04
    RabbitMQ|Nodes|rabbit@rmqmsgper04:name=rabbit@rmqmsg03
    RabbitMQ|Nodes|rabbit@rmqmsgper04:name=rabbit@rmqmsg02
    RabbitMQ|Nodes|rabbit@rmqmsgper04:name=rabbit@rmqmsg01
     
    But Introscope console just shows the First Node (and Details for that Nodes); other Nodes dont show up...
     
    I am not sure if you have noticed this in your environment.... let me know if there's any changes that i would need to do in EP agent to get these 4 Nodes Reporting.
     
     
    Additionally, would you be able to share a screen shot of your Rabbit MQ Dashboard?
     
    Thanks
    Ashish


  • 4.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Posted Apr 04, 2014 05:21 AM
    Hi Ashish,

    I just posted the fieldpack, I did not write it, so unfortunately I can’t offer you any kind of help there, maybe someone else will chime in.

    Regs,

    Florian.


  • 5.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 04, 2014 05:22 AM

    I can take a look at over the weekend and see what's up.



  • 6.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Posted Apr 04, 2014 11:22 AM

    Thanks Hiko,

    i think the plugin is having issues digesting the following (one of them).

    RabbitMQ|Nodes|rabbit@rmqmsg04:contexts=[{"path": "/", "description": "RabbitMQ Management", "port": 15672}, 
    {"path": "/", "ignore_in_use": true, "description": "Redirect to port 15672", "port": 77777}]
    
    RabbitMQ|Nodes|rabbit@rmqmsg04:auth_mechanisms=[{"enabled": true, "name": "PLAIN", "description": "SASL PLAIN authentication mechanism"}, 
    {"enabled": true, "name": "AMQPLAIN", "description": "QPid AMQPLAIN mechanism"}, {"enabled": false, "name": "RABBIT-CR-DEMO", 
    "description": "RabbitMQ Demo challenge-response authentication mechanism"}]
    
    RabbitMQ|Nodes|rabbit@rmqmsg04:applications=[{"version": "3.0.0", "name": "amqp_client", "description": "RabbitMQ AMQP Client"}, 
    {"version": "5.7.1", "name": "inets", "description": "INETS  CXC 138 49"}, {"version": "2.14.5", "name": "kernel", "description": 
    "ERTS  CXC 138 10"}, {"version": "4.5", "name": "mnesia", "description": "MNESIA  CXC 138 12"}, {"version": "2.3.1-rmq3.0.0-gitd541e9a",
     "name": "mochiweb", "description": "MochiMedia Web Server"}, {"version": "2.2.7", "name": "os_mon", "description": "CPO  CXC 138 46"}
    , {"version": "3.0.0", "name": "rabbit", "description": "RabbitMQ"}, {"version": "3.0.0", "name": "rabbitmq_management", "description":
     "RabbitMQ Management Console"}, {"version": "3.0.0", "name": "rabbitmq_management_agent", "description": "RabbitMQ Management Agent"},
     {"version": "3.0.0", "name": "rabbitmq_mochiweb", "description": "RabbitMQ Mochiweb Embedding"}, {"version": "2.1.10", "name": "sasl", 
    "description": "SASL  CXC 138 11"}, {"version": "1.17.5", "name": "stdlib", "description": "ERTS  CXC 138 10"}, 
    {"version": "1.9.1-rmq3.0.0-git52e62bc", "name": "webmachine", "description": "webmachine"}, {"version": "1.2.10", "name": "xmerl",
     "description": "XML parser"}]
    
    
    and this:
    
    
    RabbitMQ|Nodes|rabbit@rmqmsg04:exchange_types=[{"enabled": true, "name": "topic", "description": "AMQP topic exchange, as per the AMQP specification"}, {"enabled": true, "name": "fanout", "description": "AMQP fanout exchange, as per the AMQP specification"}, {"enabled": true, "name": "direct", "description": "AMQP direct exchange, as per the AMQP specification"}, {"enabled": true, "name": "headers", "description": "AMQP headers exchange, as per the AMQP specification"}]
     
     

    It is not able to digest these special characters included in the text.

     

    Thanks

    Ashish



  • 7.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 13, 2014 02:10 AM

    Thanks for providing the output.

    I am actively looking into this and will update you shortly.



  • 8.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Posted Apr 13, 2014 10:56 PM

    Hi all,

    I too faced similar issue in getting the metrics in Investigator tree. I had only one  node but two queues in it .The Investigator was showing only 1 queue. Also , the channels had their names were in the form of IP addresses. The logs had the below errors :

    Metric name from plugin 'Plugin RABBIT_CHANNEL' is invalid: Metric_Name_Is_Badly_Formed[RabbitMQ|Channels|127.0.0.1:49761 -> 127.0.0.1:5672 (1)]

    I am very new to RabbitMQ , so I am not sure about the standard naming convention of RabbitMQ Channels and whether we can change it to custom names which are not in IP addresss format.

    Geethu 



  • 9.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 14, 2014 02:12 AM

    I tend to avoid Python like the plague so please bear with me while I figure out how to parse through the data.



  • 10.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 14, 2014 05:05 PM

    Here's what I'm going to do:

    Write a Perl (yes, Perl) plug-in which consumes to the Python output from the admin script.

    Why? Because we have invested in Perl and already have a module which can present the data in a format usable by EPAgent.

    So I'll spend less time fighting with Python and it's formatting issues and Perl deal with it.



  • 11.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 14, 2014 05:09 PM

    Is this output from the modified admin script? If so, would you mind running it again using the default one from RabbitMQ?

    If you don't want to post the output, please send it to me via direct message.



  • 12.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 15, 2014 02:59 PM

    For each row of output, what things do you want sent to APM?

    Please let me know so I can finish working on this.



  • 13.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Posted Apr 15, 2014 03:30 PM
    I believe what we need is if they are multiple Nodes and Exchange listings and channels, it should just show up in APM…

    Very basic
    Thanks
    Ashish Vashisht | Principal Engineer APM | Enterprise Management Systems | EMC |

    From: CA APM/Wily Global User CommunityMessage Boards [mailto:CommunityAdmin@communities-mail.ca.com]
    Sent: Tuesday, April 15, 2014 2:59 PM
    To: mb_message.2307983.113221485@myca-email.ca.com
    Subject: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitMQ Monitoring


    For each row of output, what things do you want sent to APM?

    Please let me know so I can finish working on this.
    Posted by:hdavis
    --
    CA Communities Message Boards
    113224025
    mb_message.2307983.113221485@myca-email.ca.com<mailto:mb_message.2307983.113221485@myca-email.ca.com>
    https://communities.ca.com


  • 14.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Broadcom Employee
    Posted Apr 15, 2014 03:35 PM
      |   view attached

    Out of the attached data, what do you want reported back to Introscope? Some? All?

    Attachment(s)

    txt
    rabbitmq_output.txt   2 KB 1 version


  • 15.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Broadcom Employee
    Posted Apr 15, 2014 03:36 PM

    Remember, some of this output is string data so it won't persist in SmartStor.



  • 16.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Posted Apr 18, 2014 01:30 PM
      |   view attached

    Hi Hiko.

    please see attached output from our test environment...

    Thanks

    Ashish

    Attachment(s)

    gz
    RabbitMQ.output.tar.gz   3 KB 1 version


  • 17.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Broadcom Employee
    Posted Apr 18, 2014 01:32 PM

    This will be helpful; thanks!



  • 18.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Posted Apr 23, 2014 11:38 AM

    HI Hiko,     I know you are a busy man, were you able to review the logs and see if ur perl wrapper could create the required nodes?



  • 19.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Broadcom Employee
    Posted Apr 23, 2014 11:40 AM

    I'm actually looking at it right now. cheeky

    You do realize that much of the data will be string data, so it won't persist in SmartStor. Please help me out and for each output type, show me which pieces of information you would like to display.



  • 20.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Posted Apr 23, 2014 11:45 AM
    Hi Hiko,
    I believe all those BIG string data could be removed, like Applications have a big string…

    At the end of if It should closely match what we can see on Rabbit MQ Dashboard (on the admin node).

    I will send u the commands and extracts… is there a direct email I can send u that? Please email my @ ashish.vashisht@emc.com


    Thanks
    Ashish Vashisht | Principal Engineer APM | Enterprise Management Systems | EMC | eMail: Ashish.Vashisht@emc.com<mailto:Ashish.Vashisht@emc.com>

    From: CA APM/Wily Global User CommunityMessage Boards [mailto:CommunityAdmin@communities-mail.ca.com]
    Sent: Wednesday, April 23, 2014 11:40 AM
    To: mb_message.2307983.113993943@myca-email.ca.com
    Subject: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM


    I'm actually looking at it right now. [cheeky]

    You do realize that much of the data will be string data, so it won't persist in SmartStor. Please help me out and for each output type, show me which pieces of information you would like to display.
    Posted by:hdavis
    --
    CA Communities Message Boards
    113996483
    mb_message.2307983.113993943@myca-email.ca.com<mailto:mb_message.2307983.113993943@myca-email.ca.com>
    https://communities.ca.com


  • 21.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 23, 2014 11:47 AM

    The direct messaging feature of the community is now working again. you can send me attachments there.

    Otherwise email me at 



  • 22.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Posted Apr 23, 2014 10:45 PM

    Hi  Hiko,

    Here's what i am have configured for Rabbit MQ:

    # RabbitMQ Plugins list
    
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=queues list queues
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=channels list channels
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=vhosts list vhosts
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=exchanges list exchanges
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=connections list connections
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=bindings list bindings
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=permissions list permissions
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=parameters list parameters
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsg01 --port=15672 
    --format=policies list policies
    python /apps/admcawf1/install/epagent/epaplugins/RabbitMQ/rabbitmqadmin.py --host=rmqmsgper01 --port=15672 
    --format=nodes list nodes
     
     
    Thanks
    Ashish


  • 23.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 24, 2014 01:44 PM

    Thanks again for the assist!

    I'm walking through the output files now to figure out the parsing scheme.



  • 24.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 25, 2014 12:16 AM

    What I'm attaching is just part of the entire solution.

    This is to parse the queue information. Please place this in your EPA according to my instructions and run it from the commandline. Please provide the output of the execution so I can validate the results.

    This solution I'm providing will probably continue to be multiple plugins, which make it easier for you to manage as things change with RabbitMQ.



  • 25.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Posted Apr 25, 2014 12:10 PM

    Thanks for getting this together!  I have not have a chance to test the script yet, but on line 44 you will need to alter the following.

    use GetOpt::Long;

    to be

    use Getopt::Long;

    I believe this will be case sensitive in perl. 



  • 26.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 25, 2014 02:09 PM

    Thanks, James.

    EPIC nor Strawberry complained about it.



  • 27.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 26, 2014 08:16 AM
      |   view attached

    Plug-in for Queues:

    <metric type="StringEvent" name="RabbitMQ|Queues:synchronised_slave_nodes" value="rabbit@RabbitMQ04 rabbit@RabbitMQ03 rabbit@RabbitMQ01" />
    <metric type="StringEvent" name="RabbitMQ|Queues:slave_nodes" value="rabbit@RabbitMQ01 rabbit@RabbitMQ03 rabbit@RabbitMQ04" />
    <metric type="StringEvent" name="RabbitMQ|Queues:policy" value="Mirror_Queues" />
    <metric type="StringEvent" name="RabbitMQ|Queues:node" value="rabbit@RabbitMQ02" />
    <metric type="LongCounter" name="RabbitMQ|Queues:messages_unacknowledged" value="0" />
    <metric type="LongCounter" name="RabbitMQ|Queues:messages_ready" value="0" />
    <metric type="LongCounter" name="RabbitMQ|Queues:messages" value="0" />
    <metric type="LongCounter" name="RabbitMQ|Queues:memory" value="40272" />
    <metric type="StringEvent" name="RabbitMQ|Queues:idle_since" value="2014-04-18 12:32:04" />
    <metric type="StringEvent" name="RabbitMQ|Queues:exclusive_consumer_tag" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Queues:durable" value="True" />
    <metric type="LongCounter" name="RabbitMQ|Queues:consumers" value="15" />
    <metric type="StringEvent" name="RabbitMQ|Queues:auto_delete" value="False" />
    <metric type="LongCounter" name="RabbitMQ|Queues:active_consumers" value="15" />
    <metric type="StringEvent" name="RabbitMQ|Queues:name" value="SEN.R.CONTENT.Q" />
    <metric type="StringEvent" name="RabbitMQ|Queues:vhost" value="/" />

    Attachment(s)

    zip
    RabbitMQ_Queues.zip   1 KB 1 version


  • 28.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 26, 2014 08:32 AM
      |   view attached

    Here is the plug-in for Bindings.

    Example of the output:

    <metric type="StringEvent" name="RabbitMQ|Bindings:properties_key" value="notify.routing.batch" />
    <metric type="StringEvent" name="RabbitMQ|Bindings:routing_key" value="notify.routing.batch" />
    <metric type="StringEvent" name="RabbitMQ|Bindings:destination_type" value="queue" />
    <metric type="StringEvent" name="RabbitMQ|Bindings:destination" value="SEN.D.NOTIFY.Q" />
    <metric type="StringEvent" name="RabbitMQ|Bindings:source" value="ngoe.outbound.exchange" />
    <metric type="StringEvent" name="RabbitMQ|Bindings:vhost" value="/" />

    Attachment(s)

    zip
    RabbitMQ_Bindings.zip   1 KB 1 version


  • 29.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 26, 2014 09:12 AM
      |   view attached

    Plug-in for Channels:

    <metric type="StringEvent" name="RabbitMQ|Channels:user" value="esptstusr" />
    <metric type="StringEvent" name="RabbitMQ|Channels:transactional" value="False" />
    <metric type="LongCounter" name="RabbitMQ|Channels:prefetch_count" value="1" />
    <metric type="LongCounter" name="RabbitMQ|Channels:number" value="9" />
    <metric type="StringEvent" name="RabbitMQ|Channels:node" value="rabbit@rmqmsgper01" />
    <metric type="LongCounter" name="RabbitMQ|Channels:messages_unconfirmed" value="0" />
    <metric type="LongCounter" name="RabbitMQ|Channels:messages_uncommitted" value="0" />
    <metric type="StringEvent" name="RabbitMQ|Channels:messages_unacknowledged" value="0" />
    <metric type="LongCounter" name="RabbitMQ|Channels:idle_since" value="2014-04-18 12:32:22" />
    <metric type="LongCounter" name="RabbitMQ|Channels:consumer_count" value="1" />
    <metric type="StringEvent" name="RabbitMQ|Channels:confirm" value="False" />
    <metric type="StringEvent" name="RabbitMQ|Channels:client_flow_blocked" value="False" />
    <metric type="LongCounter" name="RabbitMQ|Channels:acks_uncommitted" value="0" />
    <metric type="StringEvent" name="RabbitMQ|Channels:name" value="y.y.y.y:56334 -&gt; x.x.x.x:5672 (9)" />
    <metric type="StringEvent" name="RabbitMQ|Channels:vhost" value="/" />

    Attachment(s)

    zip
    RabbitMQ_Channels.zip   1 KB 1 version


  • 30.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 26, 2014 10:52 AM
      |   view attached

    Plug-in for Connections:

    <metric type="StringEvent" name="RabbitMQ|Connections:user" value="esptstusr" />
    <metric type="StringEvent" name="RabbitMQ|Connections:timeout" value="600" />
    <metric type="StringEvent" name="RabbitMQ|Connections:state" value="running" />
    <metric type="StringEvent" name="RabbitMQ|Connections:ssl_protocol" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:ssl_key_exchange" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:ssl_hash" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:ssl_cipher" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:ssl" value="False" />
    <metric type="LongCounter" name="RabbitMQ|Connections:send_pend" value="0" />
    <metric type="LongCounter" name="RabbitMQ|Connections:send_oct" value="2221" />
    <metric type="LongCounter" name="RabbitMQ|Connections:send_cnt" value="75" />
    <metric type="LongCounter" name="RabbitMQ|Connections:recv_oct" value="2322" />
    <metric type="LongCounter" name="RabbitMQ|Connections:recv_cnt" value="34" />
    <metric type="StringEvent" name="RabbitMQ|Connections:protocol" value="AMQP 0-9-1" />
    <metric type="StringEvent" name="RabbitMQ|Connections:port" value="5672" />
    <metric type="StringEvent" name="RabbitMQ|Connections:peer_port" value="56334" />
    <metric type="StringEvent" name="RabbitMQ|Connections:peer_host" value="y.y.y.y" />
    <metric type="StringEvent" name="RabbitMQ|Connections:peer_cert_validity" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:peer_cert_subject" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:peer_cert_issuer" value="Unknown" />
    <metric type="StringEvent" name="RabbitMQ|Connections:node" value="rabbit@RabbitMQ01" />
    <metric type="StringEvent" name="RabbitMQ|Connections:last_blocked_by" value="none" />
    <metric type="StringEvent" name="RabbitMQ|Connections:last_blocked_age" value="infinity" />
    <metric type="StringEvent" name="RabbitMQ|Connections:host" value="x.x.x.x" />
    <metric type="StringEvent" name="RabbitMQ|Connections:frame_max" value="131072" />
    <metric type="StringEvent" name="RabbitMQ|Connections:channels" value="16" />
    <metric type="StringEvent" name="RabbitMQ|Connections:auth_mechanism" value="PLAIN" />
    <metric type="StringEvent" name="RabbitMQ|Connections:type" value="network" />
    <metric type="StringEvent" name="RabbitMQ|Connections:name" value="y.y.y.y:56334 -&gt; x.x.x.x:5672" />
    <metric type="StringEvent" name="RabbitMQ|Connections:vhost" value="/" />
     

    Attachment(s)

    zip
    RabbitMQ_Connections.zip   1 KB 1 version


  • 31.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 26, 2014 11:13 AM
      |   view attached

    Plug-in for Exchanges:

    <metric type="StringEvent" name="RabbitMQ|Exchanges:policy" value="Mirror_Queues" />
    <metric type="StringEvent" name="RabbitMQ|Exchanges:internal" value="False" />
    <metric type="StringEvent" name="RabbitMQ|Exchanges:durable" value="True" />
    <metric type="StringEvent" name="RabbitMQ|Exchanges:auto_delete" value="False" />
    <metric type="StringEvent" name="RabbitMQ|Exchanges:type" value="topic" />
    <metric type="StringEvent" name="RabbitMQ|Exchanges:name" value="ngoe.outbound.exchange" />
    <metric type="StringEvent" name="RabbitMQ|Exchanges:vhost" value="/" />

    Attachment(s)

    zip
    RabbitMQ_Exchanges.zip   1 KB 1 version


  • 32.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Posted Apr 28, 2014 03:24 PM

    Thanks!  The scripts look good, although I am having some trouble getting them to run in the epagent.  I'm getting the error below in the logs.  I'm not sure why.  When I kick off each script via command line they work, but when I run it in the EPAgent, I get errors for invalid Metric names as the metrics are already in use by another DataRecorder of a different type.  Not sure what the problem is.  

    Also, I think it was just my system, but I had to add the absalute path to the execCommand line.  I was getting an error below when I would run it in the EPAgent, but not at the command line.  Adding the absalute path in fixed that issue for me.

    python: can't open file './rabbitmqadmin.py': [Errno 2] No such file or directory  
    
    $execCommand="python $rabbitmqadmin --host=$rmqHost --port=$rmqPort --format=bindings list bindings";

    to look like

     $execCommand="python <EPAgentHome/epaplugins/RabbitMQ/rabbitmqadmin.py> --host=$rmqHost --port=$rmqPort --format=bindings list bindings";
     
    Here is the error I havn't been able to fix in the epa.log output.
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_QUEUE' is invalid: "RabbitMQ|Queues:node" is already in
    
     use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:node" is alrea
    
    dy in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:messages_unack
    
    nowledged" is already in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric value from plugin 'Plugin RABBIT_CHANNELS' is invalid: For input string: "2014-04-28 12
    
    :38:24"
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:confirm" is al
    
    ready in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:client_flow_bl
    
    ocked" is already in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:name" is alrea
    
    dy in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:vhost" is alre
    
    ady in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_QUEUE' is invalid: "RabbitMQ|Queues:idle_since" is alre
    
    ady in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:user" is alrea
    
    dy in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_QUEUE' is invalid: "RabbitMQ|Queues:exclusive_consumer_
    
    tag" is already in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:transactional"
    
     is already in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_QUEUE' is invalid: "RabbitMQ|Queues:durable" is already
    
     in use by another DataRecorder of a different type
    
    4/28/14 12:40:05 PM EDT [ERROR] [EPAgent] Metric name from plugin 'Plugin RABBIT_QUEUE' is invalid: "RabbitMQ|Queues:auto_delete" is alr
     
     

     



  • 33.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 28, 2014 03:32 PM

    Thanks for the updates, James!

    You need to completely shut down the agent before adding new plug-ins, especially if you change the metric type.

    As for the path issue: what does the script return from this line in the code:

    $rabbitmqadmin = File::Spec->catfile(File::Spec->curdir(), "rabbitmqadmin.py");

    Do a "print" on "$rabbitmqadmin". File::Spec should return the entire path; if it doesn't then i'll need to fix that. I was trying my best to make it easier on everyone who wanted to use the solution.

    I can certainly switch to use 'Cwd' to make it provide the absolute path.



  • 34.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 28, 2014 07:02 PM

    I've fixed the problem.

    Please set this set and let me know if it works for you.

    Attachment(s)

    zip
    RabbitMQ_Exchanges.zip   1 KB 1 version
    zip
    RabbitMQ_Channels.zip   1 KB 1 version
    zip
    RabbitMQ_Nodes.zip   1 KB 1 version
    zip
    RabbitMQ_Bindings.zip   1 KB 1 version
    zip
    RabbitMQ_Connections.zip   1 KB 1 version


  • 35.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 28, 2014 07:03 PM
      |   view attached

    Here is Queues. I couldn't attach anymore to the first posting.

    Attachment(s)

    zip
    RabbitMQ_Queues.zip   1 KB 1 version


  • 36.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Posted Apr 29, 2014 03:01 PM

    I was getting this error with the new set of files.

    4/29/14 02:51:47 PM EDT [ERROR] [EPAgent.EPAgent RABBIT_BINDINGS] [ stderr ] python: can't open file '/apps/admcawf1/install/epagent/RabbitMQ/rabbitmqadmin.py': [Errno 2] No such file or directory
     
    My path to the plugins is 
    /apps/admcawf1/install/epagent/epaplugins/RabbitMQ
     
     
    I had to make this change.
     
     @arrayResults = do { open my $fh, '<', File::Spec->catfile(abs_path, "epaplugins/RabbitMQ", "samples", "RabbitMQ_Queues"); <$fh>; };
    } else {
        # determine path to rabbitmqadmin.py; adjust path as needed for your environment
        $rabbitmqadmin = File::Spec->catfile(abs_path, "epaplugins/RabbitMQ", "rabbitmqadmin.py");
        # command to execute rabbitmqadmin.py
     
    I am still getting the errors below, despite restarting the MOM and the epagent.
     Metric name from plugin 'Plugin RABBIT_CHANNELS' is invalid: "RabbitMQ|Channels:vhost" is already in use by another DataRecorder of a different type
     


  • 37.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: [CA APM

    Broadcom Employee
    Posted Apr 29, 2014 05:05 PM

    Just to keep everyone up to date, I'm working directly with James to continue development.

    As for his issue with file path, it is easily corrected by adding "epaplugins" as another directory level to be concatenated with the file.

    I will update this in the final version of the plugins.



  • 38.  RE: [CA APM General Discussion] RE: [CA APM General Discussion] RE: RabbitM

    Broadcom Employee
    Posted Apr 23, 2014 11:41 AM

    I also need you to show me what commands you executed to create each output file as these will be used inside the plug-in.



  • 39.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring
    Best Answer

    Broadcom Employee
    Posted May 07, 2014 03:39 PM

    It's done!

    I have rewritten everything from scratch. You can get a copy by going to the community Documents > Tools > EPAgent Scripts > Rabbit MQ.

    Or you can go here: http://goo.gl/C8Q2k1

    Thanks to James Sweeney for all his help.



  • 40.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Posted May 12, 2014 09:22 AM

    Looks good, all the scripts are functioning in our environment.  Thanks Hikos!



  • 41.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Broadcom Employee
    Posted May 12, 2014 03:24 PM

    Thanks again, James, for all your help with the validation process.



  • 42.  RE: [CA APM General Discussion] RE: RabbitMQ Monitoring

    Posted May 16, 2014 04:44 PM

    Thank you Hiko for all your efforts here!
    Mary



  • 43.  Re: RabbitMQ Monitoring

    Posted Apr 13, 2017 04:44 AM

    Hi,

     

    Where can i find the document ? 
    (community Documents > Tools > EPAgent Scripts > Rabbit MQ - i did not find it  or http://goo.gl/C8Q2k1which is not working )

     

    Thanks



  • 44.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 13, 2017 06:40 AM

    You can download this from the A PM Marketplace (http://marketplace.ca.com/apm).

     

    I will tell you right now that if you're using a version newer than what I had written it for, it may not work properly for some things due to changes from RabbitMQ. If this is the case, please post a new discussion on APM-DEV (http://bit.ly/caapm_dev) so I can address the problem.



  • 45.  Re: RabbitMQ Monitoring

    Posted Apr 24, 2017 04:36 AM

    Thanks,

    We already upgrade to last version of rabbitMQ, so as you mention it does not woks correctly.

     

    We made the change and now the scripts working .



  • 46.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Apr 28, 2017 03:36 PM

    can you post back the change(s) to the repository issues?

    https://github.com/htdavis/ca-apm-fieldpack-epa-rabbitmq/issues



  • 47.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted May 01, 2017 09:10 AM

    Hi:

    Can you post your changes to github as Hiko_Davis suggested?

    Thanks

    Hal German



  • 48.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Aug 06, 2018 12:49 PM

    I'm working on updating this for another customer so hopefully this will be ready for the newest versions of RabbitMQ.



  • 49.  Re: RabbitMQ Monitoring

    Posted Nov 30, 2018 01:07 PM

    Hi All, 

     

    I have deployed the rabbitmq plug in my test environment and I am seeing the follow alerts below through IntroscopeEPA.log So I would like to know if anyone was faced this behavior ?

     

     

     

    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent QUEUES] [ stderr ] Can't locate File/Slurp.pm in @INC (@INC contains: /app/epagent/epaplugins/rabbitmq /app/epagent/epaplugins/rabbitmq/../lib/perl /app/epagent/epaplugins/rabbitmq/lib/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Queues.pl line 59.
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent QUEUES] [ stderr ] BEGIN failed--compilation aborted at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Queues.pl line 59.
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent CONNECTIONS] [ stderr ] Can't locate File/Slurp.pm in @INC (@INC contains: /app/epagent/epaplugins/rabbitmq /app/epagent/epaplugins/rabbitmq/../lib/perl /app/epagent/epaplugins/rabbitmq/lib/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Connections.pl line 59.
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent CONNECTIONS] [ stderr ] BEGIN failed--compilation aborted at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Connections.pl line 59.
    11/30/18 03:56:52 PM BRST [DEBUG] [EPAgent.EPAgent CHANNELS] Process has exited with: 2
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent CHANNELS] [ stderr ] Can't locate File/Slurp.pm in @INC (@INC contains: /app/epagent/epaplugins/rabbitmq /app/epagent/epaplugins/rabbitmq/../lib/perl /app/epagent/epaplugins/rabbitmq/lib/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Channels.pl line 59.
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent CHANNELS] [ stderr ] BEGIN failed--compilation aborted at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Channels.pl line 59.
    11/30/18 03:56:52 PM BRST [DEBUG] [EPAgent.EPAgent NODES] Process has exited with: 2
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent NODES] [ stderr ] Can't locate File/Slurp.pm in @INC (@INC contains: /app/epagent/epaplugins/rabbitmq /app/epagent/epaplugins/rabbitmq/../lib/perl /app/epagent/epaplugins/rabbitmq/lib/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Nodes.pl line 60.
    11/30/18 03:56:52 PM BRST [ERROR] [EPAgent.EPAgent NODES] [ stderr ] BEGIN failed--compilation aborted at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Nodes.pl line 60.

     

    Thanks, 

    Roberto 



  • 50.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Nov 30, 2018 01:36 PM

    Go to my repo at https://github.com/htdavis/rabbitmq and download the latest version.

    If you don't have File::Slurp installed, you can comment it out.

     

    Make sure you read the POD statement in my code concerning why it's used and how to disable it.



  • 51.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Nov 30, 2018 01:37 PM


  • 52.  Re: RabbitMQ Monitoring

    Posted Dec 05, 2018 08:10 AM

    Hi Davis,

     

    As per your last instructions I was able to start the EPAgent however I found the following error messages below so could you please help me out how can I handle it ?

     

    12/01/18 02:53:08 AM BRST [INFO] [EPAgent.EPAgent BINDINGS] Starting plugin 'BINDINGS'.

    12/01/18 02:53:09 AM BRST [INFO] [EPAgent.EPAgent CONNECTIONS] Starting plugin 'CONNECTIONS'.

    12/01/18 02:53:09 AM BRST [INFO] [EPAgent.EPAgent EXCHANGES] Starting plugin 'EXCHANGES'.

    12/01/18 02:53:09 AM BRST [INFO] [EPAgent.EPAgent QUEUES] Starting plugin 'QUEUES'.

    12/01/18 02:53:09 AM BRST [INFO] [EPAgent.EPAgent NODES] Starting plugin 'NODES'.

    12/01/18 02:53:09 AM BRST [INFO] [EPAgent.EPAgent CHANNELS] Starting plugin 'CHANNELS'.

    12/01/18 02:53:10 AM BRST [ERROR] [EPAgent.EPAgent NODES] [ stderr ] printMetric called with incorrect arguments ('type', 'name', and 'value' are mandatory) at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Nodes.pl line 147.

    12/01/18 02:53:10 AM BRST [ERROR] [EPAgent.EPAgent EXCHANGES] [ stderr ] printMetric called with incorrect arguments ('type', 'name', and 'value' are mandatory) at /app/epagent/epaplugins/rabbitmq/RabbitMQ_Exchanges.pl line 124.

     

     

    Thanks,

    Roberto



  • 53.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Dec 05, 2018 09:24 AM

    Which version of RMQ are you using?

    Make sure you have the latest 1.2 release from my repo or get the older one if you're using RMQ 3.3.4.



  • 54.  Re: RabbitMQ Monitoring

    Posted Dec 05, 2018 02:10 PM

    The RBMQ version is 3.6.5 and also I am using the latest agent version.



  • 55.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Dec 05, 2018 02:12 PM

    The README file you downloaded says 1.2?



  • 56.  Re: RabbitMQ Monitoring

    Broadcom Employee
    Posted Dec 05, 2018 02:22 PM

    If it ends up being a difference in output between 3.6 and 3.7, then I will need to work on installing a 3.6 RMQ setup to see how the data is formatted.

    I may have to reach out to you to get a sample of your data from the two plugins that are failing.