Solved

Websphere 6.1 configuration details collector

Posted on 2010-08-27
19
917 Views
Last Modified: 2013-12-11
We have a typical Websphere ND clustered setup (6.1.x.x) with cloned physical servers across nodes and a deployment manager over one of the nodes.Our application typically makes use of connection datasources across database (Oracle 10g) and IBM MQ (v6) where the setup is more of art cluster level. The message listeners are used to poll on the queues.

In case of production scaling the clusters can span across multiple clones (15-20). Often than not, the activity like server listener updates or server custom property updates causes headaches to maintain and recheck.

Is there any non-intrusive (no separate installation will be allowed, existing sh/jacl ok) way to gather all the above (server-level/cluster-level) configuration details to avoid having to go to individual server (and listeners etc) probably when executed on DMGR.

I hope there is such a file present in websphere bin folder.
0
Comment
Question by:aibdev
  • 8
  • 7
  • 4
19 Comments
 
LVL 41

Expert Comment

by:HonorGod
ID: 33547272
I'm sorry, but I don't understand.

I've reread the "question" 3 times, and an still unsure for what you are asking.

If you have cluster members, then each was created using either an AppServer, or a Template as a boilerplate for the creation of new member.  So, I don't believe that you are asking about AppServer creation.

What, exactly, is it you are trying to do?
0
 

Author Comment

by:aibdev
ID: 33547448
Hi HonorGod, thanks for answering,

The appserver 'clones' in our production setup are unfortunately not created using any template, but again this question is not about server creation but more about future maintenances.
There are manual maintenance activities that tend to cause discrepancies between the appserver clones that is difficult to debug later on. When I say clone it means that the appserver JVM are exactly identical in all aspects and are load balanced through web servers et al and use cluster level datasources etc.

To give a couple of real examples from production -

1. The custom JVM property required update, and change on one of the appserver JVM was not saved accidentally. Similar could be the case for heap-size updates etc which happen time to time. This could not be debugged easily due to high level of load balancing on the clones and confidence that the changes had affected all the servers.

2. The 10 (JMS) listener ports on each (8) appserver clone JVM needed updates for a value and one of the listeners on one appserver JVM was accidentally missed out during the activity.

As these are production systems the above activities need to be manual (and not through jacls) increasing scope for manual error. Also I have read somewhat about visual configuration tools but again the security policies will not allow execution of any tools on production. (bureaucracy rules!!)

I have read other of your articles that might handle issue through jacl scripts, but I was wondering if there are other available methods from where the appserver level details could be extracted (as say flat files) and analysed visually, saved or referred.
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33547482
> Are there other methods available where the appserver level details could be extracted (as say flat files) and analyzed visually, saved or referred.

There is a Visual Configuration Explorer (VCE) tool/utility that should help:
http://www.ibm.com/developerworks/forums/thread.jspa?messageID=13981910

But, I haven't used it in quite some time.  I tend to use scripts to create identical servers.

For V 7, there is a "Properties Based Configuration" mechanism that can be used that appears to match your needs
http://www.ibm.com/developerworks/websphere/techjournal/0904_chang/0904_chang.html
0
 

Author Comment

by:aibdev
ID: 33547525
Hi HonorGod,

VCE would be a strict no no as it requires installation on production boxes, although I have read through its capabilities earlier.
Regards to 'Properties Based Configuration', sadly my servers are V 6.1 and hence out of scope.

To ask other ways round, is it good to copy the files from the appserver (or DMGR) like server.xml/resources.xml after completion of update activities and comparing them with each other to check any missing data due to manual error. Updates like custom JVM params.
In this case I do not need to understand the content, only verify that all parameter values are same?

It would also help me to save these files for later comparisons after further updates.

What would you suggest and typically what files?
0
 
LVL 41

Accepted Solution

by:
HonorGod earned 400 total points
ID: 33547565
Is this doable?
Yes

What files should be copied, and compared?
The *.xml files under the WebSphere\AppServer\<profileName>\conf

They are xml files, so it would be best if you had some kind of XML comparison tool/utility though.
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33547567
Oh, don't manually modify any xml configuration files used by the AppServer.

That's just a warning.

So, backing up your xml files is a very good idea.
0
 

Author Comment

by:aibdev
ID: 33547579
Hi Honorgod,

Thanks for the suggestion and the files location and yes the files wont change even if I want them (the access to my role is strictly readonly), The purpose of this copying is strictly for comparing on local machines.

