Author |
Message
|
hkhan12 |
Posted: Wed Dec 13, 2006 11:50 am Post subject: Send mail to MQ Admins if there is any message in DLQ |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Hi There,
I have 12 queue managers on one Sun Solaris box. I'm in the process of writing a shell script to go through all 12 queue managers and look at their SYSTEM.DEAD.LETTER.QUEUE.
If the queue depth is greater than 0 for any of these 12 SYSTEM.DEAD.LETTER.QUEUEs, i want to send an email to MQ Admins.
I'm wondering if any body dealt a situation like this and can shed some light would be highly appreciated.
Thank you in advance!!! |
|
Back to top |
|
 |
kevinf2349 |
Posted: Wed Dec 13, 2006 12:00 pm Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Trigger the DLQ and start a process to send an email off. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Dec 13, 2006 12:45 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Buy a real MQ monitoring solution, so that you aren't re-inventing the wheel in small, disconnected, non-centralized and non-standardized ways. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Sun Dec 17, 2006 3:03 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
I fully agree with Jeff's answer but I have worked at a few small-2-med sized companies and 12 queue mangers would be their entire MQ environment. Hence, spending tens of thousands of dollars was out of the question.
I've used triggering of the DLQ to do 'something' and it has worked fine. I prefer triggering rather than having a script that checks every 'x' minutes.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
jefflowrey |
Posted: Sun Dec 17, 2006 3:45 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I've worked at enterprises where they only had 12 queue managers.
There's definitely a cost/benefit computation to deciding to buy "real" MQ monitoring solutions. Most people who do those computations, however, fail to take into account the full use of those tools - and only look at a few minor features (like sending email when something appears in a DLQ).
And they also tend to be more stringent about what constitutes cost and what constitutes value for an MQ monitoring tool than they are for an OS level monitoring tool -when most of what they're using their OS level monitoring tool for is "is this machine actually turned on?".
The other problem is that costs of bespoke/home-grown solutions are never tracked as stringently as the costs of purchased solutions. There's something about a fixed, external maintenance fee that makes accountants sit up and take notice that there isn't about internal development and support costs. Maybe it's the arduous process of having to write a check.... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 7:03 am Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Roger, Jeff, Kevin
Thank so much for all your input. Like Roger said, just for monitoring 12 queue managers, buying a monitoring tool is really out of the question.
My shell script is working fine. Now I have tried trigger my DLQ using my shell script in my process is somehow NOT working.
I have setup my DLQ to trigger, type FIRST, Set INITQ as SYSTEM.CHANNEL.INITQ, and use my process. My process ApplID attribute is pointing to my shell script.
I have cleared the DLQ before I test trigger on DLQ. Am I missing anything here.
Thank you again for all your input!!! |
|
Back to top |
|
 |
