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 » WebSphere Message Broker (ACE) Support » need MB script help on linux

Post new topic  Reply to topic
 need MB script help on linux « View previous topic :: View next topic » 
Author Message
sebastia
PostPosted: Tue Oct 01, 2013 5:02 am    Post subject: need MB script help on linux Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

Hi, cloeagues.
I am trying to write a script to display some MB interesting info.
The platform is AIX but Linux shall be ok.

The code I have written is

Code:
me@p9111-520:~/cmds> cat ./mostra_MB_all.sh
#!/bin/bash
# Get broker name and broker queue manager name
# sample : BIP1284I: Broker 'BKP9111' on queue manager 'P9111' is running.

echo ">>> Get broker name"
mqsilist | grep BIP1284I    | while read msgid a broker b c d brokerqm other2

do
  echo "Processing broker $broker with QM $brokerqm"
  # Get each execution group name
  # sample : BIP1286I: Execution group 'EG_cat_A' on broker 'BKP9111' is running.

  echo ">>> 0 Get execution group name for broker ($broker)"
  mqsilist $broker


And the problem comes with some strange chars I get :

Code:
me@p9111-520:~/cmds> bash -x ./mostra_MB_all.sh
+ echo '>>> Get broker name'
>>> Get broker name
+ mqsilist
+ grep BIP1284I
+ read msgid a broker b c d brokerqm other2
+ echo 'Processing broker '\''BKP9111'\'' with QM '\''P9111'\'''
Processing broker 'BKP9111' with QM 'P9111'

+ echo '>>> 0 Get execution group name for broker ('\''BKP9111'\'')'
>>> 0 Get execution group name for broker ('BKP9111')
+ mqsilist ''\''BKP9111'\'''
BIP8013E: Component does not exist.


I think the problem comes from the "\" in front and after the name,
but I dont know how to remove them

Would somebody be kind enough to teach me a bit of script tricks ?
Thanks. Sebastian.

PD.- what I want to do at the very end is ... (pseudo code)

for all the brokers in the machine ... {mqsilist}
get Execution Group name
for every Execution Group ... {mqsireportproperties}
get JVM Heap min and max size

Bye !
Back to top
View user's profile Send private message Visit poster's website
JosephGramig
PostPosted: Tue Oct 01, 2013 5:19 am    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1244
Location: Gold Coast of Florida, USA

Please consider using the Java CMP API to do the job. I think you will eventually find it easier and more flexible.
Back to top
View user's profile Send private message AIM Address
lancelotlinc
PostPosted: Tue Oct 01, 2013 5:38 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Or JMX would be able to do this pretty easily.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
sebastia
PostPosted: Tue Oct 01, 2013 5:57 am    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

JosephGramig wrote:
Please consider using the Java CMP API to do the job. I think you will eventually find it easier and more flexible.


Well, I remember "CM" standed for Cfg Mgr, so I thought it was not used anymore ...

jejeje

again, I am wrong

Thanks for the pointer !
Back to top
View user's profile Send private message Visit poster's website
mqjeff
PostPosted: Tue Oct 01, 2013 6:38 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

It's now the broker APi or the Admin API depending on which level you're at.
Back to top
View user's profile Send private message
sebastia
PostPosted: Tue Oct 01, 2013 7:10 am    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

OK, the API is OK, but ... why not to use tools provided by shell ?

I am sure some "cut" or "sed" strings are missing ...

()
Back to top
View user's profile Send private message Visit poster's website
mqjeff
PostPosted: Tue Oct 01, 2013 7:26 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

The \ isn't what you're getting.

What you're getting is \', which is an escaped single-quote.

Yes, some kind of regular expression is the right choice to resolve this.

http://perldoc.perl.org/perlre.html
Back to top
View user's profile Send private message
mapa
PostPosted: Wed Oct 02, 2013 8:43 am    Post subject: Reply with quote

Master

Joined: 09 Aug 2001
Posts: 257
Location: Malmö, Sweden

Hi, had some old stuff laying around that we used for WMB6 that is related, here is some part of it that I just modified to make it work on a WMB7 AIX (verified).

Code:

BROKER=`mqsilist -d 0 | tr - : | tr -d ' ' | cut -d: -f3`
QMGR=`mqsilist -d 0 | tr - : | tr -d ' ' | cut -d: -f4`
echo $BROKER $QMGR      

#List EGs            
for eg in `mqsilist $BROKER -d 0 | tr - : | tr -d ' ' | cut -d: -f3`; do echo $eg; done;

#List Msgflows in all Executiongroups
for eg in `mqsilist $BROKER -d 0 | tr - : | tr -d ' ' | cut -d: -f3`; do echo "Executiongroup: $eg"; mqsilist $BROKER -e $eg -d 0| grep -v "Successful" | sed "s/.*:/Msgflow:/1"; done;
Back to top
View user's profile Send private message Visit poster's website
sebastia
PostPosted: Thu Oct 03, 2013 2:23 am    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

mqjeff wrote:
Yes, some kind of regular expression is the right choice to resolve this :

http://perldoc.perl.org/perlre.html


Excelent link, Jeff !
Back to top
View user's profile Send private message Visit poster's website
sebastia
PostPosted: Thu Oct 03, 2013 2:25 am    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

mapa wrote:
Hi, had some old stuff laying around that we used for WMB6 that is related, here is some part of it that I just modified to make it work on a WMB7 AIX (verified).

Code:

BROKER=`mqsilist -d 0 | tr - : | tr -d ' ' | cut -d: -f3`
QMGR=`mqsilist -d 0 | tr - : | tr -d ' ' | cut -d: -f4`
echo $BROKER $QMGR      

#List EGs            
for eg in `mqsilist $BROKER -d 0 | tr - : | tr -d ' ' | cut -d: -f3`; do echo $eg; done;

#List Msgflows in all Executiongroups
for eg in `mqsilist $BROKER -d 0 | tr - : | tr -d ' ' | cut -d: -f3`; do echo "Executiongroup: $eg"; mqsilist $BROKER -e $eg -d 0| grep -v "Successful" | sed "s/.*:/Msgflow:/1"; done;


mr MAPA : I like the simplicity of your code.
Works perfect on Linux SLES10.
Shall try to insert it in a loop (for all brokers in the machine).

Thanks a lot
Back to top
View user's profile Send private message Visit poster's website
sebastia
PostPosted: Thu Oct 03, 2013 4:56 am    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

Well, here is a working code (SLES 10)

Code:
#!/bin/bash
echo ">>> Get broker names"

# BIP1284I: Broker 'BKP9111' on queue manager 'P9111' is running
mqsilist | grep BIP1284I | sed -e "s/'/ /g" | while read -r msgid a BROKER b c d brokerqm e
do
  echo "Processing broker ($BROKER) with QM ($brokerqm)"

# BIP1286I: Execution group  EG_A  on broker  BKP9111  is running.
  mqsilist $BROKER | grep BIP1286I | sed -e "s/'/ /g" | while read -r msgidi2 a b EGN c d BKNM e
  do
    echo "Processing eg ($EGN) in broker ($BKNM)"

# BIP1288I: Message flow 'mfP9111' on execution group 'EG_A' is running.
    mqsilist $BROKER  -e $EGN | grep BIP1288I | sed -e "s/'/ /g" | while read -r msgid3 a b MFNM c d e EGNM f
    do
      echo "Have msg flow ($MFNM) in eg ($EGNM)"
    done
  done
done
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » need MB script help on linux
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.