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 Discussion » Send mail to MQ Admins if there is any message in DLQ

Post new topic  Reply to topic Goto page Previous  1, 2, 3  Next
 Send mail to MQ Admins if there is any message in DLQ « View previous topic :: View next topic » 
Author Message
kevinf2349
PostPosted: Mon Dec 18, 2006 12:36 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

I didn't think the original intent was to run the DLQ handler. I thought it was to simply to send an email?

Scope creep will kill ya!

I suspect that you have already come to the conclusion that you can email, or you can run the DLQ handler, not both unless you terminate the DLQ handler.

Now you could run the DLQ handler to put the messages into other queues and trigger those to send an email, but then you are really getting into a Rube Goldberg situation where you may really want to consider a monitor.

Just what are the real requirements?
Back to top
View user's profile Send private message
hkhan12
PostPosted: Mon Dec 18, 2006 12:49 pm    Post subject: Reply with quote

Voyager

Joined: 08 Aug 2002
Posts: 98

Hi Kevin,

I don't think I mentioned that I'm running DLQ Handler. I still stickt to my original plan i.e. trigger my DLQ which is SYSTEM.DEAD.LETTER.QUEUE.

So, once I'm able to trigger my DLQ, my process DLQPROCESS will run my shell script which will send an email.

Here is my current setting of SYSTEM.DEAD.LETTER.QUEUEU & DLQPROCESS, and my new Initiation Queue i.e. DLQINITQ.

DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
7 : DIS QL(SYSTEM.DEAD.LETTER.QUEUE)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Default Dead Letter Queue)
PROCESS(DLQPROCESS) BOQNAME( )
INITQ(DLQINITQ) TRIGDATA( )
CLUSTER( ) CLUSNL( )
QUEUE(SYSTEM.DEAD.LETTER.QUEUE) CRDATE(2006-09-22)
CRTIME(16.23.10) ALTDATE(2006-12-1
ALTTIME(14.06.36) 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(0)
OPPROCS(0) CURDEPTH(0)

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)

