Icon

Comments have been closed on this page. Please use AppMon & UEM Open Q & A forum for questions about this plugin.

Looking for the plugin page?

IBM MQ Queue Channel Monitoring Plugin

 

 

 

  1. Anonymous (login to see details)

    Awesome plugin.
    Any chance of getting a few screenshots posted to this page of a dashboard showcasing some of these metrics?

    1. Anonymous (login to see details)

      Joe,
      I will post the screenshots in couple of days.

      1. Anonymous (login to see details)

        any chance of screenshots?

      2. Anonymous (login to see details)

        Asad,

        Do you have screenshots available for this plug in yet? I'm curious to see how the data looks when it is reported.

        Thanks!

  2. Anonymous (login to see details)

    Agree with Joe, this is an amazing plugin. Thank you for getting this out there.

  3. Anonymous (login to see details)

    Hi
    I tried the pluging.the only 2 metrics returning data is connection count and status all other return null.
    Will you please help me in this
    Thanks

    1. Anonymous (login to see details)

      Hi Zuher
      Do you see any messages in the log file? Would be kind enough to send it to me? If so, please send it to asad.ali@Compuware.com.

    2. Anonymous (login to see details)

      I'm getting something like this, where only 2 metrics are returning and the other are null. Were you able to figure it out? Also, how would we go about setting up permissions for this? Where do we give the permissions?

      1. Anonymous (login to see details)

        I needed to put an * in the optional fields to pull any data. You should look into whether this field is actually optional or not.

        1. Anonymous (login to see details)

          Shaun,

          Where did you put the * value? I have review the plugin to ensure that it is truly optional.

          1. Anonymous (login to see details)

             

            I put a * under both Collect Queue information and Channel information in the optional filter value. I could put in one queue, or use *.

  4. Anonymous (login to see details)

    Hi

    This is a very useful Plugin! Thank you!

    We have one issue though. When selecting the CURRENT_Q_DEPTH - SYSTEM.RETAINED.PUB.QUEUE there is not an option to select the LAST value when splitting for a specific queue. Is there somewhere where I can change this, as it would be useful to know the current queue length for a queue.

    Screenshot attached.

    1. Anonymous (login to see details)

      Anton,
      How often are you running the plugin? If you are running the plugin every minute then it does not matter what aggregation you choose. The reason is that dynaTrace aggregates the data every minute to compute the avg, min, max etc. If you are running it at a minute or higher interval, the values for min, max etc. would be the same.

  5. Anonymous (login to see details)

    Asad,

    We have many queues to monitor.  How do I add new queues?  Or how do I create a list of queues from a file then when do I install/save the file and set it up from dynaTrace?  Can you please give me some detailed instruction?  Screen shots is useful.  Thanks a lot.

     

  6. Anonymous (login to see details)

    Hi,

    Can someone please confirm if we need to runmqsc command for the MQ Channel monitor to function effectively? Our security services won't grant us the privileges to run the runmqsc command.

    Is there a minimum role required on the MQ server that can be used for the dynaTrace monitor to function? A role name that works will be immensely helpful. The security services won't give us SYSTEM.ADMIN.SVRCONN access either.

    Also, a MQ Channel monitor does not cause any extra overhead on the MQ servers, right? Just making sure.

    Thanks,

    Harshal.

    1. Anonymous (login to see details)

      Harshal,

      This plugin does not execute runmqsc command. It uses pcf library to connect to the queue manager. If the security service does not give permission for SYSTEM.ADMIN.SVRCONN, please see if they can create another channel with different name with the same channel type.

  7. Anonymous (login to see details)

    Asad,

    Let me make sure I understand how this plugin works.  So if we have the monitor only set to update every minute, then whatever the q depth is at that minute is what dynatrace is going to capture?  Q depth can flucuate a lot.  Do we need to set the monitor to update more often?  What kind of overhead will we incur if we do that?  Thanks, for your help.

    1. Anonymous (login to see details)

      Jeff,

      I have one customer that is pulling the MQ data every 10s for the reason that you have stated. They have not noticed any overhead because of it.

      1. Anonymous (login to see details)

        Ok, thanks for answering my question Asad.  I have one more question.  Is there anyway you would be able to get the last put time for a queue?  We have a situation we want to monitor where we want to know if a message hasnt been put to a queue in a certain amount of time.  When the messages hit the queue they get processed immediately and since the monitor can only update every 10 seconds the queue depth will always show 0 to dynatrace.  So we cant monitor for that to tell if our process is working or not.

  8. Anonymous (login to see details)

     

    Does anyone have any good dashboards to use with this Plugin?

  9. Anonymous (login to see details)

    Is there any software required on the server running the collector this is deployed to?   MQ client perhaps? or is it just straight ssh into Qmanager server?

    1. Anonymous (login to see details)

      John,

      There is no software required on the collector machine. This plugin does not use ssh. It uses IBM pcf library to connect to the Queue Manager.

      1. Anonymous (login to see details)

        Ali,

        Thank you for your reply.   One more redamentary question.   I am not that familiar with the IBM PCF Library.  Would those libraries/files need to be on the collector or is the plugin providing them?

        1. Anonymous (login to see details)

          John,

          You don't need any additional binaries/libraries on the collector machine. The plugin is self contained and has all the libraries in it.

  10. Anonymous (login to see details)

  11. Anonymous (login to see details)

     

    I work for a large company and there is no way I'll be granted System Admin rights to a MQ Channel.  Does anyone know exactly what calls are being made into a Channel?  Maybe I can request 'special' access to the areas within MQ that are being impacted.

    Thanks very much in advance! 

  12. Anonymous (login to see details)

    Bryan, I don't have specifics of what calls are being made, but the sourcecode of the plugin is freely available. I suggest you download it, load it up into your Client and inspect it. This will probably give you the most accurate list of the exact calls being made.

  13. Anonymous (login to see details)

    One of Compuware partner  is using this plugin to monitor MQ depth and creating incident to alert when q depth is high. When they defined the filter of the queue name to something like "CIC*", there are multiple queues that start with CIC are grouped together in the single measure for queue of depth. When creating incident rule, one can only specify max or average  for the threshold which would basically trigger alerts based on the average or max of all the queues that start with CIC. If there are multiple queues that exceeded threshold, then the average would not be accurate as it would average out all the queues. Should I then be using max as the threshold in order  to detect specific queue that  start with CIC for the monitoring measurement instead? 

  14. Anonymous (login to see details)

    Hi Vinson,

    The IBM MQ Queue Channel Monitoring plugin does not create a single measure for different queues based on a filter. This plugin creates set of dynamic measures for each queue which satisfies the filter criteria. Customer can setup incident rule for the base measure. When incident will be triggered, the dynaTrace engine will provide dynamic measure name and dynamic measure value which triggered this incident. So, no incidents will be lost. Incident rule itself can use avg, min, max, first, and last values depending on customer's needs.

    Eugene.

  15. Anonymous (login to see details)

    I see some talk around this but no really specific answers.   My apologies if i missed it but what rights on the QM does the id the plugin passes to the que manager need in MQ?

  16. Anonymous (login to see details)

    Has anyone created a dashboard for metrics available in the new Updated MQ Monitoring Plugin? Do you mind sharing?

  17. Anonymous (login to see details)

    Does anyone know the status code definitions for the Queue Manager and Channel status measure?

    1. Anonymous (login to see details)

      I am in the same case as Calvie: would love to have some kind of list with the different values and their meanings!

  18. Anonymous (login to see details)

    Hi Chris,

    The valid values of the Queue Manager Status are: n/a = -1, Stopped = 0, Starting = 1, Running = 2, Quiescing = 3, Stopping = 4, Standby=5.

    The valid values of the Channel Status are: n/a = 0, Binding = 1, Starting = 2, Running = 3, Stopping = 4, Retrying = 5, Stopped = 6, Requesting = 7, Paused = 8, Initializing = 13, Inactive=101, Conn_Not_Def=200, Out_Service=201, Going_Out=202, Released=203, Obtaining=204, Acquired=205, Freeing=206, Available=207, Unknown=255

    Eugene.

  19. Anonymous (login to see details)

    Can anyone help me out with this one... I'm getting the following Error Messages when I'm trying to connect... I ensured that our UID is part of the MQM user group which has access to the channel (CLIENT.TO.DYNATRACE) which is of a SYSTEM.ADMIN.SVRCONN type.

    Result:    Last polling execution failed
    Reason for failure:    External error occurred
    Error message:    setup method: com.ibm.mq.MQException exception occured. Reason Code = 2035; Error code = ; Messag...
    Detailed error message:    setup method: com.ibm.mq.MQException exception occured. Reason Code = 2035; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2035'.'; Stacktrace is 'com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2035'.
        at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:233)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:553)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:593)
        at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:95)
        at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:198)
        at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:882)
        at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:770)
        at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:719)
        at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:175)
        at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:727)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.setup(MQQueueChannelMonitorUpdated.java:226)
        at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:456)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:52)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:27)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:192)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:415)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:339)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)
        at com.dynatrace.diagnostic...


    To me this seems like an authentication issue. I checked with our MQ and Linux teams and was told the UID were using, dynatraceMQM, has the proper access and does not need a password....

    Here is a screenshot of the plugin setup...

    Any tips or advice on this would be greatly appreciated.

    Thanks!

    -Mike

  20. Anonymous (login to see details)

    Mike,

    Did you try without checking the authenticate check box?

    1. Anonymous (login to see details)

      Asad,

      I have tried with the authenication enabled and disabled, neither seem to work and both setting give me the 2035 not-authorized message.

      I have tried this on dT version 5.0 and 5.6 and tried to use other versions and message flow statistic plugins, still seem to get 2035 unauthorized.

      The Message Broker Team seems to think that our plugin/dynaTrace isn't passing the userid. He indicated he tested the ID and below is apparently and indication of that.

      I'm looking for any advice or tips you may have as how to go about troubleshooting this authentication issue from the broker perspective from your experiences.

      Thanks Asad!

       

    2. Anonymous (login to see details)

      Looks like i figured it out....

      http://www-01.ibm.com/support/docview.wss?uid=swg21636093

      It appears that it was an ID issue. I simply tried authentication using "mqm" and it worked, clearly an authentication/id issue our broker team missed...

      Thanks for the help.

      -Mike

  21. Anonymous (login to see details)

    I am trying to get this plugin to work, but I am only getting "null" in all the fields. It connects Ok to the MQ server. Does SYSTEM.ADMIN.STATISTICS.QUEUE have to be a topic or is it ok to have it as a queue? I have talked to the MQ operator and he tells me there are 3000 messages on the queue

    1. Anonymous (login to see details)

      Hi Hermod,

      Please set log level of the plugin to FINER, trigger execution of the plugin and attach captured plugin log to this page. Make sure that you are using the latest plugin version.

      Eugene.

  22. Anonymous (login to see details)

    Hi

    I have finally got around to this. I am using the latest plugin version. I can not find a way to upload the log file, so I will mail it to you.

    Hermod

    1. Anonymous (login to see details)

      Hi Hermod,

      Thank you for the log file. From the log I see that the queue depth of the SYSTEM.ADMIN.STATISTICS.QUEUE queue  is 3000 (please see line 745 in the provided log file):

      2014-04-29 09:41:04 FINER [MQQueueChannelMonitorUpdated@New MQ Queue Channel Monitor Updated_0] getQueueProp method: index is 0, queueName is 'SYSTEM.ADMIN.STATISTICS.QUEUE                   ', value for queuePropWrapper.getDepth() is 3000

      This is the same value which was reported by your MQ operator. Could you please clarify where do you see nulls? Please note that the MQQueueChannel plugin is populating dynamic measures for each queue. Dynamic measures are slightly different from the regular measures. Please see this post for more details about dynamic measures.

      Please let me know if you still have issues.

      Eugene.

  23. Anonymous (login to see details)

    Hi

    Thanks for the feedback.  I'll look into the mentioned post. I guess that is why right-click-open in chart on the monitor just displays an empty graph saying "No measurements available for selectred timeframe". As far as the null values goes, that was a wrong statement on my part.

    With respect to the queue: Does the plugin "empty" the queue?

    Hermod

    1. Anonymous (login to see details)

      Hi Hermod,

      Plugin does not empty queues.

      Eugene.

  24. Anonymous (login to see details)

    When trying to install the plugin and recycle the server, the server is unable to load the plugin... any suggestions? This is on version 5.5.

    2014-06-13 11:17:39 INFO [Discovery] Plugin "com.dynatrace.plugin.MQQueueChannelMonitorUpdated_0.9.1.4" was successfully installed.
    2014-06-13 11:17:40 WARNING [PluginDispatcher] Failed to load extension with id: com.dynatrace.plugin.MQQueueChannelMonitorUpdated.monitor. Exception: com.dynatrace.diagnostics.pde.PluginException: loading class com.dynatrace.plugin.MQQueueChannelMonitorUpdated caused error: com/dynatrace/plugin/MQQueueChannelMonitorUpdated : Unsupported major.minor version 51.

    1. Anonymous (login to see details)

      Hi Daniel,

      Download plugin again and re-deploy it. I've just uploaded jar version compatible with JVM 1.6. Let me know if you still have issues.

      Eugene

  25. Anonymous (login to see details)

    That worked. Thank you Eugene!!!

  26. Anonymous (login to see details)

    For the SSL authentication keystore, do we need private keys or are certificates sufficient? 

  27. Anonymous (login to see details)

    Hi,

     

    I have some problems with the enqueue en dequeue values. Other functions work fine (such as: oldest message age, current queue depth),.. After the dashboard doesn’t show me any values (value is always 0), I activate the logging (FINNER). There aren’t any exceptions in the logging. The value in the logging is also 0:

    [MQQueueChannelMonitorUpdated@QMSDA05_1] getQueueProp method: index is 3, queueName is 'MyQueueName                                  ', value for queuePropWrapper.getEnQueueCount() is 0

     

    I added the channel system.admin_svrconn and played with the value of the queue (statistics : queue monitoring set to high) and queuemanager (monitoring tabs). This without any results. We work with the latest plugin en IBM webshere MQ version 7.5.0.3 .

    Does anyone have a clue what’s wrong?

    Joachim

    1. Anonymous (login to see details)

      Hi Joachim,

      Could you please send me plugin's FINER log? Could you please let me know OS platform IBM Websphere MQ is running on?

      Eugene.

  28. Anonymous (login to see details)

    I will need to open ports for this to communicate with certain servers. Outside of the listening port that our MQ team is providing, do any other dynatrace specific ports need to be opened in order for the plugin to connect successfully?

    1. Anonymous (login to see details)

      Hi Gabe,

      Plugin is using only Queue Manager port. No other ports are needed.

      Eugene.

  29. Anonymous (login to see details)

    Hi

    Getting errors for the plugin now :

    2014-09-08 09:43:37 SEVERE [MQQueueChannelMonitorUpdated@New MQ Queue Channel Monitor Updated_1] getQueueProperties method:  pcfInqCmd command: Could not get INHIBIT_GET info for : AMQ.530756C9227A4307                            
    2014-09-08 09:43:37 SEVERE [MQQueueChannelMonitorUpdated@New MQ Queue Channel Monitor Updated_1] getQueueProperties method:  pcfInqCmd command: Could not get INHIBIT_PUT info for : AMQ.530756C9227A4307                            
    2014-09-08 09:43:37 SEVERE [MQQueueChannelMonitorUpdated@New MQ Queue Channel Monitor Updated_1] java.lang.NullPointerException exception occurred. Message = 'null'; Stacktrace is 'java.lang.NullPointerException
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProperties(MQQueueChannelMonitorUpdated.java:1309)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProp(MQQueueChannelMonitorUpdated.java:1025)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.execute(MQQueueChannelMonitorUpdated.java:408)
        at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:565)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:52)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:27)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:192)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:415)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:339)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)
        at com.dynatrace.diagnostics.scheduling.impl.QuartzJob.execute(SourceFile:45)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at com.dynatrace.diagnostics.scheduling.impl.QuartzThreadPool$WorkerThread.run(SourceFile:788)
    '

    1. Anonymous (login to see details)

      Hi Hermod,

      Please provide the full FINER plugin log. Let me know plugin version and OS which plugin is running on.

      Eugene.

       

      1. Anonymous (login to see details)

        Hi

        I have sent you the the log (Not able to attach it here)

         

        Hermod

        1. Anonymous (login to see details)

          Thanks. I have received it.

          Eugene.

        2. Anonymous (login to see details)

          Hi Hermod,

          I've just fixed the java.lang.NullPointerException issue from the original plugin's code. Please use the latest version 0.9.1.8 of the plugin. Let me know if you have any problems.

           Eugene.

          1. Anonymous (login to see details)

             

            Hi

            The Nullpointer exception is now gone. Thanks.

            Hermod

    2. Anonymous (login to see details)

      Hi Hermod,

      We saw similar log messages in our configurations.  It turned out the AMQ.* Queues were temporary queues which no longer existed when the plugin was trying to poll for their performance metrics.

      We were able to remove most of these by limiting our Queue Name Filters to include only those queues which started with a specific string (e.g. XYZ*), thereby no longer polling for the AMQ queues.

       

      On a side note - an enhancement request would be to be able to not only include by pattern but exclude as well.

      1. Anonymous (login to see details)

        Hi Markie,

        The version 0.9.1.8 of the plugin fixes the java.lang.NullPointerException bug from the original plugin code (see this post above). Please use it and let me know if you have any issues. Plugin will process temporary queues gracefully instead of throwing the java.lang.NullPointerException.

        In terms of the extending filtering capabilities for the queues: we have one customer who is asking for this enhancement. Do you need this feature as well? Please let me know.

        Please note that similar enhancement for the extended filtering capabilities of channels was added to the plugin in version 0.9.1.4 in April, 2014. 

        Eugene.

        1. Anonymous (login to see details)

          Hi Eugene,

          Our issue is not nessecarily the NullPointerExceptions but the fact the MQ team is seeing warning in the Dead Letter Queue because we are trying to access the temporary queues which no longer exist.  Does the new version (0.9.1.8) help with this?

          1. Anonymous (login to see details)

            Hi Markie,

            Could you please provide more details? Could you post warning messages from the dead letter queue?

            Eugene.

            1. Anonymous (login to see details)

              Hi Eugene,

              They are seeing messages going to the dead letter queue with a destination of AMQ*.  They have another tool watching the dead letter queue that sends an alert every time a message hits the dead letter queue.


              1. Anonymous (login to see details)

                Hi Markie,

                Could you please check if your customer needs to get statistics that plugin is gathering from the temporary queues, e.g. AMQ*?

                Eugene.

                1. Anonymous (login to see details)

                  Hi Eugene,

                  No we do not want or need the temporary queue statistics.  We have filtered on another queue prefix, as stated above, but that appears to only filter after we have tried to pull the metrics.

                  1. Anonymous (login to see details)

                    Hi Markie,

                    About filtering on another queue prefix, i.e. "...but that appears to only filter after we have tried to pull the metrics". No, this should not be the case. If you use filter to monitor only certain queues, only queues which satisfy this filter criteria should be affected by the plugin. Please let me know if you see otherwise. I'll setup webex to work with you.

                    Eugene.

                    1. Anonymous (login to see details)

                      Hi Eugene,

                      Yes we have set the filter but they are still seeing the messages above in the Dead Letter Queue for the temporary queues.

                      Current version: 9.1.3

                      Upgrading to 9.1.8 this weekend

                      1. Anonymous (login to see details)

                        Hi Markie,

                        Logic related to filtering queues hasn't been changed in the plugin. Please monitor this issue and let me know if you see anomaly.

                        Eugene.

  30. Anonymous (login to see details)

    Hi,

    I am using the latest version of the plugin to monitor an MQ 7 queue manager. I am getting correct queue depths etc. (i.e. the measures that are numeric, like counts and lengths), but when it comes to message ages and times spent in the queue, the value -1 is returned all the time. Does anyone know why this is, and what the -1 signifies?

    Thanks,

    Derick

  31. Anonymous (login to see details)

    Derick

    I would like to setup a webex to look at the data in your environment and diagnose this issue. 

    1. Anonymous (login to see details)

      Was there a resolution for this? I also see the -1 value returned on all time based measures.

      1. Anonymous (login to see details)

        Gabe

        I think I know what the reason for -1 is. I am going to make a special build of the plugin to pinpoint the main cause. I don't have MQ running in my environment. Would it be okay if I send the special build to you and get some data back from you?

        1. Anonymous (login to see details)

          Yes that would be great, I would be happy to test it out for you.

        2. Anonymous (login to see details)

          Hi Asad,

          Was this issue understood and resolved? Please let me know if you need any help with resolving it.

          Eugene.

        3. Anonymous (login to see details)

          Hi Asad,

          Did you manage to resolve the issue? I am still seeing the -1 values with version 0.9.1.8.

          Regards,

          Derick

           

          1. Anonymous (login to see details)

            Derick,

            Do you have time for a webex today or tomorrow for me to test my changes?

            1. Anonymous (login to see details)

              Hi Asad,

              It's a bit late today (we're in the GMT+2 time zone), but I could test it for you tomorrow, as I'll be at the client. It's a bank, so security procedures make it tedious to organize a Webex at short notice. If you send me an updated plugin version, I can verify the output for you.

              Thanks,

              Derick

      2. Anonymous (login to see details)

        Gabe,

        I just updated the plugin (0.9.1.10) that fixes the -1 value for INT_LAST_GET and INT_LAST_PUT. Please see the additional note that I have added to enable real time monitoring of the queues.

  32. Anonymous (login to see details)

    Looking to upgrade to the latest version form 9.1.5. What is the appropriate method to do so? I don't want to lose any of the data or dashboards I have setup. Thanks1

    1. Anonymous (login to see details)

      Hi Gabe,

      The latest version of the plugin is 0.9.1.8. It is backward compatible with previous plugin versions.

       Eugene.

  33. Anonymous (login to see details)

    I am successfully monitoring a handful of Linux queue managers with the plugin, but when I try to check a zOS queue manager I get the following error - followed by the error description.

    getQueueProperties method: com.ibm.mq.headers.pcf.PCFException exception occured. Reason Code = 3015; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '3015'.'; Stacktrace is 'com.ibm.mq.headers.pcf.PCFException: MQJE001: Completion Code '2', Reason '3015'.
    at com.ibm.mq.headers.pcf.PCFMessage.getStringParameterValue(PCFMessage.java:732)
    at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProperties(MQQueueChannelMonitorUpdated.java:1237)
    at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProp(MQQueueChannelMo

    XXXXXXXXXXXXXXXXX

    3015 (0BC7) (RC3015): MQRCCF_CFST_PARM_ID_ERROR

    Explanation
    Parameter identifier is not valid.

    The MQCFST Parameter field value was not valid.

    Programmer response
    Specify a valid parameter identifier.

    1. Anonymous (login to see details)

      Hi Mike,

      Could you please provide the following information:

      • The IBM MQ Queue Channel plugin version;
      • The IBM MQ version.

      Please set log level of the plugin to "FINER", reproduce the error and send me log file. My e-mail is eugene.turetsky@dynatrace.com  Also send the IBM MQ error log.

       Eugene.

      1. Anonymous (login to see details)

        MQ on the mainframe is 7.0.1 on distributed it is 7.0.1.7

        Plugin version is 0.9.1.5

         

        I’m waiting on my Dynatrace admin for access to change the logging level on the plugin and will provide the log file as soon as I can.  I’m not sure if he is off for the Holidays or not.

        1. Anonymous (login to see details)

          Hi Mike,

          Could you please upgrade the IBM MQ Queue Channel plugin version to its latest version 0.9.1.8 before providing log files?

          Eugene. 

          1. Anonymous (login to see details)

            Eugene, 

             

            We finally got the newer plugin applied and that seems to have fixed the problem for us.

             

            Thanks.

  34. Anonymous (login to see details)

    Hi,

     

    Is there a way to get ENQUEUE rate (messages per min or sec) and DEQUEUE rate for the Queues?

     

    Rajesh

  35. Anonymous (login to see details)

    Rajesh,

    The plugin does not provide the rate. However, you can create a new rate measure in dynaTrace that would divide the enqueue/dequeue count by the frequency of the plugin execution to give you the rate.

  36. Anonymous (login to see details)

    Hi Asad,

    Could you please take step by step, i do not see any rate measure under the 'System Monitoring' category, it appears in 'User Experience'.

    I appreciate your prompt response.

    Thanks,

    Rajesh

  37. Anonymous (login to see details)

    Rajesh,

    To get the rate calculation done, edit your system profile. Then go to Measures. Under Measures, click on the "Create Measures" button. You will see a pop up window with list of all measures. Search for "rate" by clicking "Ctrl-F" as shown in the attached screenshot. You will see a measure called Calcualtion->Rate. Using this measure to create the percentage. This measure divides any 2 measures to come up with a new % measure.

  38. Anonymous (login to see details)

    Hi Asad,

     

    Thanks for your support. I understand the process to create a new measure, i would like to understand dividing what 2 measures will get me ENQUEUE rate, and DEQUEUE rate?

    Note : I see only ENQUEUE_COUNT, and DEQUEUE_COUNT are the measures, and not sure to divide with which measure, kindly help.

    Thanks for your help.

    1. Anonymous (login to see details)

      Rajesh

      I do understand your dilemma. Basically, you need a number in the denominator that represents the frequency of the plugin run value. Out of the box, there is nothing that would give you this denominator. However, I have written a plugin that would give you any number that you want to use as denominator. If you decide to use this plugin, you would use the ENQUEUE_COUNT as the numerator and the value from the new plugin as the denominator. In your case, this denominator would be the frequency that you run the MQ plugin.

      Let me know if this makes sense or not. If it does, I would be happy to send you the second plugin.

      1. Anonymous (login to see details)

        Asad and Rajesh,

        I'd like to suggest that we add ENQUEUE and DEQUEUE rates to the IBM MQ Queue Channel Monitoring plugin list of available metrics. This will provide needed metrics and prevent us from having a one off plugin. It is trivial to add these two new metrics to the plugin as well as more rates (see below).

        @Asad: there is no need to use a denominator in the plugin. Rates will be calculated by the plugin internally based on gathered data points.

        @Rajesh: please let me know when do you need to use these new metrics. Besides ENQUEUE and DEQUEUE metrics we can add rates to other existing plugin metrics. 

        Eugene.

  39. Anonymous (login to see details)

    Thanks Asad and Eugene.

    I need to use this ASAP. If you could get me the updated MQ plugin, it would be great!! I am also okay to have a separate plugin to custom define the denominator from the new plugin.

     

    I appreciate your response, and effort to help me out.

     

    Regards,

    Rajesh

    1. Anonymous (login to see details)

      Hi Rajesh,

      Separate plugin with the denominator will not work because you cannot guarantee that plugin's measures will be taken at equal intervals.

      I'm busy now but will make changes over the weekend. It will be ready on Sunday night.

      Eugene.

  40. Anonymous (login to see details)

    Thanks a lot Eugene for your support.

    1. Anonymous (login to see details)

      Hi Rajesh,

      Here is a link to the release candidate IBM MQ Queue Channel Monitoring plugin version 0.9.1.9. It has two new metrics and one new configuration parameter. New metrics are: ENQUEUE_RATE and DEQUEUE_RATE. New configuration parameter is "Rate". It has one of the following values:

      • per_millisecond;
      • per_second;
      • per_minute;
      • per_hour.

      The following screenshot depicts use of the Rate configuration parameter. Please let me know if you have any issues with new version of the plugin.

      Eugene.

  41. Anonymous (login to see details)

    Thanks Eugene and Mike.

    Will download and install the plugin, will let you know, if i have any issue.

    Rajesh

  42. Anonymous (login to see details)

    What is the appropriate method to upgrade the current plugin I have? I installed the new one on my test environment and none of my existing monitors are using the new plugin.

  43. Anonymous (login to see details)

    Gabe,

    The upgrade is very simple. Download the new version and drop it in the dynaTrace server like you would do for a new installation.

  44. Anonymous (login to see details)

    Thanks Asad, I see how it works now. Quick question since it seems everyone is active: for the message time and ages. Example to use would be Last MSG Time, the unit is number. What is that really showing? Seconds?

    1. Anonymous (login to see details)

      Hi Gabe,

      Please see release history notes for the 2014-03-07 update. Items 4 and 5 have format for the LAST_MSG_DATE and LAST_MSG_TIME fields. Please let me know if you have further questions.

      Eugene. 

  45. Anonymous (login to see details)

    They are showing the data in milliseconds.

    1. Anonymous (login to see details)

      Hi Asad,

      I've just replied on Gabe's post above: the  LAST_MSG_DATE and LAST_MSG_TIME fields are not showing data in milliseconds.

      Eugene.

  46. Anonymous (login to see details)

    ok. well from a previous post there was issues with the -1 metric always showing up. Even with the new version installed I still don't think my data is correct. Could we talk outside of the forum and maybe you can help me get this sorted?

  47. Anonymous (login to see details)

    Hi Eugene,

    Have an issue in the ENQUEUE_RATE, trying to migrate MQ Monitoring to dynaTrace, it is not showing the accurate rate, other tool shows ENQUEUE_RATE in around 1000, but dynaTrace shows around 400. Could you please check this for me?

     

    Thanks,

    1. Anonymous (login to see details)

      Hi Rajesh,

      Sure. Please setup plugin's log level to FINER and send me output. Please zip log file before sending. You can e-mail me log file at eugene.turetsky@dynatrace.com.

       Eugene. 

  48. Anonymous (login to see details)

    Hi Eugene,

    Sorry for delayed response. We were in process of upgrading the environments to 6.1, and its done now.

    I have shared the log files. 

     

    Thanks for your help.

    1. Anonymous (login to see details)

      Hi Rajesh,

      I've received log files. Let me look into them. I'll come back to you.

       Eugene.

  49. Anonymous (login to see details)

    Hi Eugene / Asad,

     

    I have configured 2 monitors, one is a generic monitor without any filter for queue and the other for a specific queue. When I chart the Enqueue and Dequeue rates for the queue from both the monitors, they are not even closer. How do I know which is the correct rate?

     

    Just an FYI, both monitors use the same Channel name and runs at exactly the same time stamp.

    I am not able to attach image here, to show the trend, Asad, please provide the previlege to attach the screenshot of the chart.

     

    Thanks,

    Sandeep.

    1. Anonymous (login to see details)

      Hi Sandeep,

      In order to get enqueue and dequeue values as well as their rates plugin is executing Reset Queue Statistics command. When you are running two monitors concurrently, the reset command is executing on both instances and hence giving you rate that is happening since last reset.

      I'd like to suggest that you run just one instance of the plugin against given queue, get enqueue and dequeue values and calculate their rates manually and compare them with rates that are calculated by the plugin. Please use time since last reset in the rate calculation. Let me know if you have issues.

      Eugene.

       

       

      1. Anonymous (login to see details)

        Thanks Eugene!

  50. Anonymous (login to see details)

    I have another question, I see a field 'Queue Name Filter (optional)' where I can give a specific queue name for which i want to get statistics for. The hint  for this field says 'Filter string that will allow you to see data for a particular set of queues only. This will help in reducing the memory requirement on the collector', can i get statistics for set of queues using this filter? If so, how do I specify the string? I tried separating the queue names with a pipe, semi colon and a comma, which didn't work. Please suggest.

     

    Thanks,

    Sandeep.

     

     

    1. Anonymous (login to see details)

      Hi Sandeep,

      The Queue Name Filter allows you to filter queues which have common pattern with an asterisk at the end, e.g. ABC*. Since version 0.9.1.4, plugin allows to use multiple semicolon separated filters for channel names. There are posts on this page related to use of multiple filters for queues, e.g. see this post. Let me know if you would like to extend plugin's filtering capabilities of queues.

      Eugene.     

      1. Anonymous (login to see details)

        Yes Eugene, It will be very useful if you can extend the plugin's filtering capabilities to queues as well.

        Our requirement is creating incidents when the threshold exceeds for CURRENT_Q_DEPTH. But, the challenge we have is different thresholds for different queues. If we just run a single monitor for the Queue Manager without a filter on queue name, even though i get statistics for all the queues, I wont be able to create incidents for CURRENT_Q_DEPTH with different thresholds for different queues. So, we want to run different monitors for different set of queues which may not have a common pattern.

         

        Please let me know if an enhancement can be done either to give different thresholds for different queues using a single monitor for queue manager or to give multiple queue names in the queue filters.

         

        Thanks,

        Sandeep.

        1. Anonymous (login to see details)

          Hi Sandeep,

          We can enhance plugin and allow to setup different thresholds for different queues with a single instance of the plugin. You will not need to run multiple instances of the plugin in order to do it. I will enhance plugin and publish its new version sometime next week.

          Eugene.

          1. Anonymous (login to see details)

            Thanks Eugene! cant wait to see the new version.

            1. Anonymous (login to see details)

              Hi Eugene,

              Did you get a chance to enhance the plugin with this feature? It would be great if you can help us here!

               

              Thanks,

              Sandeep.

              1. Anonymous (login to see details)

                Hi Sandeep,

                This request is in my queue. I'll update this thread when it will be completed.

                Eugene.

                1. Anonymous (login to see details)

                  Eugene,

                  Any update on this topic?

                  Regards,

                  Melory

                   

                  1. Anonymous (login to see details)

                    Hi Melory,

                    Unfortunately this request is still in my queue with low priority. No work has been done here.

                    Eugene. 

                    1. Anonymous (login to see details)

                      We are VERY interested in this enhancement as well. We have many queues per queue manager, and they all have different thresholds we'd like to create incidents for, individually per queue.

                      I hope something comes of this (smile)

                    2. Anonymous (login to see details)

                      Hi Eugene,

                      Just wanted to bump this up again...  

                      Creating separate thresholds for each measire would provide a significant improvement in administration and functionality of this plugin - which is already a great plugin.  

                      For now we use the queue name filter and only return data from one queue per QMgr/monitor.

                      Example: we have to monitor one queue manager with many queues that each need different thresholds for alerts/incidents, so we use the queue name filter so it only returns data from one queue, allowing us to create thresholds on a queue-by-queue basis.

                      However, if I enable the "Run Reset Command" checkbox, will the monitors interfere with each other as they all try to run reset command?  Or will they only run the reset command for the data they are returning, and leave the queue statistics information for the other queues alone?

                      Thanks as always in advance for your reply!

                      Joel B

  51. Anonymous (login to see details)

    Does this plugin work with ActiveMQ?

  52. Anonymous (login to see details)

    Shaun

    This plugin only works with IBM MQ.

  53. Anonymous (login to see details)

    Upgraded to latest version 0.9.1.10 but i still got the null pointer problem.Any idea?

    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] execute method: collectQueueInfo value is 'true'
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] execute method: before calling getQueueProp method
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] Entering getQueueProp method
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] getQueueProp method: before setting allQueueProperties
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] Entering getQueueProperties method
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] getQueueProperties method: pcfCmd is MQConstants.MQCMD_INQUIRE_Q_STATUS, responses = 88
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] getQueueProperties method: pcfCmd command: QName of the response is 'AHS.RCTS.DG                                     ', response # 0, reasone code 0, parameters count 3
    2015-03-11 14:04:47 SEVERE [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] getQueueProperties method: com.ibm.mq.headers.pcf.PCFException exception occured. Reason Code = 3014; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '3014'.'; Stacktrace is 'com.ibm.mq.headers.pcf.PCFException: MQJE001: Completion Code '2', Reason '3014'.
        at com.ibm.mq.headers.pcf.PCFMessage.getIntParameterValue(PCFMessage.java:438)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProperties(MQQueueChannelMonitorUpdated.java:1304)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProp(MQQueueChannelMonitorUpdated.java:1078)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.execute(MQQueueChannelMonitorUpdated.java:461)
        at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:565)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:51)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:189)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:412)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:336)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)
        at com.dynatrace.diagnostics.scheduling.impl.QuartzJob.execute(SourceFile:45)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at com.dynatrace.diagnostics.scheduling.impl.QuartzThreadPool$WorkerThread.run(SourceFile:788)
    '
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] getQueueProperties method: pcfResetCmd command is MQConstants.MQCMD_RESET_Q_STATS, responses = 88
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] getQueueProperties method: pcfResetCmd command: QName of the resetResponse is 'ACS.MH.MVTREQUEST                               ', response # 0, reasone code 0, parameters count 5
    2015-03-11 14:04:47 SEVERE [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] java.lang.NullPointerException exception occurred. Message = 'null'; Stacktrace is 'java.lang.NullPointerException
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProperties(MQQueueChannelMonitorUpdated.java:1369)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.getQueueProp(MQQueueChannelMonitorUpdated.java:1078)
        at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.execute(MQQueueChannelMonitorUpdated.java:461)
        at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:565)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:51)
        at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:189)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:412)
        at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:336)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)
        at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)
        at com.dynatrace.diagnostics.scheduling.impl.QuartzJob.execute(SourceFile:45)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at com.dynatrace.diagnostics.scheduling.impl.QuartzThreadPool$WorkerThread.run(SourceFile:788)
    '
    2015-03-11 14:04:47 FINER [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor LIVE_0] Entering disconnect method

    1. Anonymous (login to see details)

      Hi Chris,

      Let me look into this issue. I'll comeback to you.

      Eugene.

  54. Anonymous (login to see details)

    Hi,

    Does any one have a dashboard to share with important metrics of this plugin?

    Thank you,

    Melory

  55. Anonymous (login to see details)

    Hi

    We are using the MQ plug in and its working fine.  I have been asked to create incidents based on total thresholds against total channel connections and connections per channel

    The total connections is easy enough and working fne. I am just drawing a blank with regards to creating  an incident on a selected group of channels

    What I need to do is alert on connections 

    Channel 1 warn 190, Severe 200

    Cannel 2 warn 50 Severe 60

    and so on

    Can I get a bit of a prod in the right direction to get this working?

    Thanks

     

    1. Anonymous (login to see details)

      Jason,

      To set different severity levels for different channels, you have to run this plugin multiple times (one for each channel).By default, you can only set one severity value for all the channels and queues.

  56. Anonymous (login to see details)

    Hi,

    I have imported the latest plugin 0.9.1.11.jar and configured it to one of our Queue Managers. I am getting the data for the Queue Manager and the Queue. But I want to see the stats for more than one Queue and I used a pattern ESB* to pull the data for them. What is that I have to do to see the CURRENT_Q_DEPTH separately for all of them? Right now I see the average of all in my chart.

    Please help.

    Thanks,
    Madhu

     

    1. Anonymous (login to see details)

      Madhu,

      The plugin brings data including CURRENT_Q_DEPTH for each queue separately. Maybe you  are plotting the data for all queues together. Using the measures picker screen, you can plot or chart the CURRET_Q_DEPTH for individual queues by choosing split by queue name.

      1. Anonymous (login to see details)

        Thank you Asad for the response.

        . I tried splitting the chart by Queue name. But still I am not getting the separate chart for individual Queues.

        I am capturing the measures for every 1 min and in the Chart, I am trying to get the Aggregation:Average for CURRENT_Q_DEPTH.

        When I do this I am getting the average count for the two Queues I have listed in the Monitor.

        Please help.

        1. Anonymous (login to see details)

          Hi,

          I am able to do the split by Queue name in my chart. Earlier I was trying that in some other chart type and the option was not available,

          Now my question is, Is it okay to run multiple instances of the plugin to monitor the Queues. Because we don't have the same name pattern for all the queues. Also, we would like to setup different thresholds for different Queues.

          Please advise.

           

          1. Anonymous (login to see details)

            Hi Madhu,

            While it is possible to use multiple instances of the plugin, it is preferable to use its single instance or as less instances as possible. In terms of thresholds - we are adding a way to maintain multiple thresholds for queues that you don't need to create multiple instances of the plugin. I'm running a little bit behind but request which is discussed in this post is in my queue.

            Eugene. 

            1. Anonymous (login to see details)

              One other problem I see is, when we create the Incident rule to alert based on the current_q_depth threshold it is not giving us the Queue name in the alert email. But the Incident has the Queue and host details. What is that I need to do to get the Queue name also in the email alert? This is required because the monitor is configured for multiple Queues and email doesn't tell anything about the Queue. We need to go to Incidents dashboard to see the details.

              Please help.

              Thanks,
              Madhu 

               

               

              1. Anonymous (login to see details)

                Hi Madhu,

                The Extended Mail Action plugin gives you ability to use dynamic measures in the notification e-mails. When incident is triggered you will know which dynamic measure triggered it, i.e. the ${VIOLATED_MEASURE_SPLITTINGS} will have a dynamic measure name and ${VIOLATED_MEASURE_VALUE} will have its value. 

                Please let me know if you have any further issues.

                Eugene. 

                1. Anonymous (login to see details)

                  Thank you Eugene. That helps.

                  It looks like that extended email plugin is sending separate emails for each Queue threshold violation. Is there a way to get a consolidated email for all the violations for each Monitor run? We scheduled the monitor to run for every hour and expecting the consolidated email for the violations. I looked at the options for the plugin but could not figure out. Please help.

                  Since this question being on Extended Email plugin it should go to the other thread.  But I thought it would be better if we continue the conversation here.

                  Thanks,
                  Madhu

                   

                   

                   

                  1. Anonymous (login to see details)

                    Hi Madhu,

                    The Extended Mail Action plugin sends notification e-mail for each incident triggered by the Dynatrace Engine. We haven't combined different incidents in one notification e-mail because then it will be much harder to use maintained 150+ runtime variables which are related to each incident. An incident, however, can have multiple violations. In such case only one notification e-mail will be sent. The body of this e-mail will contain list of incident's violations. One way of creating such incident rule is to have different measures combined with the OR operator in the Logic column in the Conditions tab of the incident rule. Each measure in the Conditions tab may have its own thresholds. When incident for given incident rule is triggered, the notification e-mail will have in the body of the e-mail a list of all measures which violated their thresholds. Regular (non-dynamic) measures should be used to implement this approach. Hence you need to wait until request discussed in this post will be implemented and then start using described here approach.

                    Eugene.

                    1. Anonymous (login to see details)

                      Hi Eugene,

                      Do you have any update for us on the separate thresholds for each Queue option. I believe you mentioned that as Work in Progress in the past. Just want to touch base on that.

                      We currently have a requirement where we have to setup separate thresholds for 20-30 Queues. To achieve that with current setup we have to run that many monitors I believe. Please let me know if you have any suggestions for us.

                       

                      Thanks,
                      Madhu

                      1. Anonymous (login to see details)

                        Hi Madhu,

                        Unfortunately we never had a chance to enhance this plugin to allow setting up individual threshold for queues. This request was always a low priority request for us. However now, we can proceed to implement it. How soon do you need this feature to be implemented?

                        Eugene.

      2. Anonymous (login to see details)

        Hello Asad/Eugene,

        Can you tell me where should we configure the "Select Measure Splitting" options? Currently we have the options like Monitor, Host, Queue Name etc. How can we add new option here? something like "Channel Name". Please let me know.

        Thanks,
        Madhu 

         

        1. Anonymous (login to see details)

          Hi Madhu,

          Could you please clarify your question? What are you looking for and what are you trying to accomplish? In terms of the "Channel Name" splitting value: it is already exists and used by the plugin. Please see attached screenshot here which depicts use of the "Channel Name" splitting value.

          Eugene.

          1. Anonymous (login to see details)

            Hell Eugene,

            Actually, we are trying to achieve this for a different plugin which is similar to this. Here, under Queue Group we are seeing the option "Split by Queue Name" and for measures under Channel Group we are seeing the option "Split by Channel". We want to know how and where we need to configure these "Metric splitting" groups? We are trying to configure split by URL Path for a different plugin. 

            Please let me know.

            Thanks,
            Madhu 

             

            1. Anonymous (login to see details)

              Hi Madhu,

              Availability of splitting values in the plugins is not a configuration option but rather way plugin was written. For example, the IBM MQ Queue Channel Monitoring plugin is using dynamic measures which in turn are using splitting values. For given measure a splitting value exists only when this measure is dynamic. For dynamic measures splitting value is shown in the Select Measure Splitting box in the Measure Picker configuration screen. Dynatrace engine recognizes existence of dynamic measures internally and, hence, no action on your side are needed.

              Please let me know if you have any further questions.

              Eugene.

               

  57. Anonymous (login to see details)

    Does anyone have any experience/knowledge if this plugin will work with the new MQ8 appliance?

     

    1. Anonymous (login to see details)

      John,

      I have not tried on MQ8 yet but my guess is that most probably it would work. If it does not work, please send us the log files.

  58. Anonymous (login to see details)

    Hi,

    Is it possible to perform an MQ command as an actions of an alert?

    Regards


     

    1. Anonymous (login to see details)

      Yes, you can use our Generic Execution Plugin to execute MQ commands on an alert. The Generic Execution Plugin can execute any command on any machine. You can download the plugin here:

      Generic Execution Plugin

  59. Anonymous (login to see details)

    Hi,

    I have a customer who could not use the plugin as their chosen cipher was not available in the configuration.  See screenshot:

    Thanks,

    Rick B

    CC: Richard Shonk

    1. Anonymous (login to see details)

      Hi Rick,

      Please choose the "RC4_SHA_US" Cipher Spec in the plugin's SSL Cipher drop down list box. It is equivalent to the "SSL_RSA_WITH_RC4_128_SHA" Cipher Suite. Full list of the supported by the plugin Cipher Specs and their equivalent Cipher Suites is depicted in the following table.

      Please let me know if there are any further questions.

      Eugene. 

  60. Anonymous (login to see details)

    Hi Eugene ,

      It is related to same issue on Cipher spec which was opened by Rick before .

      We are getting another issue related to cipher code , once we updated our cipher code to  SSL_RSA_WITH_AES_128_CBC_SHA .

      Can you please check what this exception is trying to tell :

    Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2393;AMQ9204: Connection to host 'srvatlmq03v.mscpla.local(3414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2393;AMQ9771: SSL handshake failed. [1=java.lang.IllegalArgumentException[Unsupported ciphersuite SSL_RSA_WITH_AES_128_CBC_SHA],3=srvatlmq03v.mscpla.local/172.19.4.105:3414 (srvatlmq03v.mscpla.local),4=SSLSocket.createSocket,5=default]],3=srvatlmq03v.mscpla.local(3414),5=RemoteTCPConnection.makeSocketSecure]

    Looks like the MQ Monitor plugin is not supporting our cipher code. Can you please suggest any solution ?

    Thanks

    Shailesh Verma

    1. Anonymous (login to see details)

      Hi Shailesh,

      Please choose the "TLS_RSA_WITH_AES_128_CBC_SHA" Cipher Spec which maps into the "SSL_RSA_WITH_AES_128_CBC_SHA" JSSE Cipher Suite. Please see the following table for the full list of available mappings between Cipher Specs and their equivalent JSSE Cipher Suites for the IBM MQ 7.5.x. Please note that in this post the mapping table between Cipher Specs and JSSE Cipher Suites corresponds to the IBM MQ 7.1.x.

      Please let me know if there are any further questions.

      Eugene.

  61. Anonymous (login to see details)

    Hi Eugene  ,

    We are using the same cipher you mentioned above in the dynatrace client settings - "TLS_RSA_WITH_AES_128_CBC_SHA" .

    2015-05-13 15:54:02 SEVERE [MQQueueChannelMonitorUpdated@MQ Queue Channel Monitor_0] setup method: com.ibm.mq.MQException exception occured. Reason Code = 2393; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2393'.'; Stacktrace is 'com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2393'.

    Not sure what to try now .

    Thanks

    Shailesh Verma

     

  62. Anonymous (login to see details)

    Hi Shailesh,

    Please recycle the queue manager to refresh the WMQ security information or use the following runmqsc command to refresh SSL: Refresh Security type(ssl). Please see this link for details. If these steps will not mitigate the problem, please e-mail me at eugene.turetsky@dynatrace.com full stacktrace of the exception or the WebSphere MQ plugin log file (preferable) as well as error logs from the following directories:

    1. <WMQ-installation-directory>/qmgrs/<qmgr-name>/errors/AMQERR01.LOG
    2. <WMQ-installation-directory>/errors/AMQERR01.LOG
    3. <WMQ-installation-directory>/errors/*.FDC

    Eugene. 

  63. Anonymous (login to see details)

    Hi Eugene,

    I'm using Dynatrace 6.1 on Linux with MQ Channel Monitoring Plugin 0.9.1.12 and trying to determine which MQ OAM authorizations to provide for the plugin to connect to and use the target queue managers (running MQ 7.0.1.9 on qmgr side) to collect MQ metrics. Our "managed services" do not normally permit MQ Admin authority for connections to our queue managers, so we are trying to implement a "restricted user" (which is not in the mqm group) with the necessary minimum OAM authorizations to use the features of the Dynatrace MQ Channel Monitoring Plug-in.

    When the dyntrace monitor runs to collect the MQ metrics from the queue manager, we're getting all metrics for application queues and system queues, except for queues which do not have an explicit authorization defined, but should be able to gather stats with the generic authorization "-n **". (see example error msg below):

    14:02:28.469049 32113.14 : Entity dtrestrict has insufficient authority to access object MONAPP.RESPONSE

    14:02:28.480660 32113.14 : The following requested permissions are unauthorized: chg

    Thus far, we have the following authorities defined, aside from the connect authority, the command queue authority, etc.

    setmqaut -m ${QM_NAME} -n DYNATRACE.MODEL.QUEUE -t queue -g ${dtrestrict} -all +dsp +get

    setmqaut -m ${QM_NAME} -n "**" -t queue -g ${dtresrict} -all +inq +dsp

    setmqaut -m ${QM_NAME} -n "*" -t queue -g ${dtresrict} -all +inq +dsp

    I'm puzzled as to why, without an explicit OAM authorization for the MONAPP.RESPONSE (local queue), that the insufficient authorization error indicates the Plugin needs "+chg" authority. The monitor finishes its metric collection with an "incomplete" status, and produces a MQRC=2035 error.

    We wish to avoid granting full MQAdmin authority to the userid specified on the monitor config. Can you provide a solution or guidance on how to accomplish that? Your help would be much appreciated.

    Regards,

    Tom Morice

    1. Anonymous (login to see details)

      Eugene,

      After more testing, this set of permissions seems to allow a "restricted" user group (not part of mqm group) to be used with the MQ plugin monitors:

      setmqaut -m ${QM_NAME} -t qmgr -g ${DYNTRC_GROUP} -all +connect +inq +dsp

      setmqaut -m ${QM_NAME} -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g ${DYNTRC_GROUP} -all +inq +dsp +put +chg

      setmqaut -m ${QM_NAME} -n DYNATRACE.MODEL.QUEUE -t queue -g ${DYNTRC_GROUP} -all +dsp +get

      setmqaut -m ${QM_NAME} -n "**" -t queue -g ${DYNTRC_GROUP} ${AUTH_ALLQ} -all +dsp +inq +chg

      echo 'refresh security' | runmqsc ${QM_NAME}

      Let us know if you see any issues with this configuration that may preclude from using the full features of the MQ plugin  (com.dynatrace.plugin.MQQueueChannelMonitorUpdated_0.9.1.12.jar).

      Regards,

      Tom Morice

      1. Anonymous (login to see details)

        Hi Tom,

        Please see my previous post.

        Eugene.

    2. Anonymous (login to see details)

      Hi Tom,

      Sorry for the late reply. I was very busy this week. You can use a restricted user or a restricted group. Please see example here of the authorities which you need to setup for a restricted group in order for the plugin to be executed successfully. In my example, queue manager has name TEST_QMGR2, a restricted user is testMqm from a testGroup. My environment was Windows with WMQ v. 7.5.0.2.

      Please note that you need "+chg" authority for a monitoring queue to be able to execute the MQConstants.MQCMD_RESET_Q_STATS command in order to get the following queue metrics:

      • MQConstants.MQIA_HIGH_Q_DEPTH;
      • MQConstants.MQIA_MSG_ENQ_COUNT;
      • MQConstants.MQIA_MSG_DEQ_COUNT;
      • MQConstants.MQIA_TIME_SINCE_RESET.

      If you setup a filter for queues then you will need  to add "+chg" authority only for the queues that match this filter. Please also note that because you are running WMQ version 7.0.1.9 you may need to look into this APAR for assigning authorities to a restricted user for system queues. I'm also attaching a screenshot with the plugin configuration parameters here that you can refer to.

      Please let me know if you have any further questions. You can e-mail me at eugene.turetsky@dynatrace.com.

      Eugene.

  64. Anonymous (login to see details)

    Hi Eugene,

    Thanks very much for the response to my questions. It was very helpful to know the "administrative scope" of a userid for the plugin can be restricted.

    A few other questions have come up with our team here.

    1. Can Dynatrace be configured to perform "MQ administration" commands such as, DELETE <object>, ALTER <object>, DEFINE <object>, or control the operation of queue managers, listeners, channels, queues, services (such as start, stop, reset)? Are these capabilities possible in the MQ Plug-In? Or would other plugins be required, such as the Generic Execution Plugin, or others?
    2. Can the Dynatrace MQ Plugin, or other plugin, be configured to browse, get, put messages on queues (application queues, SYSTEM.* queues, etc.)?
    3. Are any of the above capabilities planned for future version/release of fix updates of the MQ plugin or other plugin related to MQ environments?
    4. What impact would "RESET QUEUE STATS" have on other vendor MQ monitoring systems? It seems it would affect their realtime monitoring and trending, as well.

    Any help you can offer in answering these questions, is greatly appreciated.

    Thanks so much,

    Tom Morice

    1. Anonymous (login to see details)

      Hi Tom,

      Below please find answers on your questions:

      1. Yes, you can configure Dynatrace task(s) which will perform MQ administration functions. Some of our customers are using shell scripts to perform MQ administration through the Generic Execution plugin task(s). For example, such shell scripts can accept 'operation(s)', 'object(s)', etc. as a parameters. Values of these parameters can be entered manually for the task before its local or remote execution by the Generic Execution plugin. These capabilities are truly Dynatrace tasks and they are exist in the Generic Execution plugin. We can customize the MQ plugin and add functionality you are looking for under the one umbrella. It will be a custom request.
      2. Yes, it can be done easily by local or remote execution of custom scripts.
      3. Such enhancements can be done per customers requests.
      4. It is by IBM MQ design that you need to execute the "RESET QUEUE STATS" command in order to get values of other MQ commands (see my post above here). Any tool which gathers measures like MQIA_HIGH_Q_DEPTH, MQIA_MSG_ENQ_COUNT, etc. has to execute the "RESET QUEUE STATS" command. Again, this is by IBM team design. It could affect other MQ monitoring systems especially if they are not using the MQIA_TIME_SINCE_RESET measure. To be more friendly with customer's environments, we are thinking to add an allow/disallow indicator for the reset command. We have one customer who is already using this indicator. It is requires just a cosmetic change to the plugin.

      Please let me know if you have any further questions.

      Eugene. 

  65. Anonymous (login to see details)

    Is there a metric for % full for the queue depth? I see it has CURRENT_Q_DEPTH and MAX_Q_DEPTH, but I don't see anything for % full. I thought I could use the Rate measure, but I can't with the dynamic measures.

    1. Anonymous (login to see details)

      Hi Shaun,

      There is no rate measures derived from the CURRENT_Q_DEPTH and MAX_Q_DEPTH measures. This would be a custom request. Please contact me directly to provide details.

      Eugene.

  66. Anonymous (login to see details)

    Eugene,

    Will the plugin pull MQ metrics without installing an agent?

     

    1. Anonymous (login to see details)

      Tan

      It will pull information without an agent. You would need to run this plugin on a particular collector.

    2. Anonymous (login to see details)

      Hi Tan,

      Yes, no installation of agent is necessary for the MQ plugin to gather MQ metrics.

      Eugene.

  67. Anonymous (login to see details)

    Thanks. I  will try to set it up. The metrics for the MQ dashboard and profile on WebSphere MQ Monitoring Fastpack appears to be incompatible with 6.1 and this updated MQ plugin. Is there an newer release?

    1. Anonymous (login to see details)

      Hi Tan,

      That plugin is deprecated in favor of this one.  This is the correct plugin for 4.2+

      Rick B

  68. Anonymous (login to see details)

    Hi Richard- Yes i understood that this is the latest MQ plugin. I was actually referring to it's xml dashboards and profile : https://github.com/dynaTrace/Dynatrace-WebSphere-MQ-Monitoring-Fastpack/releases/download/v1.0.3/WebSphereFastpackDashboardsAndProfile.zip  Is there an update for them?

  69. Anonymous (login to see details)

    Hi 
    I am too wait for answer about dashboards

  70. Anonymous (login to see details)

    I keep seeing questions about Dashboards.  Is this an example of what people are looking for?

     

    1. Anonymous (login to see details)

      Hi Brendan
      Yes that can be a good start for a dashboard

      Yos

    2. Anonymous (login to see details)

      Hello Brendan,

      Would it be possible to share the dashboard xml file for this example?

      Best regards

      Tomislav

    3. Anonymous (login to see details)

      Hello Brendan. Would you mind sharing dashboard xml for this MQ Plugin?

  71. Anonymous (login to see details)

    Hi, Do you have definition for these measure?

    there's a lot measure have no description, thanks.

     

    Regards,

    Carlos

  72. Anonymous (login to see details)

    Hi,

     

    Does anyone know if there's a way to delete all metrics from PWH of a specific plugin (in this case MQ Plugin)?

    We left for some time the configuration with an * and now we have more de 2M metrics related to MQ Plugin.

     

    Regards,

    Melory

    1. Anonymous (login to see details)

      Hi Melory,

      I believe you are looking for the Erase Data function that is available for all measures.  This option is available in the Measures section of your System Profile Preferences, by right-clicking on a measure or measure group, System Profile - Measures.  Please use caution when using this feature as it cannot be undone.

      I also encourage you be sure you have Auto Purge (Performance Warehouse Administration) option selected within your PWH settings to ensure that any dynamic measures which have not been written to for the duration of your Medium Resolution storage period are also cleaned up, this will help to keep your Performance Warehouse from storing old/unnecessary data.

      1. Anonymous (login to see details)

        Hi Markie,

        thank you, that worked!

         

         

  73. Anonymous (login to see details)

    Hi,

     

    Other question. In the field "Queue Name Filter (Optional)" how to set more then one queue? I tried:

    • Pattern1*,Pattern2*
    • Pattern1*;Pattern2*
    • Pattern1* Pattern2*

    Is it even possible? 

     

    Regards,

    Melory

    1. Anonymous (login to see details)

      This was added in version 0.9.1.14. It would be: Pattern1*;Pattern2*

      Shaun

      1. Anonymous (login to see details)

        Thanks Shaun. It's working like a charm!

  74. Anonymous (login to see details)

    Hi,

    I'm getting the following error when trying to filter by Channel's name:

     

     

     

    Does anyone know why?

     

    Thanks,

    Melory

    1. Anonymous (login to see details)

      Hi Melory,

      What version of the plugin are you using? Also, could you make sure that both channels in the Channel Name Filter were used.

      Eugene.

  75. Anonymous (login to see details)

    Hi Eugene,

     

    thanks for the replay. I'm using the last version.

    And yes.. the channel name was wrong.. I put the right one and worked.

     

    Thanks,

    Melory

  76. Anonymous (login to see details)

    Hi,

    I have 2 questions:

    1. Does anyone know the status code definitions for the Channel Type and Substate?
    2. I'm getting the same error as Melory when filtering by a channel name, and when I remove the filter using *, I can't find the channel expected in the results. Any idea why is it happening?

     

    Regards,

    Geraldo Ribeiro Lemos Filho

    1. Anonymous (login to see details)

      Hi Geraldo,

      Here are answers on your questions:

      1. Please see this post for list of available Status Codes.
      2. Melory's issue was related to an incorrect channel name which was used in the filter. Make sure that your filter includes existing channel(s). If you cannot find channel in question when you use "*" filter then it means that or channel name is incorrect (e.g. has typo) or this channel hasn't been used yet.

      Let me know if you have further questions.

      Eugene.

      1. Anonymous (login to see details)

        Hello Eugene,

        1. Sorry, my first question is worng. I saw this post before, and this is explaining the Status Code. I want to know about the Channel Type and Substate codes.
        2. The problem with the channel is that the error happens when the channel is inactive, but when we activate the channel the monitor works fine. The channel is always inactive when it is not being used. Is there any workaround for this problem?

        Thank you.

        Geraldo Ribeiro Lemos Filho

         

        1. Anonymous (login to see details)

          Hi Geraldo,

          Please find below Channel Types and SubState codes:

             

           

          In terms of your second question: I'll add warning message to the plugin code if channel is not in use. I'll add it in next few days and will update this post.

          Eugene.

          1. Anonymous (login to see details)

            Thank you, Eugene.

          2. Anonymous (login to see details)

            Hello Eugene,

            I solved the problem with a small fix on the code. How can share it? I noticed that the github repository is not up to date.

            Thank you

            Geraldo Ribeiro Lemos Filho

            1. Anonymous (login to see details)

              Hi Geraldo,

              Sorry, I'm still busy. I haven't had a chance to add warning message in the code. If you have added it, please send me updated jar file with the source code for review and we will commit changes to the plugin code.Please let me know version of the plugin that you used for changes. This is our regular process. My e-mail address is eugene.turetsky@dynatrace.com.

              Eugene.

            2. Anonymous (login to see details)

              Hi Geraldo,

              Please use plugin version 0.9.1.16+ which handles your use case correctly. To speed things up I've implemented this fix myself.

              Let me know if you have any issues or questions.

              Eugene.

  77. Anonymous (login to see details)

    Thanks for this plugin. I have configured it but I am not able to get the measures other than "Connection Count:" and "Status:" rest of all mesures are null.Pls find the snap attached. What could be the reason?

    BUFFERS_RECEIVED: null

    BUFFERS_SENT: null

    BYTES_RECEIVED: null

    BYTES_SENT: null

    CHANNEL_TYPE: null

    CONNECTIONS: null

    CURRENT_Q_DEPTH: null

    CURRENT_SHARING_CONVS: null

    Connection Count: 63.0

    DEF_PRIORITY: null

    DEQUEUE_COUNT: null

    DEQUEUE_RATE: null

    ENQUEUE_COUNT: null

    ENQUEUE_RATE: null

    HIGH_Q_DEPTH: null

    INHIBIT_GET: null

    INHIBIT_PUT: null

    INT_LAST_GET: null

    INT_LAST_PUT: null

    LAST_MSG_DATE: null

    LAST_MSG_TIME: null

    MAX_MSG_LENGTH: null

    MAX_Q_DEPTH: null

    MSGS: null

    OLDEST_MSG_AGE: null

    OPEN_INPUT_COUNT: null

    OPEN_OUTPUT_COUNT: null

    PERCENTAGE_Q_DEPTH: null

    Q_TIME_LONG: null

    Q_TIME_SHORT: null

    STATUS: null

    SUBSTATE: null

    Status: 2.0

    UNCOMMITTED_MSGS: null

    1. Anonymous (login to see details)

      Hi Shirish,

      The MQ Queue Channel Monitoring plugin internally is using dynamic measures. Each dynamic measure has a base measure and and set of measures associated with this base measure and split by some Measure Splitting. For example, in case of Channels the Measure Splitting is "Channel Name", for Queues the Measure Splitting is "Queue Name". Measures you are interested in are dynamic measures. Base measures do not carry any importance in terms of their values; they are showing what type of dynamic measures you are looking into. As a result, 'null' values which you see in the "Details" screen of the monitor plugin are legitimate. 

      The 'Connection Count' and 'Status' are regular (non-dynamic) measures, so, they have values.

      Usually you should see dynamic measures set by the plugin for available queues and channels. If you don't see them, please check plugin's configuration parameters, especially filters for queues and channels. Also make sure that chosen queues and channels are active. If it is not clear why there are no any dynamic measures set by the plugin, please provide plugin's FINER log file. Please e-mail it to eugene.turetsky@dynatrace.com. In the e-mail please provide exact version of the deployed plugin.  

      Eugene. 

  78. Anonymous (login to see details)

    Hello Eugene/Asad,

    I'm seeing very strange behavior when the Channel is Stopped and started for whatever reason. The plugin stops collecting data and fails forever, until I force a random configuration change, which I guess runs teardown. Once that's done and change the configuration to how it was, it allows the plugin to succeed again.

    Any idea on how to resolve this? I appreciate it!

    1. Anonymous (login to see details)

      Hi Cesar,

      Could you please send me plugin's log file at eugene.turetsky@dynatrace.com?

      Eugene.

      1. Anonymous (login to see details)

        Hi Cesar,

        Please download the 0.9.1.18 version of the plugin. It fixes issue with the recovery of the plugin instances which are using the Model Queue Name and Reply Queue parameters.

        Let me know if you have any further issues or concerns.

        Eugene. 

        1. Anonymous (login to see details)

          This is awesome! The issue has been fixed. I appreciate you taking the time for that call yesterday, and for getting it resolved so fast. This is great. Myself, along with many of my colleagues are very grateful for this work.

  79. Anonymous (login to see details)

    I'm having issues pulling back the OLDEST_MSG_AGE metric. Within IR360 we see the date being presented as a time stamp. When I configure a dashlet with the OLDEST_MSG_AGE the graph will sit at 0.00 hrs when in fact the oldest message has been in the queue for over 24 hrs. Anyone successful using this metric?

     

    Thanks!

    Marquis Kimble

    1. Anonymous (login to see details)

      Hi Marquis,

      The OLDEST_MSG_AGE is 0 when queue is empty. Please check the current depth of the queue provided by the CURRENT_Q_DEPTH measure. If CURRENT_Q_DEPTH is not 0 and the OLDEST_MSG_AGE is 0 then please set plugin log level to FINER, run your test and send me gathered plugin log file at eugene.turetsky@dynatrace.com? Please make sure to include all log messages for a single run of the plugin. You may need to use multiple generations of log files and zip them. Also provide me version of the IBM MQ, OS and its version, and version of the IBM MQ Queue Channel Monitoring plugin that you are using.

      Eugene.

  80. Anonymous (login to see details)

    Eugene –

     

    Thanks for the reply! Turned on real-time monitoring and data began to pop in the oldest message dashlet, however we’re struggling with what looks like aggregation and unit. We can put a test message in the queue leave it for 5 min change the aggregation to count and the unit to seconds and the graph will show 0.78 seconds. The monitor is polling every 20 seconds.

     

    Thanks!

    Marquis 

    1. Anonymous (login to see details)

      Hi Marquis,

      I've just checked the unit of the OLDEST_MSG_AGE metric. It was set to 'ms' what is incorrect. The correct measure is 's' - seconds.The new version 0.9.1.17 of the plugin fixes this issue along with few other things. Please download and deploy it on a top of the old plugin version.

      Thank you for bringing this question to our attention. Let me know if you have any further questions.

      Eugene.

  81. Anonymous (login to see details)

    Thank you for taking the time out on this!

    Not able to post screen capture images so I emailed you the images

     

    In the screen captures, you can see that the presented returned values are different. If the value in the Dynamic Measure Matrix is 724s the value in the custom chart shows 0.74s (Screen captures were taken a few seconds apart). I can change the scale on the chart to x1,000 but data point still shows 0.74s.

     

    Thanks!

    mk

     

    1. Anonymous (login to see details)

      Hi Marquis,

      From your screenshots, it seems that the OLDEST_MSG_AGE based measure has unit measure set to 'ms'. Please set it to 's' manually. This is one time operation which you will not need to do for any new instances of the IBM MQ Queue Channel Monitor Plugin.

      Eugene.

      1. Anonymous (login to see details)

        Eugene.  thanks you found it.  we came to the same conclusion.  when you put out the next bug fix for the plugin, can you please change the Unit Measure so that it defaults to "seconds".  Also, we switched to seconds, but it is still showing milliseconds when you put it up on a chart.  If we create a new measure (OLDEST_MSG_AGE2) and set the Unit Measure to seconds, then that begins to collect accurately.  Our theory is that once you start to collect measure values under a particular Unit Mesurement (ie milliseconds) then you can't change it later.  But this is just a theory as to why we can't change it in flight.  since this is in a qa environment, it would be great if we could just blow all these measures away and start fresh.

        1. Anonymous (login to see details)

          Hi Jeff,

          The new version 0.9.1.17 of the plugin fixes this issue. Please download and deploy it from this webpage.

          Eugene.

          1. Anonymous (login to see details)

            Eugene -

            Just posting to update you on this. We just figured out that in order to get the metrics to show as "Seconds" in the dashboard, we needed to delete the measure data associated with the created monitor, delete the monitor, and create a new monitor with a different name. Once we did this the data began to show as seconds when we created a new chart.

  82. Anonymous (login to see details)

    My client would like to get some of the data visible here into splunk. How can i setup a BT on these measures to use the BT export or possibly directly export them to Splunk?

  83. Anonymous (login to see details)

    Shane

    In order to export the data to Splunk from this monitor is to run it, plot the data in a dashboard and import the data into Splunk using the Splunk integration.

    1. Anonymous (login to see details)

      "import the data into Splunk using the Splunk integration"

      Asad, can you elaborate on this? 
       The ways i'm aware of getting data into splunk is to export individual BT's or to push alerts via incidents. 

      1. Anonymous (login to see details)

        I found it. If anyone else needs the answer, here it is:

        Pulling Measurement data into Splunk

        This Splunk Application uses the dynaTrace Server REST API to query dashboards and pull the measurement data from them into Splunk. to activate this you need to edit the runDashboard.sh/.bat inside the CompuwareAPM Splunk Application Directory

        $SPLUNK_HOME/etc/apps/compuwareapm/bin/runDashboard.sh
        • Change the DTSERVER, USER and PWD variables according to your dynaTrace setup
        • Change the DASHBOARD to the name of the dashboard you want to use.

        The script will then pull the dashboard periodically (every 5 minutes on default) and retrieve the measurement data in JSON format.

        If you want to retrieve multiple dashboards or from different servers simply copy/paste the script lines that do the rest and xslt call.

         

        1. Anonymous (login to see details)

          Another option, you could put a Splunk UF on the dT collector that is running the MQ monitoring plugin, and set the log detail for the plugin to "FINER".

          If you do this, dT will log each data point that is returned to the collector, and you can simply index the log data into splunk as you would any other log file.

  84. Anonymous (login to see details)

    Does anyone have any dashboard examples that could be shared for this plugin?

  85. Anonymous (login to see details)

    Hello All,

    I got the below error ,while running the Job

     

    Result: Last polling execution failed
    Reason for failure: External error occurred
    Error message: setup method: com.ibm.mq.headers.MQDataException exception occured. Reason Code = 2195; Error cod...
    Detailed error message: setup method: com.ibm.mq.headers.MQDataException exception occured. Reason Code = 2195; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2195'.'; Stacktrace is 'com.ibm.mq.headers.MQDataException: MQJE001: Completion Code '2', Reason '2195'.
    at com.ibm.mq.headers.MQDataException.getMQDataException(MQDataException.java:317)

     

    please guide me

     

    Thanks & Regards

    Muthu

    1. Anonymous (login to see details)

      Hi Muthu,

      The "Message = 'MQJE001: Completion Code '2', Reason '2195'" that you are referring to is a generic message which is not providing a specific reason of failure. Please get a full stacktrace of the exception from the plugin log file and e-mail it to me at eugene.turetsky@dynatrace.com.

       Eugene.

  86. Anonymous (login to see details)

    hi Eugene,

    Thanks for your reply.

    I will raise a service request for this issue

    Thanks & Regards

    Muthu

  87. Anonymous (login to see details)

    The MQ team reported following errors when dynaTrace MQ plug-in pulls data from the MQ.

    Based on the MQ team response “dynuser” created to fetch the plugin data is trying to perform “chg” action.

    Pls find the attached log file for more error logs. This is happing for all the Qs and due to it the logs are filling faster.

     

     

    02/16/2016 04:33:51 PM - Process(23684.8) User(mqm) Program(amqzlaa0)

                        Host(vslrch1d220.cna.com) Installation(Installation1)

                        VRMF(8.0.0.3) QMgr(DRT1B7)

                      

    AMQ8077: Entity 'dynuser' has insufficient authority to access object

    'SYSTEM.CLUSTER.COMMAND.QUEUE'.

     

    EXPLANATION:

    The specified entity is not authorized to access the required object. The

    following requested permissions are unauthorized: chg

    ACTION:

    Ensure that the correct level of authority has been set for this entity against

    the required object, or ensure that the entity is a member of a privileged

    group.

    Is it something to do with the plugin configuration?

    1. Anonymous (login to see details)

      Hi Shirish,

      This is expected behavior because plugin executes the MQConstants.MQCMD_RESET_Q_STATS command in order to get the following queue metrics:

      • MQConstants.MQIA_HIGH_Q_DEPTH;
      • MQConstants.MQIA_MSG_ENQ_COUNT;
      • MQConstants.MQIA_MSG_DEQ_COUNT;
      • MQConstants.MQIA_TIME_SINCE_RESET.

      Please see this post for more details.

      Eugene.

      1. Anonymous (login to see details)

        Thanks Eugene,

        I have forwarded it to our MQ team and I'll update you on it.

        Also I would like to know is there any way to set the Current Q Depth threshold specific to particular Q?

        I am able set the threshold for all the Qs on one channel but not able to create the incident/measure for the particular Q so that if the current Q depth cross the threshold the alert will be sent.

        1. Anonymous (login to see details)

          Hello Shirish,

          I'm an end-user of the plug-in. I have this requirement as well. What I'm doing, for now, as a workaround, I'm creating an individual monitor for each queue. I specify the desired queue name on each monitor in the monitor configuration, and that way, it only returns the data for that queue.

          From there, you can edit the created measure and set a threshold for that individual queue. We have 300+ queues, so it is a large effort, but it definitely works.

          Good luck.

          1. Anonymous (login to see details)

            Ohh... initially I thought of it but the number of Qs are huge so it would be very difficult to do so.

            Thanks for you input ..Also wht is the overhead of all this on DT server and MQ server?

             

      2. Anonymous (login to see details)

        I am still getting the  same error .... I am sending you the log file on your email ID.

        I am only pulling following measures

        CURRENT_Q_DEPTH

        INT_LAST_GET

        INT_LAST_PUT

        STATUS

        1. Anonymous (login to see details)

          Hi Shirish,

          Measure subscriptions does not affect flow of executed by the plugin commands. The MQConstants.MQCMD_RESET_Q_STATS command is still executing and hence if provided user does not have proper authority, plugin fails.

          Eugene. 

          1. Anonymous (login to see details)

            Thanks  Eugene for promt response,

            The MQ team is not ready to give the "+chg" permission to "SYSTEM.ADMIN.COMMAND.QUEUE"

            What would be the best approach in this situation.

            1. Anonymous (login to see details)

              Hi Shirish,

              We can add boolean indicator to the plugin which will exclude gathering stats for the following metrics:

              • MQConstants.MQIA_HIGH_Q_DEPTH;
              • MQConstants.MQIA_MSG_ENQ_COUNT;
              • MQConstants.MQIA_MSG_DEQ_COUNT;
              • MQConstants.MQIA_TIME_SINCE_RESET.

              Eugene.

              1. Anonymous (login to see details)

                Hi Eugene,

                Thanks, Could you pls guide me how to do that?

                I am not able to get it where to add the above metrics for exclude. 

                1. Anonymous (login to see details)

                  Hi Shirish,

                  I'll add this feature to the plugin. It is trivial to do and will be available in the closest coming release of the plugin most likely on coming Monday. Please watch this page for the new release.

                  Eugene.

                  1. Anonymous (login to see details)

                    Thanks a lot Eugene for the prompt action.

                    I'll install the new version and revert back to you by EOD today.

                  2. Anonymous (login to see details)

                    HI Eugene,

                    Thanks, It is working now. I configured it with and without the MQ Reset command  and the MQ team confirmed that there is no error  when we deselect the " MQ Reset command "  option.

                    Thanks a lot for this quick solution.

  88. Anonymous (login to see details)

    hi Eugene,

    I shared the log file with you.

    Please guide me

    Thanks &Regards

    Muthu

  89. Anonymous (login to see details)

    I am getting following exception. What could be the reason?

    It was working earlier.

    Error message: setup method: com.ibm.mq.MQException exception occured. Reason Code = 2058; Error code = ; Messag... Detailed error message: setup method: com.ibm.mq.MQException exception occured. Reason Code = 2058; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2058'.'; Stacktrace is 'com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2058'.  at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:247)  at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:588)  at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:630)  at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:107)  at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:205)  at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:911)  at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:799)  at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:750)  at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:157)  at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:757)  at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.setup(MQQueueChannelMonitorUpdated.java:289)  at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:456)  at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:51)  at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)  at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:189)  at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:412)  at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:336)  at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)  at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)  at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)  at com.dynatrace.diagnosti...

  90. Anonymous (login to see details)

    Hi Shirish,

    Wrong queue manager name is the most common cause of this exception. Please check it to make sure it is set correctly.

    Eugene.

  91. Anonymous (login to see details)

    I Didn't change any setting but I came to know from the MQ team that they restarted the channel.

    I had similar experience in past whenever they restart the channel MQ plugin stops pulling the data..

    I have updated the plugin version to the latest  and now with same setting it is working....

    Lets see how long it goes...

    1. Anonymous (login to see details)

      Hi Shirish,

      This should not be the case unless you used very old version of the plugin. In any case, keep us updated.

      Eugene.

  92. Anonymous (login to see details)

    What is the option to get the status of  standby Q manager?

     We have two Q manager hosts and one host is active other is standby. This plugin is showing data for the active Q manager but not showing the status or any other information of standby Q manager!

     it shows following exception

     Plugin Active: active

    Result Status: failed

    Result: Last polling execution failed

    Reason for failure: External error occurred Error message: setup method: com.ibm.mq.MQException exception occured. Reason Code = 2538; Error code = ; Messag... Detailed error message: setup method: com.ibm.mq.MQException exception occured. Reason Code = 2538; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2538'.'; Stacktrace is 'com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2538'.  at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:247)  at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:588)  at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:630)  at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:107)  at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:205)  at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:911)  at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:799)  at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:750)  at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:157)  at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:757)  at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.setup(MQQueueChannelMonitorUpdated.java:295)  at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:456)  at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:51)  at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)  at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:189)  at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:412)  at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:336)  at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)  at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)  at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)  at com.dynatrace.diagnosti...  

    1. Anonymous (login to see details)

      Hi Shirish,

      The Error Message = 'MQJE001: Completion Code '2', Reason '2538' usually means one of the following:

      • The listener has not been started on the remote system.
      • The connection name in the client channel definition is incorrect.
      • The network is currently unavailable.
      • A firewall blocking the port, or protocol-specific traffic.
      • The security call initializing the WebSphere® MQ client is blocked by a security exit on the SVRCONN channel at the server.

      Please check plugin's parameters and make sure that to eliminate above cases before trying to execute plugin.

      Eugene.

      1. Anonymous (login to see details)

        Thanks Eugene,

        in the same monitor polling we have two MQ hosts one is active and other is standby.it shows status of other host as standby in the MQ command dspmq -x

        So in this scenario if the plugin polls to the standby host.. will it return with the status code as standby? 

        I cannot post the details here so I am sending you the snaps of the configuration on your email ID pls have look.

        1. Anonymous (login to see details)

          Hi Shirish,

          Please configure two MQ monitors: one to monitor active queue manager and another one to monitor a standby one. 

          Eugene.

          1. Anonymous (login to see details)

            I did that but result is same exception.

            Do I need to do any additional setting for the standby  monitor?

            I am using the same setting of the active host to monitor the standby host. 

            1. Anonymous (login to see details)

              Hi Shirish,

              Based on your logs, plugin is failing on very first step trying to connect to the Queue Manager. I need to look into it but unfortunately it will take time as I'm very busy now. I'll try to look into it over the weekend.

              Eugene.

              1. Anonymous (login to see details)

                Hi Eugene,

                Did you able check on it?

                It would be great help if you can add this functionality.

              2. Anonymous (login to see details)

                Hi Eugene,

                Did you able check on it?

                It would be great help if you can add this functionality.

                1. Anonymous (login to see details)

                  Hi Shirish,

                  I'm sorry, I haven't had time to look into the issue that you are reporting. It is low priority for me. However, I recommend you to follow my earlier post from Feb 23, 2016 and also messages from the following log files to find exact reason for the issue:

                   * {WMQ install dir}/qmgrs/{qmgr name}/errors/AMQERR01.LOG
                   * {WMQ install dir}/errors/AMQERR01.LOG
                   * {WMQ install dir}/errors/*.FDC

                  Eugene.

  93. Anonymous (login to see details)

    Also it would be great if you can provide the option to define the filter for the SYSTEM.**** Queues.

    As after unchecking the "Ignore System Object" it shows data for all the SYSTEM Queues and we don't want details for all the system Queues.

  94. Anonymous (login to see details)

    Hi, I have a Pair of Queue Managers I am attemping to connect to and the first works fine and collects metrics.  I have been working with my MQ admin and he has verified that all permissions are identical between the two machines.  below is a copy of my stacktrace.  Any help would be greatly appreciated.

    Thanks,

    Rob

    2016-03-07 10:42:14 SEVERE [MQQueueChannelMonitorUpdated@BRKAQMQ2 on ediwtxqa2_0] setup method: com.ibm.mq.headers.MQDataException exception occured. Reason Code = 2195; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2195'.'; Stacktrace is 'com.ibm.mq.headers.MQDataException: MQJE001: Completion Code '2', Reason '2195'.
    at com.ibm.mq.headers.MQDataException.getMQDataException(MQDataException.java:317)
    at com.ibm.mq.headers.pcf.PCFAgent.open(PCFAgent.java:339)
    at com.ibm.mq.headers.pcf.PCFAgent.connect(PCFAgent.java:190)
    at com.ibm.mq.headers.pcf.PCFAgent.<init>(PCFAgent.java:151)
    at com.ibm.mq.headers.pcf.PCFMessageAgent.<init>(PCFMessageAgent.java:124)
    at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.setup(MQQueueChannelMonitorUpdated.java:298)
    at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:456)
    at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:51)
    at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)
    at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:189)
    at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:412)
    at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:336)
    at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)
    at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)
    at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)
    at com.dynatrace.diagnostics.scheduling.impl.QuartzJob.execute(SourceFile:45)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at com.dynatrace.diagnostics.scheduling.impl.QuartzThreadPool$WorkerThread.run(SourceFile:788)
    Caused by: com.ibm.mq.headers.MQDataException: MQJE001: Completion Code '2', Reason '2195'.
    at com.ibm.mq.headers.MQDataException.getMQDataException(MQDataException.java:317)
    at com.ibm.mq.headers.pcf.PCFAgent.open(PCFAgent.java:394)
    at com.ibm.mq.headers.pcf.PCFAgent.open(PCFAgent.java:336)
    ... 16 more
    Caused by: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2035'.
    at com.ibm.mq.MQDestination.open(MQDestination.java:331)
    at com.ibm.mq.MQQueue.<init>(MQQueue.java:250)
    at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:2799)
    at com.ibm.mq.headers.pcf.PCFAgent.open(PCFAgent.java:378)

    ... 17 more

  95. Anonymous (login to see details)

    Eugene, at my client site I was asked if there is a way to get a metric that shows the connections that are open but unused. Is that a thing we can get or somehow calculate with this monitor? 

  96. Anonymous (login to see details)

    Hi Eugene,

    This plugin is very helpful for us for monitoring the MQ Channels.

    There are following two things I want to know;

    1)For the Current Q depth it shows the Q depth is 20.5!! how it is calculated? The MQ team says that it is not possible to have the current Q depth wit ".5" it should be the whole number? So how this monitoring is pulling the data? Does it compare with the earlier value and do the math?

    2) for the "MQ Oldest MSG Age" how this matric is calculated? How it calculate the age of message?

     

     

       

    1. Anonymous (login to see details)

      Hi Shirish,

      Sorry for the delay. Here are answers on your questions:

      1. Could you please let me know name of the queue that has the "Current_Q_Depth" value 20.5?  Are you looking into the "Current_Q_Depth" of the base measure? The "Current_Q_Depth" measure is current number of messages on the queue. It is an integer. There are no calculations associated with this measure: plugin is getting it directly from the queue.
      2. There are no calculations associated with the "OLDEST_MSG_AGE" measure either. It is a whole number which is equal to age in seconds of the oldest message on the queue.

      Please let me know if you have any further questions.

      Eugene. 

       

      1. Anonymous (login to see details)

        Hi Shirish

        Adding to what Eugene said earlier, the queue depth is the value we get directly from the MQ. However, you might see values like 20.5 because you might be charting average value of the queue depth on a chart in dynaTrace. If so, you will see values with decimal if the actual value at time t1 is 20 and at time t2 is 21, then the average value shown in the graph is 20.5. Try plotting the maximum value in the chart.

        1. Anonymous (login to see details)

          Hi Eugene/Asad,

          Thanks for your reply and sorry for late response as I was busy with the 6.3 deployment.

          I have configure the incident for the MQ plugin monitor data for different channels for the Current Q Depth,MQ Channel Status and MQ Manager Status and the Oldest Msg Age. for all of these I have set the aggregation to "Last" so I understand that it will show the last capture value from the MQ Monitor task in the incidents and it is happening once in while for the current Q depth measure.

          for the Oldest Msg Age measure sometimes it shows the false count, our MQ team monitors the msg age and MQ plugin monitor data is not matching with the actual MQ data. e.g the MQ plugin reported the Oldest Msg age  94000.0  and the MQ team was not able to see that.Is th ere any best way to verify form the MQ plugin point of view that it is capturing correctly.

          Also for the standby MQ channel it is returning the  Reason Code = 2538 is there any way it can return the standby status code?

          1. Anonymous (login to see details)

            Hi Shirish,

            I suggest that you will work with your MQ admin team to verify that the "OLDEST_MSG_AGE" measure is provided correctly by the plugin. Please open PMR ticket with IBM MQ tech support team if you see discrepancies between plugin's data and data that MQ admin team has. Make sure that you provide exact information to IBM team. i.e. queue name, tool that your MQ admin team is using, MQ version, etc. On plugin side: it is using PCF v. 7.5.0.5 libraries and the "OLDEST_MSG_AGE" measure is fetched from the response of the MQCMD_INQUIRE_Q_STATUS command. Please feel free to contact me directly at eugene.turetsky@dynatrace.com if there are any questions related to the plugin.

            I already replied on your question about the standby channel. Please see this post.

            Eugene.

  97. Anonymous (login to see details)

    Hi Asad & Eugene,

    This plugin has helped a lot!

    Is there any way to delete a host? We looked around for the option to do so but could not find it. We made a host from the server name and were unable to connect, then we made another host from the full <server_name>.example.com so we want to delete the old one for housekeeping/not confusing those who may come after us to setup this plugin.

    Thanks,
    Brendan 

    1. Anonymous (login to see details)

      Brendan

      You can delete the host by going to the Settings -> Dynatrace Server -> Infrastructure. You will see all the hosts defined there.

      1. Anonymous (login to see details)

        We were looking in the wrong place..

        Thanks Asad!

  98. Anonymous (login to see details)

    Hello again Asad & Eugene,

    We're getting the value -1 for OLDEST_MSG_AGE for every queue, if I understand correctly this means n/a. Are there any changes we can make to see the actual values?

    Thanks,
    Brendan

    1. Anonymous (login to see details)

      Hello, I was wondering if there was anything we could do to see the actual values, or if this really does mean n/a for OLDEST_MSG_AGE. Perhaps we have a configuration setting missing/incorrect?

      Thanks,

      Brendan

      1. Anonymous (login to see details)

        Hi Brendan,

        Value -1 of queue's OLDEST_MSG_AGE means that real time monitoring is not enabled for this queue. The MONQ attribute at either queue or queue manager level needs to be set from OFF to LOW, MEDIUM, or HIGH. This could be accomplished by running the 'ALTER' command on queue or queue manager level. For example, for local queues please run the following MQSC command:

        alter qlocal(queue_name) monq(low)

        Please let me know version of IBM MQ and OS it is running on if you still have questions. You can send this information directly to eugene.turetsky@dynatrace.com.

        Eugene.

  99. Anonymous (login to see details)

    Eugene, can you shed any light onto this request I got from my customer?

    We are receiving a lot of security errors in our logs on the user id used by MONITOR.TO.* channels.  It appears that something is attempting to do a change to SYSTEM.* queues.  Can you do some research and see if the dynatrace monitor is attempting to do a change or at least open the queues that way?

    1. Anonymous (login to see details)

      Hi Shane,

      Please see this post about required authority for monitoring queues. If you still have questions, please send me error logs from the following directories:

      1. <WMQ-installation-directory>/qmgrs/<qmgr-name>/errors/AMQERR01.LOG;
      2. <WMQ-installation-directory>/errors/AMQERR01.LOG;
      3. <WMQ-installation-directory>/errors/*.FDC.

      Also provide plugin's version, WMQ version, and OS version where WMQ is running.

      Eugene.

      1. Anonymous (login to see details)

        Thanks Eugene!

  100. Anonymous (login to see details)

    I have a customer that has approximately 70 queues that he would like to have monitored for Queue_Depth. Some he wants an alert sent if they go over 5000, 25,000, 50,000, ect. These queues are on one queue manager. I am wondering if you can give me some guidance on how I set up alerts per queue name for these thresholds? I am currently getting data for them. Thanks

    1. Anonymous (login to see details)

      Hi George,

      Unfortunately the IBM MQ Queue Channel plugin internally is using dynamic measures which allow to setup thresholds only on the base measure. This means that you can have only one threshold per base measure. We have request from few customers to enhance this plugin to allow setting up thresholds per MQ queue, however, this request has low priority for me.

      Eugene.

      1. Anonymous (login to see details)

        I had a thought. Would it be possible to use an external tool to query the Dynatrace Database to retrieve the last value for the "CURRENT_Q_DEPTH" for a given queue? If yes, could you possibly send me an example SQL query that would point me in the right direction of what table and fields to query? Thanks!

        1. Anonymous (login to see details)

          Hi George,

          It is not recommended to access DT Performance Warehouse (PWH) directly because internally DT engine uses large caches of data before persisting it to the PWH. So, data in the PWH could be obsolete at any given point of time.

          Eugene.

  101. Anonymous (login to see details)

    Hello Asad/Eugene ,

     Can you help me out in configuring the MQ Plugin for IBM MQ , I am seeing the configuration properties and could not find where exactly to put Queue Manger server name . It starts with below properties :

    My queue manager name is "qmqad01" and is installed at "srvatl**" server.

    Can you send me the link which can guide me on how to configure the plugin .

    Thanks

    Shailesh Verma

    1. Anonymous (login to see details)

      Shailesh

      The server name goes in the hosts file section of the plugin. See the screenshot below:

  102. Anonymous (login to see details)

    Thanks Asad ,

    I tried connecting with this now , it complaints with this error :

    2016-06-28 11:01:52 WARNING [UserPluginManager] com.ibm.mq.MQException - MQJE001: Completion Code '2', Reason '2397'.

    com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2397'.

    at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:247)

    at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:588)

    at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:630)

    at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:107)

    at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:205)

    at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:911)

    at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:799)

    at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:750)

    at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:157)

    at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:757)

    at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.setup(MQQueueChannelMonitorUpdated.java:295)

    at com.dynatrace.diagnostics.sdk.UserPluginManager.a(SourceFile:645)

    at com.dynatrace.diagnostics.sdk.UserPluginManager.b(SourceFile:436)

    at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:278)

    at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:50)

    at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)

    at com.dynatrace.diagnostics.schedule.ServerJobCenterRegistry.a(SourceFile:190)

    at com.dynatrace.diagnostics.schedule.ServerJobCenterRegistry.a(SourceFile:413)

    at com.dynatrace.diagnostics.schedule.ServerJobCenterRegistry.execute(SourceFile:337)

    at com.dynatrace.diagnostics.schedule.SchedulerJob.a(SourceFile:101)

    at com.dynatrace.diagnostics.schedule.SchedulerJob.work(SourceFile:92)

    at com.dynatrace.diagnostics.schedule.SchedulerJob.executeJobInfo(SourceFile:241)

    at com.dynatrace.diagnostics.schedule.QuartzJob.execute(SourceFile:45)

    at org.quartz.core.JobRunShell.run(JobRun...

     

     

     

     

     

  103. Anonymous (login to see details)

    Hello,

    I am using this Plugin and have been asked if there is a way to alert on when there is no activity on a queue for a length of time.  However, I am not sure which Metric would be the best to use that would identify zero activity for i.e. 5 min.

    Thank you for your help,

    Tom

    1. Anonymous (login to see details)

      Hi Tom,

      One of the things you can do is to use the INT_LAST_GET and INT_LAST_PUT measures which are derived from the internal MQCACF_LAST_GET_TIME and MQCACF_LAST_PUT_TIME measures respectively. Please create an incident rule which has the above two measures and setup thresholds based on your inactivity timeout. Please chose an Evaluation Timeframe of the incident rule as it is described here. See additional note in the Configuration section at the top of this page and this link to make sure that  the internal MQCACF_LAST_GET_TIME and MQCACF_LAST_PUT_TIME measures are populated by IBM MQ.

      Let me know if you have any questions. You can contact me directly at eugene.turetsky@dynatrace.com.

      Eugene.

  104. Anonymous (login to see details)

    Hi, everyone,

    i see a lot of error in log. see log below

    Do you have any idea why it can happen?

     

    2016-08-17 17:42:00 SEVERE [MQQueueChannelMonitorUpdated@New MQ Queue Channel Monitor Updated_0] setup method: com.ibm.mq.MQException exception occured. Reason Code = 2540; Error code = ; Message = 'MQJE001: Completion Code '2', Reason '2540'.'; Stacktrace is 'com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2540'.
    at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:247)
    at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:588)
    at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:630)
    at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:107)
    at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:205)
    at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:911)
    at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:799)
    at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:750)
    at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:157)
    at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:757)
    at com.dynatrace.plugin.MQQueueChannelMonitorUpdated.setup(MQQueueChannelMonitorUpdated.java:295)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2540;AMQ9204: Connection to host 'CDC01-PEKSDTN1.dc-prod.tn.corp(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2540;AMQ9520: Channel not defined remotely. [3=MPM.SVRCONN]],3=CDC01-PEKSDTN1.dc-prod.tn.corp(1414),5=RemoteConnection.analyseErrorSegment]
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:2091)
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1226)
    at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:311)
    at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:337)
    at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:924)
    at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:236)
    Dmitry
    1. Anonymous (login to see details)

      Hi Dmitry,

      In order to answer on your question, please provide the following information about your environment:

      • IBM MQ version;
      • OS and its version IBM MQ is running on;
      • Version of the IBM MQ Queue Channel Monitoring plugin. 

      Also please send me the following log files at eugene.turetsky@dynatrace.com :

        1. <WMQ-installation-directory>/qmgrs/<qmgr-name>/errors/AMQERR01.LOG;
        2. <WMQ-installation-directory>/errors/AMQERR01.LOG;
        3. <WMQ-installation-directory>/errors/*.FDC.

      Eugene.

      1. Anonymous (login to see details)

        Hi, Eugene,

        we solved this problem. MQ admins provided to me wrong information about connection to MQ. now it works

        Thank you,

        Dmitry

        1. Anonymous (login to see details)

          Hi Dmitry,

          Good news! There is a well known bug in IBM MQ 7.5.0.2 and lower that exhibits itself similar to the issue that you have described in your original post. Fortunately it is not applicable here.

          Thank you for updates.

          Eugene.

  105. Anonymous (login to see details)

    Eugene et.al,

    I've had great success so far with this plugin (it's pretty awesome, and my app teams love it!).

    I have enabled the "Run Reset Command", and so I am getting enqueue & dequeue rates for some queues, but I am wondering:  Will this have any other impact?  Is there any impact to using this feature besides getting the additional statistics?

    Thanks!

    1. Anonymous (login to see details)

      Hi Joel,

      If the Run Reset Command indicator is set to true then the IBM MQ Queue Channel plugin executes the MQCMD_RESET_Q_STATS command which in turn reports data for the following 5 measures of the given queue - DEQUEUE_COUNT, DEQUEUE_RATE, ENQUEUE_COUNT, ENQUEUE_RATE, and HIGH_Q_DEPTH and then resets the performance data for these measures.The MQCMD_RESET_Q_STATS command works this way by design.

      As a result, you cannot have more than one process which monitors given queue or given set of queues and gathers stats for the above 5 measures because reset command executed by one process will interfere with the reset command executed by another process(es). This will skew data for the above 5 measures for all processes which execute the reset command.

      That is why by default the Run Reset Command indicator is set to false. This prevents the IBM MQ Queue Channel plugin from interfering with existing IBM MQ monitoring systems that could be already setup in customer environment to monitor MQ queues. If the IBM MQ Queue Channel plugin is the only monitoring MQ software that is setup on the customer's site then you can safely set the Run Reset Command indicator to true.

       Please let me know if you have any further questions.

       Eugene. 



  106. Anonymous (login to see details)

    Hi,

    Is it possible for the MQ Manager to use something other than SYSTEM.ADMIN.SVRCONN to publish statistics? The one I have is using SYSTEM.AUTO.SVRCONN to publish statistics, could that be used instead?

    What are the minimum fields required to get a successful run? I assume some of the fields are optional such as model queue name and reply queue?

    Is regex acceptable in the model queue name field?

     

    1. Anonymous (login to see details)

      Hi Kayan,

      The SYSTEM.ADMIN.STATISTICS.QUEUE holds statistics of the monitoring data. In terms of the use of a model queue and a reply queue: their use is optional. By default the SYSTEM.DEFAULT.MODEL.QUEUE is used.

      Please let me know if you have any further questions. You can send them directly to eugene.turetsky@dynatrace.com.

      Eugene.

  107. Anonymous (login to see details)

    Hi Eugene et al

    We are discovering that when we use the MQ plugin to monitor our queues even though the ignore system objects is checked it is not ignoring the system objects. This is causing a lot of error being logged at the server where in it says the that 

    SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE'.

    EXPLANATION:
    The specified entity is not authorized to access the required object. The
    following requested permissions are unauthorized:

    I am hoping if somebody has encountered the issue before and has a possible solution or workaround.

     

    Thanks

    Moses

    1. Anonymous (login to see details)

      Hi Moses,

      The MQ plugin captures statistics from system queues but doesn't publish them if the "Ignore System Object" parameter is set to true. That is why you are observing published above authorization errors. Please use filters if you need to exclude some queues from the processing.

      Let me know if you have any further questions.

      Eugene.

  108. Anonymous (login to see details)

    If people wanted a basic dashboard to help get them started, I whipped this one up in 10mins:

    MQ Overview.dashboard.xml

     

    Which looks like:

     

    The only thing you need to do to get it working properly is to edit the measure on the traffic light so that it has the following thresholds:

    Upper Severe = 4
    Upper Warning = 3
    Lower Warning = 1
    Lower Severe = 0

     

  109. Anonymous (login to see details)

    Hi all - we were asked today if the MQ plugin  - or any others means to capture the counts for active publisher and subscribers for a given Queue. I wondering if any in the community have encountered or worked with monitoring of these values.


    Thanks

    Moses.

    1. Anonymous (login to see details)

      Hi Moses,

      Your request requires some enhancements in the current plugin. I'll look into it in next release of the plugin.

      Eugene.

  110. Anonymous (login to see details)

    Does anyone have any experience utilizing the plugin with CCDT (Client channel definition table)? Eugene, would we be able to do this with the existing plugin and environment variables on the Collector or would we need coding changes to allow this.

    1. Anonymous (login to see details)

      Hi Markie,

      We can utilize usage of the CCDT with minimal code changes in the plugin.

      Eugene.

  111. Anonymous (login to see details)

    Hi Eugene,

     

    We are looking to create a service account (that functions like a user account) on all Linux and Windows servers for this monitor. What permission should the authenticated user have for both Linux and Windows?

    1. Anonymous (login to see details)

      Kayan

      As you know, the monitor would run in a collector. This monitor does not use any local OS settings and hence does not require any special permissions. All you need is permissions so that the collector runs fine on the host machine.

  112. Anonymous (login to see details)

    Hello, 

    I am using the latest build of the plugin, but I am seeing the following in the plugin log:

    2016-10-31 11:23:21 FINER [MQQueueChannelMonitorUpdated@MQ Monitor - QMPHXSTG_0] getQueueProperties method: pcfInqCmd command: Queue Name is 'PHX.IIB.WAS.DATAREQ.QL', MQIA_INHIBIT_GET is '0'
    2016-10-31 11:23:21 FINER [MQQueueChannelMonitorUpdated@MQ Monitor - QMPHXSTG_0] getQueueProperties method: pcfInqCmd command: Queue Name is 'PHX.IIB.WAS.DATAREQ.QL', MQIA_INHIBIT_PUT is '0'

    Yet, when I go to chart the INHIBIT_GET or INHIBIT_PUT values, there are no values being written to the database or otherwise available for reporting.  Any idea what I can do to access those values?

    Thanks,

    JB

    1. Anonymous (login to see details)

      Hi Joel,

      This is an issue since initial release of the plugin (v.1.0.0). Let me fix it. I'll update you shortly. Thank you for pointing our attention to this bug.

      Eugene.

    2. Anonymous (login to see details)

      Hi Joel,

      Please use v. 0.9.1.23+ of the plugin. The INHIBIT_GET and INHIBIT_PUT measures are added to the plugin. Thanks again for reporting this issue.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

        Thanks so much for the quick turnaround!  

        I really appreciate it, and can confirm it works as expected.  We get a lot of valuable data out of this plugin.

        Thanks,

        JB

  113. Anonymous (login to see details)

    Hello, 

    • Q_TIME_SHORT
    • Q_TIME_LONG

     

    Where can I find a description of what these metrics are? I don't see any description on IBM site. I have a customer who is looking for 'time taken to read and/or write to a queue', and I'm assuming its the above. 

    1. Anonymous (login to see details)

      Hello Kayan,

      I'd suggest browsing this link, particularly the bit on QTIME:

      https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.adm.doc/q086260_.htm

      Interval, in microseconds, between messages being put on the queue and then being destructively read. The maximum displayable value is 999999999; if the interval exceeds this value, 999999999 is displayed.

      The interval is measured from the time that the message is placed on the queue until it is retrieved by an application and, therefore, includes any interval caused by a delay in committing by the putting application.

      Two values are displayed:
        • A value based on recent activity over a short time period.
        • A value based on activity over a longer time period.

      For what it's worth, if you are monitoring the application that is writing to or reading from the queue with appmon, it can be helpful to find the purepaths/methods that are putting the messages on the queue.

      Hope that helps.

      Thx,

      JB

  114. Anonymous (login to see details)

    Hi Eugene,

    Is it possible to monitor multiple queue managers with the plugin?  My customer has three queue managers, and from what I can tell the only way to monitor all three would be to create three instances of every queue monitored, one for each queue manager?

    Thanks,

    Adrian

    1. Anonymous (login to see details)

      Adrian

      This monitor can only monitor one queue manager at a time. You have to run 3 different monitors to monitor 3 QM.

      1. Anonymous (login to see details)

        That's as I thought, thanks Asad.

  115. Anonymous (login to see details)

    Hi,

    I'm a bit confused about the SSL Validation. I was getting an MQ 2397 error, which I looked up and appears to be related to SSL. I have the certificate of the target server, and the cipher type. Do I add the certificate to the collector? What are the values I need to give for keystore location and password, the collector that runs the monitor? The target MQ server? Any help is appreciated. Thanks!

  116. Anonymous (login to see details)

    Hi Eugene,

    It seems to be a really cool plugin and exactly what we need, so we are trying to implement it.

    You will blame me but i haven't find any documentation about the installation; on the client i have imported the plugin, right click on it and configured the properties but i cannot configure two queue manager and i don't see a conneciton with the MQ server happening.

    Could you please help?

    Thank you.

  117. Anonymous (login to see details)

    Hello,

    I have finally find how to configure it, but i have excatly the same issue than Cody,

    I past the jks in the collector directory et filled the keystore location with <collector_path/*.jks> .

    I have set as host the MQ server.

    I have created a dedicated channel for dynatrace.

    I'am getting the error : CC=2;RC=2397;AMQ2397 : Remote CipherSpec error. But the cipher is the same in the dynatrace configuraiton and in the MQ channel configuration.

     

    If anyone could help on it it would be very appreciated.

    Thank you.

    1. Anonymous (login to see details)

      Thomas

      Can you the run the plugin with FINER log option and send me the plugin log file as well as the screenshot of the plugin configuration to asad.ali@dynatrace.com?

  118. Anonymous (login to see details)

    Please let me know if there has been any updates on the keystore issue. I can send log files if necessary.

    Thanks,

    -Cody

    1. Anonymous (login to see details)

      Cody

      You have to put the .jks file on the collector machine and in the location, put the absolute path of the .jks file. The password is the password that you used to create the .jks file. Hope this helps.

    2. Anonymous (login to see details)

      Hi Cody,

      I find the Java SSL debug helpful when trying to figure out exactly why MQ is failing:

      -Djavax.net.debug=ssl
      If you use the diagram in this article with the debug log you can sometime pinpoint which part is failing:

       https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.1.0/com.ibm.mq.doc/sy10660_.htm

       

  119. Anonymous (login to see details)

    Hi Asad,

    I found what was the problem but could not resolve it : 

    Dynatrace is not even accessing the .jks, whatever the jks location or password is, i get the same error : 

    CC=2;RC=2393;AMQ9771: SSL handshake failed

    I pasted the jks in the location : /appl/dynatrace/dynatrace_6.5/collector/dynatrace-6.5 and as location values i set : /appl/dynatrace/dynatrace_6.5/collector/dynatrace-6.5/MMQ.jks

     

    Do you have any idea why dynatrace is not accesing the jks?

     

    Thank you.

  120. Anonymous (login to see details)

    Hello,

    It seems that the list of cypher in the plugin allows only TLS v1 and not higher version.

    What if our IBM QM doesn't allow it? i tried to modify the plugin in order to allow others cypher with higher version of TLS but didn't work.

  121. Anonymous (login to see details)

    I am working with a customer that really likes the visibility that this plugin provides, but had a couple of "gaps" they are curious if we can cover:

    • Auto defined Cluster Channels
    • Display each instance of a multi-instance channel

    According to the customer, these are exposed by the IBM PCF library.

    Thanks,

    dave

  122. Anonymous (login to see details)

    Hi all,

    We have disabled comments on this plugin page.

    Please use the AppMon & UEM Plugins forum for questions about this plugin.

    Sorry to interrupt ongoing discussions. Please re-post your last question in AppMon & UEM Plugins forum.