wschutz |
Posted: Mon Dec 18, 2006 7:22 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Are you running the trigger monitor in the foreground so you can see whats going on? (of course, if the TrigMon can't start ur program, it'll put the TM into the DLQ ) _________________ -wayne |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 7:57 am Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Hi Wayne,
You are right, I did start my TrigMon in foreground and I found my trigMon is not receiving any messages when I put a message in my DLQ using IH03.
Do you think I'm missing anything in setting up my DLQ. Here is my DLQ looks like.
DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
1 : DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Default Dead Letter Queue)
PROCESS(DLQPROESS) BOQNAME( )
INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA( )
CLUSTER( ) CLUSNL( )
QUEUE(SYSTEM.DEAD.LETTER.QUEUE) CRDATE(2006-09-22)
CRTIME(16.23.10) ALTDATE(2006-12-1
ALTTIME(10.40.17) GET(ENABLED)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(NO) MAXDEPTH(999999999)
MAXMSGL(4194304) BOTHRESH(0)
SHARE DEFSOPT(SHARED)
HARDENBO MSGDLVSQ(PRIORITY)
RETINTVL(999999999) USAGE(NORMAL)
TRIGGER TRIGTYPE(FIRST)
TRIGDPTH(1) TRIGMPRI(0)
QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
QDPLOEV(DISABLED) QSVCINT(999999999)
QSVCIEV(NONE) DISTL(NO)
NPMCLASS(NORMAL) DEFTYPE(PREDEFINED)
TYPE(QLOCAL) SCOPE(QMGR)
DEFBIND(OPEN) IPPROCS(1)
OPPROCS(3) CURDEPTH(0)
and here is my process details
DIS PROCESS(DLQPROCESS)
8 : DIS PROCESS(DLQPROCESS)
AMQ8407: Display Process details.
DESCR( )
APPLICID(/export/home/mqm/admin/scripts/CheckDLQDepth/CheckDLQDepth.sh)
USERDATA( ) ENVRDATA(&)
PROCESS(DLQPROCESS) ALTDATE(2006-12-1
ALTTIME(10.53.07) APPLTYPE(UNIX)
Thank you for your input!!! |
|
Back to top |
|
 |
Vitor |
Posted: Mon Dec 18, 2006 7:59 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
hkhan12 wrote: |
IPPROCS(1) |
If the queue is already open for input (i.e. being read) a trigger message will not be generated. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
SAFraser |
Posted: Mon Dec 18, 2006 8:12 am Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
There seems to be a typo in the process you specified in your DLQ definition.
Quote: |
DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
1 : DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Default Dead Letter Queue)
PROCESS(DLQPROESS) BOQNAME( )
DIS PROCESS(DLQPROCESS)
8 : DIS PROCESS(DLQPROCESS) |
Hope it's just that simple! |
|
Back to top |
|
 |
kevinf2349 |
Posted: Mon Dec 18, 2006 8:33 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Quote: |
INITQ(SYSTEM.CHANNEL.INITQ) |
WHAT! Why? Use your own dang INITQ and leave that one alone unless you are triggering a channel that is  |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 11:23 am Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Thank you guys for all your help. Yes, I noticed that there was a typo in process name and I corrected it. I have defined another queue like SYSTEM.CHANNEL.INITQ and now my DLQ using a new initiation queue but my DLQ still showing IPPROC(1). I closed all applications such as IH03, and other ones and noticed that IPPROC(1) is NOT clearing.
Any help would be highly appreciated!!! |
|
Back to top |
|
 |
SAFraser |
Posted: Mon Dec 18, 2006 11:59 am Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
What is the display of queue status?
DIS QS(your_dlq) type(handle) all
That should tell you what has the queue open for input. |
|
Back to top |
|
 |
hkhan12 |
Posted: Mon Dec 18, 2006 12:06 pm Post subject: |
|
|
Voyager
Joined: 08 Aug 2002 Posts: 98
|
Here it is my DLQ status. Of course, its showing APPLTAG(runmqtrm) because I have ran runmqtrm -m QMgr_Name in foreground at this point of time to see the trigger messages.
DIS QSTATUS(SYSTEM.DEAD.LETTER.QUEUE) TYPE(HANDLE) ALL
4 : DIS QSTATUS(SYSTEM.DEAD.LETTER.QUEUE) TYPE(HANDLE) ALL
AMQ8450: Display queue status details.
QUEUE(SYSTEM.DEAD.LETTER.QUEUE) PID(19687)
APPLTAG(runmqtrm) TID(1)
APPLTYPE(SYSTEM) CHANNEL()
CONNAME() BROWSE(NO)
INPUT(NO) INQUIRE(YES)
OUTPUT(YES) SET(NO)
USERID(mqm) |
|
Back to top |
|
 |
SAFraser |
Posted: Mon Dec 18, 2006 12:26 pm Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
Well, this is a real conundrum.
Kevin has suggested that you trigger the DLQ and Vitor states that a queue with an IPPROC will not generate a trigger message.
The admin manual states:
Quote: |
Once a trigger monitor has started, it will continuously monitor the specified initiation queue. The trigger monitor will not stop until the queue manager ends. While the trigger monitor is running it keeps the dead letter queue open. |
I don't know the answer to this one, I'm just making more questions for our Grand Masters..... |
|
Back to top |
|
 |
|