Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Christoph Stöttner - a stoeps
This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internatio...
Upcoming SlideShare
Loading in...5
×

Script it! - Basics to automate IBM WebSphere administration

4,643

Published on

Basics to write your own jython scripts to get reliable and consistent settings within IBM WebSphere Application Server.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,643
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
213
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • Be Careful! Think twice!
    Create Backups
    Create a Testsystem
    Make a documentation of your changes
  • 90% on Postinstall Tasks within ISC
    long click paths to find the appropriate menu
  • Give a short introduction why scripting is useful and why you started to script with jython
  • print output on console
    raw_input get input from user
  • print output on console
    raw_input get input from user
  • Transcript of "Script it! - Basics to automate IBM WebSphere administration "

    1. 1. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Script it! Basics to automate IBM WebSphere administration
    2. 2. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. 2 Sponsors
    3. 3. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. About Me Christoph Stöttner IBM Software Consultant at Fritz & Macziol Specialized in the IBM Connections and IBM Domino Infrastructure Bavarian Linux and Scripting Lover, Blogger Speaker at: 3
    4. 4. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Disclaimer • With scripts – Shell / BASH / ZSH / KSH / SH – Jython / JACL – Powershell / Batch / VB • You can... – save a lot of time! – change tons of stuff in seconds! 4 Use all scripts i show in this slides or you download from my repositories WITHOUT WARRANTY and on your own risk!
    5. 5. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. I'm Not A Developer • but even as an Admin, i can read and write JYTHON • Code is not beautiful, but it works • Will provide you the basics to create scripts the next 20 minutes 5
    6. 6. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. WEBSPHERE SCRIPTING 10
    7. 7. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Get Jython Commands 11
    8. 8. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Command Assistance Notification 12
    9. 9. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Log Command Assistance Commands • $WAS_HOME/profiles/Dmgr01/logs/dmgr/ commandAssistanceJythonCommands_username.log 13
    10. 10. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Make Scripts Portable • Command assistance contains hardcoded – cell – server – nodename • Change them to port to other hosts! • So fill these points is the biggest issue! – Solution: be patiented 14
    11. 11. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. wsadmin - Command Line • execute wsadmin in Deployment Manager bin cd $WAS_HOME/profiles/Dmgr01/bin • Linux | AIX ./wsadmin.sh -lang {jython | jacl} -username wasadmin -password password • Windows wsadmin.bat -lang {jython | jacl} -username wasadmin -password password • create Alias or Shell Variable alias wsadmin='cd {WAS_HOME}/profiles/Dmgr01/bin;./wsadmin.sh –lang jython' 15
    12. 12. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. wsadmin / jython / python • Test your commands in the built-in shell 16
    13. 13. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. wsadmin – WebSphere Tasks • AdminControl.getCell() – print the cellname of your environment • AdminTask.listServers() – List all servers (nodeagents, dmgr, appserver, webservers) • AdminTask.listServers('[-serverType APPLICATION_SERVER]') – List of all Enterprise Application Servers • AdminApp.list() – List of all installed applications • AdminConfig.getid('/DataSource: blogs/') – access DataSource ID BLOGS • AdminConfig.save() – save configuration, without all changes are lost after closing wsadmin 17
    14. 14. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. wsadmin – Connections Tasks • execfile("connectionsConfig.py") • execfile("applicationAdmin.py") • FilesPolicyService.add(title, size) • CommunitiesService.moveCommunityToSubc ommunity(comm_id_parent, comm_id) • synchAllNodes() 18
    15. 15. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. JYTHON BASICS 19
    16. 16. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Jython • Version 2.5.2 included in wsadmin – Functions of Python 2.7 or 3.x will not work! • Grouping of code (functions, if ...) without brackets – indent of 4 spaces – problems with tabs on Windows • replace tabs with 4 spaces (editor settings) 20
    17. 17. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Jython • Variables can be declared without type – String • variable1 = "This is a string" – Integer • variable2 = 1 – Float • variable3 = 1.2 • Comments with # 21
    18. 18. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Jython Lists and Dictionaries • List • Dictionary 22
    19. 19. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Some more • if • for 23
    20. 20. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. PROGRAMMING EXAMPLES 24
    21. 21. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Combine Commands • Let's create the first script • Update VersionStamp in lotusconnections-config.xml • What would you do within wsadmin: – execfile(“connectionsConfig.py”) – LCConfigService.checkOutConfig(‘D:temp’, ‘cnxwas1Cell01’) – LCConfigService.updateConfig(‘versionStamp’,””) – LCConfigService.checkInConfig(‘D:temp’, ‘cnxwas1Cell01’) – synchAllNodes() 25
    22. 22. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Combine Commands (2) • We have to use 2 variables for path and cellname 26
    23. 23. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. J2EE Backup 27
    24. 24. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Create a backup of J2EE Roles • Get a list of all installed applications – AdminApp.list() • String with n after each app • split to get a jython list with splitline() • Print information of J2EE Roles – AdminApp.view( 'BLOGS', "-MapRolesToUsers" ) • create a file, open for writing – my_file = open( /tmp/doc1.txt, 'w' ) • write information to file – myfile.write( ' Text to write here') 28
    25. 25. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Create a backup of J2EE Roles (2) • Put it together • More details? Have a look at ... 29
    26. 26. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. COMMUNITY SCRIPTS 30
    27. 27. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Community Scripts • Download links in the end of this presentation • Useful Scripts • New version (github.com/stoeps13/ibmcnx2) – all scripts moved to a subfolder – using a properties-file to get save time • Integrated menu 31
    28. 28. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Installation • Extract zip to DMGR/bin • all files are in subfolder ibmcnx – rename ibmcnx_sample.properties to ibmcnx.properties – edit ibmcnx.properties • check j2ee.* (used for setting security roles) • db* (DB Host, User and Password) • Values within [Tuning] are copied from IBM Connections Performance Tuning Guide 32
    29. 29. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Load DB2 JDBC Driver • Linux – create wasuserscript.sh • export WAS_EXT_DIRS=$WAS_EXT_DIRS:/opt/IBM/JDBC – export WAS_USER_SCRIPT=wasuserscript.sh • before starting wsadmin! • Windows – edit setupCmdLine.bat (dmgrbin) – add jdbc path at WAS_EXT_DIRS 33
    30. 30. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. ibmcnx.properties 34
    31. 31. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Access Properties • Getting a value from properties 35
    32. 32. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Get A List Of All Servers • Class to get a list of servers 36
    33. 33. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. ibmcnx/functions.py • Collections of functions used within the scripts • import ibmcnx.functions • ibmcnx.functions.checkBackupPath( path ) – checks if path available or create it • ibmcnx.functions.getDSId( dbname ) – returns DataSource ID of dbname – required to change DataSource Settings 37
    34. 34. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. DEMO 38
    35. 35. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. RESSOURCES 39
    36. 36. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Documentation • Community Scripts – http://scripting101.org • Blogs – http://www.stoeps.de – http://kbild.ch – http://www.socialshazza.com 40
    37. 37. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Links • Learn Jython / Python – http://www.jython.org/jythonbook/en/1.0/ – http://www.jython.org/docs/index.html • Books – WebSphere Application Server Administration Using Jython (2009) Authors: Robert A. Gibson, Arthur Kevin McGrath and Noel J. Bergman – The Definitive Guide to Jython: Python for the Java Platform (2010) Authors: Josh Juneau, Frank Wierzbicki, Leo Soto and Victor Ng • Learn Python (similar to Jython) – Great online courses on http://www.codecademy.com/ (Python, API, JavaScript) – http://learnpythonthehardway.org/book/ 41
    38. 38. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Download Scripts • http://github.com/stoeps13/ibmcnx2 • http://github.com/stoeps13/ibmcnxscripting • http://openntf.org/main.nsf/project.xsp?r=pr oject/Administration%20Scripts%20for%20We bSphere 42
    39. 39. Christoph Stöttner - a stoeps This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. 43 Christoph Stöttner IBM Software Consultant Fritz & Macziol GmbH www.fum.de cstoettner@fum.de christophstoettner www.stoeps.de scripting101.org github.com/stoeps13 christoph.stoettner@stoeps.de twitter.com/stoeps facebook.com/christoph.stoettner www.stoeps.de/+ slideshare.net/ChristophStoettner linkedin.com/pub/christoph-stoettner/13/30a/2b3/ xing.com/profile/Christoph_Stoettner about.me/stoeps y y ab c8j l
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×