Author |
Message
|
piyalida |
Posted: Mon Oct 21, 2002 11:56 pm Post subject: urgent :Can we generate performance event messages on OS/390 |
|
|
Novice
Joined: 21 Oct 2002 Posts: 22 Location: New York
|
Can we generate performance event messages on OS/390 through a C program.PCF commands are not supported on MQSeries 5.2 in mainframe.As I understand,event messages use the CFH structure as with PCF except that Format field needs to be set to MQFMT_EVENT for event messages.
Since PCF commands are not supported in OS/390,would I be able to generate event messages?The manuals give sample event generation programs but don't mention if it can run on OS/390. |
|
Back to top |
|
 |
dgolding |
Posted: Wed Oct 23, 2002 1:02 am Post subject: |
|
|
 Yatiri
Joined: 16 May 2001 Posts: 668 Location: Switzerland
|
Certainly channel and qmgr (SYSTEM.ADMIN.QMGR.EVENT and SYSTEM.ADMIN.CHANNEL.EVENT) messages get generated on OS/390, so I can see no reason why PERFM events wouldn't be generated also. We have our QDEPTHs up so high we would get an exploding disk drive before we get a QDEPTHHI or QFULL event
Don't forget, that initially QDEPTHHI isn't enabled on a queue, so you have to fill it first (which enables QDEPTHLO) then drain it, whichsets QDEPTHLO events to "off" and sets QDEPTHHI events to "on". And the values HI and LO are PERCENTAGES, and not NUMBER of messages.
HTH |
|
Back to top |
|
 |
piyalida |
Posted: Wed Oct 23, 2002 2:02 am Post subject: |
|
|
Novice
Joined: 21 Oct 2002 Posts: 22 Location: New York
|
I'm referring to generating it through a program.I want to generate a queue not serviced event based on the parameters returned from RESET QSTATS command on OS/390.I would need to code the Reason code of the event header for candle monitoring.Can I do it in OS/390 as PCF commands are not supported on MQ V5.2 in OS/390. |
|
Back to top |
|
 |
dgolding |
Posted: Wed Oct 23, 2002 3:06 am Post subject: |
|
|
 Yatiri
Joined: 16 May 2001 Posts: 668 Location: Switzerland
|
I can't see any reason why you can't generate the event message yourself, and put it in the SYSTEM.ADMIN.PERFM.EVENT queue. PCF isn't supported, in that there is no command server running to processing commands on SYSTEM.COMMAND.ADMIN.QUEUE, but event messages are AFAIK "Universal".....
HTH |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Oct 23, 2002 8:29 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi piyalida,
I have done simalar things to what you are trying to do (I worked at Candle for 3 years!!). I wrote my own user defined Channel performance event messages to SYSTEM.ADMIN.PERFM.EVENT on OS/390 for Candle's monitoring tool to pick up.
Forget about PCF - you need to think about Event Headers. I specifically used MQCFH, MQCFST & MQCFIN. I setup the event headers and then set the reason field (e.g. pEvtHdr->Reason) equal to some wild number (e.g. 9556789).
Then I setup a situation in the CMW, to look for the wild reason number and then do some "Running Man" action.
later
Roger... _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
piyalida |
Posted: Thu Nov 07, 2002 2:08 am Post subject: Event Data |
|
|
Novice
Joined: 21 Oct 2002 Posts: 22 Location: New York
|
Thanks for the response.It works but I'm stuck up with generating the event data.I want to put the queue name alongwith the reason code.Candle is not able to recognize the queue name when the situation is coded as MQEvent.ResourceName = 'Q name' but works when the situation is created as QStats.QueueName = 'Q Name'.This is the code that I 've.Can anybody tell me what's wrong with this code?
AdminMsgLen = MQCFH_STRUC_LENGTH
+ MQCFST_STRUC_LENGTH_FIXED
+ MQ_Q_NAME_LENGTH;
pAdminMsg = (MQBYTE *)malloc( AdminMsgLen );
pPCFHeader = (MQCFH *)pAdminMsg;
pPCFString = (MQCFST *)(pAdminMsg
+ MQCFH_STRUC_LENGTH
);
pPCFHeader->Type = MQCFT_EVENT;
pPCFHeader->StrucLength = MQCFH_STRUC_LENGTH;
pPCFHeader->Version = MQCFH_VERSION_1;
pPCFHeader->Command = MQCMD_PERFM_EVENT;
pPCFHeader->MsgSeqNumber = MQCFC_LAST;
pPCFHeader->Control = MQCFC_LAST;
pPCFHeader->CompCode = MQCC_WARNING;
pPCFHeader->ParameterCount = 1;
tup string parameter block - queue name */
pPCFString->Type = MQCFT_STRING;
pPCFString->StrucLength = MQCFST_STRUC_LENGTH_FIX
+ MQ_Q_NAME_LENGTH;
pPCFString->Parameter = MQCA_Q_NAME;
pPCFString->CodedCharSetId = MQCCSI_DEFAULT;
pPCFString->StringLength = MQ_Q_NAME_LENGTH;
memcpy(pPCFString->String, QName, MQ_Q_NAME_LENGTH );
pPCFHeader->Type = MQCFT_EVENT;
pPCFHeader->Command = MQCMD_PERFM_EVENT;
pPCFHeader->MsgSeqNumber = MQCFC_LAST;
pPCFHeader->Control = MQCFC_LAST;
pPCFHeader->CompCode = MQCFC_LAST;
Its a performance event message.
Thanks |
|
Back to top |
|
 |
RogerLacroix |
Posted: Thu Nov 07, 2002 9:05 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
When posting code, please wrap your code with the BBCode tags of [code] and [/code] - it makes the code much more readable.
In the MQCFST structure, I set the "String" field to contain the extra information that I wanted to pass to the Candle agent. I can't remember the attribute field name in the CMW but if you play around you will probably find the correct field (I don't have access to a CMW right now). I think it was something goofy like, OBJECTID or SOURCE or DESTNODE.
later
Roger... _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
piyalida |
Posted: Tue Nov 12, 2002 4:37 am Post subject: |
|
|
Novice
Joined: 21 Oct 2002 Posts: 22 Location: New York
|
Thanks Roger,
Couldn't find anything like OBJECTID or Source ID,there is a parameter called Queue Name.What we are looking at right now is the
MQEvent.Resource_Name which is failing.Anymore ideas?Anything different in the way a situation has to be defined for Distributed as against Mainframe??
Thanks |
|
Back to top |
|
 |
RogerLacroix |
Posted: Tue Nov 12, 2002 9:50 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Sorry, I no longer use Candle's product, so I don't have a way to test catching the event.
later
Roger... _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
|