ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Unknown process consuming messages from queue

Post new topic  Reply to topic
 Unknown process consuming messages from queue « View previous topic :: View next topic » 
Author Message
kordi
PostPosted: Tue Mar 25, 2014 2:04 pm    Post subject: Unknown process consuming messages from queue Reply with quote

Centurion

Joined: 28 May 2012
Posts: 146
Location: PL

Hi,

I have UAT Queue Manager which is used by many applications, have many different SVRCONN and pretty much queues. I received request to check one queue because one application is not receiving all replies for their messages. Sometimes it got all replies, sometimes it got only few.

I tried to check queue status with dis qs(queue) type(handle) all but what I got is just two IP of remote Queue Manager conected to this queue by RCVR.

I assume that application connects every n seconds, opens connection, checks queue, disconnects, it may take only few ms, so it is really difficult to check it with queue status.

I asked administrator of remote QMGR to change destination queue for replies and application got all replies every time, so this is not issue of remote Queue Manager. I checked also DLQ with no sign of lost messages.

Do you have idea how I can check what other IP may consuming messages from local queue? Is there any all the time running monitoring which can detect and store all IP connecting to local queue?

I can disable getting from queue and wait for complains but it might take too much time.

Thanks in advance for your response.
Back to top
View user's profile Send private message
Tibor
PostPosted: Wed Mar 26, 2014 1:36 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

You can use BlockIP2 security exit for logging all the channel activity.
Back to top
View user's profile Send private message
zpat
PostPosted: Wed Mar 26, 2014 1:49 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

You can also enable accounting stats on the queue and use MS0P to view them, this will show the application name.

Another option with v7.5 is the MQ activity trace.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
kordi
PostPosted: Wed Mar 26, 2014 11:57 am    Post subject: Reply with quote

Centurion

Joined: 28 May 2012
Posts: 146
Location: PL

Thanks a lot for your replies.

Using BlockIP doesn't make sense in this case because this queue manager is used by many applications with many SVRCONN. I need to focus only on one queue checking who is stealing messages.

Accounting is a good idea, I have to check it together with MO71.

Yesterday I wrote bash script with infinit loop which run dis qs(queue) type(handle) all all the time. I found out what IP it is but accounting seems to be much better solution.

Once again, thanks a lot guys.

Cheers
Back to top
View user's profile Send private message
shashivarungupta
PostPosted: Wed Mar 26, 2014 2:15 pm    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

kordi wrote:
.. script with infinit loop which run dis qs(queue) type(handle) all all the time...


script with infinite loop, anytime it is a bad idea.

cronjob/scheduler could be used if you wanted to use your script with in finite interval.. and if your script generates a log in a text file for the history of evidences.
but yes, there are other tools which can be used as mentioned by zpat.
_________________
*Life will beat you down, you need to decide to fight back or leave it.
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Wed Mar 26, 2014 2:26 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

shashivarungupta wrote:
kordi wrote:
.. script with infinit loop which run dis qs(queue) type(handle) all all the time...


script with infinite loop, anytime it is a bad idea.

Why exactly?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
tczielke
PostPosted: Wed Mar 26, 2014 6:16 pm    Post subject: Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 941
Location: Illinois, USA

Someone earlier in the thread mentioned the Application Activity Trace (AAT). I was thinking the same thing too when I first read the post. One note, is that it is also available at 7.1. Please note, it does have a very significant bug in the earlier releases of 7.1 and 7.5 where the queue manager can get an internal error and become unstable if you use the AAT.. However, that was resolved I believe with the later fix packs in 2013. Below is a link to a very good primer on how to use this tool. I just used this tool today on a 7.5.0.2 queue manager to help review a multi-threaded java program for a developer, and it worked great.

http://www.ibm.com/developerworks/websphere/library/techarticles/1306_bushby/1306_bushby.html
Back to top
View user's profile Send private message
zpat
PostPosted: Wed Mar 26, 2014 10:55 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

MO71 does not format accounting messages in the same way MS0P (an extension to MQ explorer) does.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
Tibor
PostPosted: Thu Mar 27, 2014 12:39 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

zpat wrote:
Another option with v7.5 is the MQ activity trace.

Just a question: how can you extract the client information from the activity trace? I've just skimmed the manual and the related article, but I didn't find any channel related information in the output.
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Mar 27, 2014 12:47 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I'm not an expert in the AAT, just wanted to bring it to your attention.

Good article from Emma though (who was visiting us only the other week as our outgoing AVP rep).
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
tczielke
PostPosted: Thu Mar 27, 2014 12:46 pm    Post subject: Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 941
Location: Illinois, USA

Here is an example of AAT output (from the amqsact tool) that shows channel and client information on the connect. Some data has been obfuscated:

MonitoringType: MQI Activity Trace
Correl_id:
00000000: 414D 51xx xxxx xxxx xxxx xxxx xxxx xxxx 'AMQxxxxxxxxxxxxx'
00000010: 5334 6A16 2000 9801 'S4j. ... '
QueueManager: 'xxxxxxxx'
Host Name: 'srvr1'
IntervalStartDate: '2014-03-27'
IntervalStartTime: '15:40:46'
IntervalEndDate: '2014-03-27'
IntervalEndTime: '15:40:46'
CommandLevel: 750
SeqNumber: 0
ApplicationName: 'amqscnxc'
Application Type: MQAT_UNIX
ApplicationPid: 12727
UserId: 'user1'
API Caller Type: MQXACT_EXTERNAL
API Environment: MQXE_MCA_SVRCONN
Channel Name: 'CLIENT.TO.SERVER'
ConnName: '20.200.16.222'
Channel Type: MQCHT_SVRCONN
Application Function: ''
Appl Function Type: MQFUN_TYPE_UNKNOWN
Trace Detail Level: 2
Trace Data Length: 0
Pointer size: 8
Platform: MQPL_UNIX
MQI Operation: 0
Operation Id: MQXF_CONNX
ApplicationTid: 10
OperationDate: '2014-03-27'
OperationTime: '15:40:46'
ConnectionId:
00000000: 414D 51xx xxxx xxxx xxxx xxxx xxxx xxxx 'AMQxxxxxxxxxxxxx'
00000010: 5334 6A16 2000 FFFFFF9801 'S4j. ... '
QueueManager: 'xxxxxxxx'
Completion Code: MQCC_OK
Reason Code: 0
Connect Options: 256
Back to top
View user's profile Send private message
Tibor
PostPosted: Thu Mar 27, 2014 2:19 pm    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

Thanks
Back to top
View user's profile Send private message
kordi
PostPosted: Fri May 09, 2014 11:56 pm    Post subject: Reply with quote

Centurion

Joined: 28 May 2012
Posts: 146
Location: PL

Thanks a lot guys for very comprehensive replies.

Trace or accounting stats have however one disadvantage. They show application name rather than IP and it is up to developer to name properly its app. So in many scenarios I would have "Java application for WebSphere MQ" app name. Therefore sometimes dis chs is better, even in infinite loop
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Unknown process consuming messages from queue
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.