That's exactly how this post started. :-)
I was asked some time ago to provide performance information about EAI components deployed in a specific Siebel Enterprise. A very basic step-by-step receipt to recover those details are listed below:
- Find which servers have the EAI components deployed
- Get those parameters for each server
- Generate a (hopefully) nice to read report of it.
If I want just to compare values, Siebel already has the cfgmerge tool for that. Here is a nice reference about it: http://siebeltechworld.blogspot.com/2013/04/component-parameter-export-and.html.
Since I'm a fan of srvrmgr program (in detriment of using IE + Siebel Web Client + CRTL C + CRTL V) and was on a Linux environment, that is how I did it (after connecting to the Siebel Enterprise to check which servers had the component):
Since I'm a fan of srvrmgr program (in detriment of using IE + Siebel Web Client + CRTL C + CRTL V) and was on a Linux environment, that is how I did it (after connecting to the Siebel Enterprise to check which servers had the component):
srvrmgr> list comp EAI%
SV_NAME|CC_ALIAS|CC_NAME|CT_ALIAS|CG_ALIAS|CC_RUNMODE|CP_DISP_RUN_STATE|CP_STARTMODE|CP_NUM_RUN_TASKS|CP_MAX_TASKS|CP_ACTV_MTS_PROCS|CP_MAX_MTS_PROCS|CP_START_TIME|CP_END_TIME|CC_INCARN_NO|CC_DESC_TEXT|
someserver01|EAIObjMgr_enu|EAI Object Manager (ESN)|EAIObjMgr|EAI |Interactive|Activated |Auto |0 |20 |1 |1 |2014-10-23 01:37:37| | | |
someserver02|EAIObjMgr_enu|EAI Object Manager (ESN)|EAIObjMgr|EAI |Interactive|Activated |Auto |0 |100 |1 |5 |2014-10-23 01:15:09| | | |
someserver03|EAIObjMgr_enu|EAI Object Manager (ESN)|EAIObjMgr|EAI |Interactive|Activated |Auto |0 |100 |3 |5 |2014-10-23 01:24:14| | | |
I could also used the Server Group feature (if implemented) for that but that was not the case. And then I added following commands to a text file named "params.txt":
list param MaxTasks for component EAIObjMgr_enu
list advanced param MaxSharedDbConns for component EAIObjMgr_enu
list advanced param MinSharedDbConns for component EAIObjMgr_enu
list param MaxMTServers for component EAIObjMgr_enu
list param MinMTServers for component EAIObjMgr_enu
list param BusObjCacheSize for component EAIObjMgr_enu
And applying a bit of Bash scripting:
$ for i in $(seq 1 3); do srvrmgr -e ENTERPRISE -g $SIEBEL_GATEWAY -u sadmin -p PASS -s "someserver0${i}" -i $HOME/params.txt -o $HOME/params.out -b; cat $HOME/params.out >> "$HOME/params_result_${i}.txt"; done; rm $HOME/params.out
And done! Right? No... some more editing will be required here to get a nice table with the information per server. Boring.
When I wrote Siebel::Srvrmgr I thought it would be a better idea to make something generic to be reused later. That's a nice example of that, enter Siebel::Params::Checker.
Built upon Siebel::Srvrmgr, the Siebel::Params::Checker distribution provides the command line program scpc.pl (not a very creative name, I know) that does exactly the steps I gave above plus generating a nice to read (hopefully) HTML report.
And you should get something like that after the program finishes (you're on your own to open the HTML file):
Enjoy it! Release 0.001 is already available on CPAN, 0.002 should follow in the next few days.
No comments:
Post a Comment