Although I have some reservations about this method due to large amount of JVM specific data on identical clones hence cutting down the analysis visibility, I will try this suggestion on Monday first thing and update here.
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33549079
I understand.  It certainly doesn't sound like the best of options, but it is something that should work.

Good luck
0
 
LVL 11

Expert Comment

by:Radek Baranowski
ID: 33549395
you can modify ALL existing configuration via DMgr.moreover, config of all servers in the env is stored in dmgrs 'config' dir (under cells etc.). it's then synchronized out to nodes and servers.

I do advise to do it this way - you keep you consistency and you have full control over changes.

as honorgod spoke - modyfing xmls manually is a very very bad idea and best way to send your environment to outer space for a one way trip
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 41

Expert Comment

by:HonorGod
ID: 33549545
> modyfing xmls manually is a very very bad idea and best way to send your environment to outer space for a one way trip

... not to mention making your AppServer unsupportable by IBM technical support. ;-)
0
 

Author Comment

by:aibdev
ID: 33556906
Thanks honorgod,

I got the files on local machine and compared them and as I said got the comparison related to my configurations (which is a bit messy with a lots of JVM specific IDs etc). But again in production scenarios it has to be done if it has to be done.
I am amazed why IBM doesnt provide a handy console screen for JVM specific properties to be viewed in single view.

For anyone who might require to do this thankless job in future: I got to compare the files from following location on WAS6.1 ND (and yes I DID NOT CHANGE the files on the server).

<profilename>\config\cells\<cellaname>\nodes\<nodename>\servers\<servername>...
0
 

Author Closing Comment

by:aibdev
ID: 33556921
The folder should be config?
0
 
LVL 11

Expert Comment

by:Radek Baranowski
ID: 33556960
>I am amazed why IBM doesnt provide a handy console screen for JVM specific properties to be viewed in single view.

well, it does if we say about jvm flags - for each server go to
Application servers > server1 > Java and Process Management -> Process definition > Java Virtual Machine
and there you find all properties.
0
 

Author Comment

by:aibdev
ID: 33557034
Thanks Baranello,

But I differ here,
I have about 12 to 15 identical clones with about 8 queue listeners each.
Just imagine the effort just to traverse to each of the listerners when we have CHECK and VALIDATE the parameters as a separate activity. Plus say that I have to verify listeners and jvm customs props, my traversal is now *2 and so on.

I agree that the update activity of listeners (through console) cannot avoid this effort (no jacl).
But for verififcation I could cut the effort by just downloading all server config files and comparing at my leisure.

This is typically because there are different organisational entities doing activity and validating it.
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33557035
Thanks for the grade and points.

Good luck & have a great day.
0
 
LVL 11

Expert Comment

by:Radek Baranowski
ID: 33557054
sure, then you may do a collector.sh on DMgr, download it to you box and work on some clever batches to lure all needed info out from the archive. believe me, all config info is stored on Dmgr, you don't need to go to other machines.
but of course, if you need just server.xml and resources.xml then perhaps it's easier to get it via scp from clones machine.
0
 

Author Comment

by:aibdev
ID: 33557121
Thanks Baranello,

I confirmed that too. Most of the details can also be taken from DMGR as you said.
Although I dont need a batch etc, I do need a strong pair of glasses to weed out all the unnecessary ID info from the xml server files to identify any manmade difference.

Guess what there already exists a collector.sh, but the purpose is to gather all the god forbidden data from the server to submit to IBM. I am never going to trust that as I am sure it will put all the data in another unreadable file fomat.

http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/ttrb_runct.html
0
 
LVL 11

Expert Comment

by:Radek Baranowski
ID: 33557186
nope. you'll get a jar, which is another name for a zip archive. it's not any more clever than that :)
it's a pity you can't go for jacl/jython. you could quickly pull out data remotely, anything you like via wsadmin.
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33557852
> gather all the god forbidden data

  Nope.  It is used to collect "useful" information, e.g., logs, traces, etc, that can help diagnose issues.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Most of the developers using Tomcat find it easy to configure the datasource in Server.xml and use the JNDI name in the code to get the connection.  So the default connection pool using DBCP (or any other framework) is made available and the life go…
There are numerous questions about how to setup an IBM HTTP Server to be administered from WebSphere Application Server administrative console. I do hope this article will wrap things up and become a reference for this task. You need three things…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now