My Initiation Queue details
DIS QL(DLQINITQ)
9 : DIS QL(DLQINITQ)
AMQ8409: Display Queue details.
DESCR(WebSphere MQ Channel Initiation Queue)
PROCESS( ) BOQNAME( )
INITQ( ) TRIGDATA( )
CLUSTER( ) CLUSNL( )
QUEUE(DLQINITQ) CRDATE(2006-12-1
CRTIME(14.04.56) ALTDATE(2006-12-1
ALTTIME(14.04.56) GET(ENABLED)
PUT(ENABLED) DEFPRTY(0)
DEFPSIST(NO) MAXDEPTH(1000)
MAXMSGL(2000) BOTHRESH(0)
NOSHARE DEFSOPT(EXCL)
HARDENBO MSGDLVSQ(PRIORITY)
RETINTVL(999999999) USAGE(NORMAL)
NOTRIGGER TRIGTYPE(NONE)
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(0)
OPPROCS(0) CURDEPTH(0)
Back to top
View user's profile Send private message
SAFraser
PostPosted: Mon Dec 18, 2006 12:52 pm    Post subject: Reply with quote

Shaman

Joined: 22 Oct 2003
Posts: 742
Location: Austin, Texas, USA

Kevin, the excerpt I posted related to the trigger monitor, not the dead letter handler. I didn't know that runmqtrm kept the DLQ open until I read about it a few minutes ago.

I don't think hkhan wants to run the dead letter handler.
Back to top
View user's profile Send private message
hkhan12
PostPosted: Mon Dec 18, 2006 12:55 pm    Post subject: Reply with quote

Voyager

Joined: 08 Aug 2002
Posts: 98

I don't want to run the DLQ Handler at the moment. Right now all I want is to trigger my SYSTEM.DEAD.LETTER.QUEUE and then my process can send an email. I have tested my shell script and it is working just fine if it run alone.
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Mon Dec 18, 2006 12:59 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

SAFraser wrote:
I didn't know that runmqtrm kept the DLQ open until I read about it a few minutes ago.


AFAIK it doesn't.....unless it actually writes a dead letter message itself.

What chapter of the admin manual are you reading?
Back to top
View user's profile Send private message
SAFraser
PostPosted: Mon Dec 18, 2006 1:22 pm    Post subject: Reply with quote

Shaman

Joined: 22 Oct 2003
Posts: 742
Location: Austin, Texas, USA

Esteemed GM, you read it and see what you think.

System Admin/ WebSphere MQ Control Commands/ the control commands/ runmqtrm
http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.amqzag.doc/ztrgmon.htm

I have never been aware of this before, that's for sure. Be easy to test, I guess.
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Mon Dec 18, 2006 1:31 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Hmmmm

It isn't worded like that in the 5.3 manuals and I have just tried it on 6.0 on Windows and the DLQ is not being opened when I run RUNMQTRM. Interesting

Maybe someone from IBM can throw light on this?

I have to say I am still inclined to believe they mean if it writes to the DLQ it keeps it open, but a definitive answer from IBM would be nice.
Back to top
View user's profile Send private message
wschutz
PostPosted: Mon Dec 18, 2006 2:05 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Sure it does (runmqtrm) when it PUTs a messages on the DLQ.... but that should be for output only, which doesn't play into triggering.

Of course, the listing that hkhan12 posted above shows a curdepth of zero on the DLQ , so I wouldn't expect anything to happen. And the initq has an IPPROCS of zero, so no trigMon is watching it.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
hkhan12
PostPosted: Mon Dec 18, 2006 2:50 pm    Post subject: Reply with quote

Voyager

Joined: 08 Aug 2002
Posts: 98

Hi All,

Thank you so much for all your input and help.

At last, my DLQ is triggering and my shell script is sending an email properly. It was my fault. When I was running my TrigMon, I was NOT mentioning the initiation queue name and I guess it was using default initiation queue which is SYSTEM.CHANNEL.INITQ.

When I ran my TrigMon with DLQINITQ & SYSTEM.DEFAULT.INITIATION.QUEUE, every thing works fine.

Again, thank you so much for all your help.

Having said that, my next project would be to write a shell script to capture SCYEXIT & SCYDATA attributes from SVRCONN channels under each Queue Manager running on a machine. As I said earlier, there are about 12 Queue Managers running on one machine.

This script would run against all SVRCONN channels under each queue manager.

I will start looking into it may be in a day or two. In the mean time, if anybody have any suggestions would be again highly appreciated.

Again, Thank you so much!!!
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Dec 18, 2006 4:02 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Quote:
Having said that, my next project would be to write a shell script to capture SCYEXIT & SCYDATA attributes from SVRCONN channels under each Queue Manager running on a machine.


Why?

I mean, really, WHY?

These aren't going to change dynamically.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wschutz
PostPosted: Mon Dec 18, 2006 5:43 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Maybe its a security scan to ensure that they HAVEN'T changed.....

btw, hkhan12, you do know that you have to clear the DLQ of all messages before your script will be triggered again, right?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
hkhan12
PostPosted: Tue Dec 19, 2006 6:07 am    Post subject: Reply with quote

Voyager

Joined: 08 Aug 2002
Posts: 98

Wayne - Yes, I know that I have to clear all my DLQs before it strarts triggering.

Jeff - your question is valid. actually currently we have LogIP in placed for all our SVRCONN channels and we are planning to replace it with BlockIP2.

The idea here is to replace all LogIP with BlockIP2 through the script. At this point, I don't know if it is viable but I want to give it a try. I'm kind of scared when you said SCYDATA & SCYEXIT are not going to change dynamically.

So, the first step I thought lets first get all SVRCONN channels SCYDATA & SCYEXIT attributes that will give me a list of channels under each queue manager.
Back to top
View user's profile Send private message
bbburson
PostPosted: Tue Dec 19, 2006 6:21 am    Post subject: Reply with quote

Partisan

Joined: 06 Jan 2004
Posts: 378
Location: Nowhere near a queue manager

hkhan12 wrote:
So, the first step I thought lets first get all SVRCONN channels SCYDATA & SCYEXIT attributes that will give me a list of channels under each queue manager.

saveqmgr from SupportPac MS03 will give you this and much more.

Back to top
View user's profile Send private message
wschutz
PostPosted: Tue Dec 19, 2006 6:22 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

something like:
Code:
dspmq | grep 'STATUS(Running)' | sed 's/QMNAME(\(.*\)) *STATUS.*/\1/' | xargs -i saveqmgr.linux -1 -c -m {} | grep SVRCONN

_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
jefflowrey
PostPosted: Tue Dec 19, 2006 6:27 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

No, what I meant by "change dynamically" was - these don't change "on their own". They only change when someone changes them.

I really wouldn't bother with grabbing the old values, I'd just write an ALTER script to set the new values.

Thirdly, if you want to authenticate your client users, and you have business requirements to do so, maybe you should consider using SSL or WebSphere MQ Extended Security edition or CapitalWare's MQAUX or some other third party professional solution, instead of the hobbyist supported BlockIP.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2, 3  Next Page 2 of 3

MQSeries.net Forum Index » General Discussion » Send mail to MQ Admins if there is any message in DLQ
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.