Tipps Und Skripts aus dem Leben eines Connections Admins

  • Published on
    10-May-2015

  • View
    1.396

  • Download
    0

DESCRIPTION

Session ADM01 auf der bccon.de Konferenz

Transcript

1.Adm01: Tipps und Skripts aus dem Leben eines Connections Admins Christoph Stttner, Fritz & Macziol GmbH Klaus Bild, Belsoft AG 2. Klaus Bild Zrcher, Heimweh Bayer, Vater von 2 Shnen Consultant Fachgebiete IBM Connections & IBM Sametime Windows, Linux... Christoph Stttner Bayer, liebt Wandern, Vater von 2 Tchtern Consultant Fachgebiete IBM Connections & IBM Domino Infrastrukturen Linux, Linux, Linux, Windows, System I, AIX ber uns 3. Einleitung Installation und Konfiguration Autostart Performance Tuning der DataSources Einrichten der J2EE Sicherheits Rollen Konfigurieren der JVM Log Dateien Setzen der JVM Heap Size Tglicher Betrieb Business as Usal Testen der External ID gegen LDAP Aktivieren und Deaktivieren von Benutzern Synchronisation der externen Ids Arbeiten mit Policies Verschieben von Communities Reorganisieren der Datenbanken Backup der Datenbanken Restore der Datenbanken Agenda 4. ber diesen Vortrag IBM Connect 2014 - BP307 Practical Solutions for Connections Administrators - Tips and Scripts for Your Daily Business http://www.slideshare.net/ChristophStoettner/ibm-connect-2014-bp307 5. Einleitung Administration/Konfiguration einer IBM Connections Umgebung passiert zum Hauptteil ber: Integrated Solution Console: Browserbasiert, Mausklick intensiv, trge, Zeitintensiv wsadmin: Verschiedene Befehlsstze fr WAS/Connections, komplexe Befehle, Eingabe Fehler anfllig -> Nutzung von Skripts um Zeit zu sparen und Fehler zu vermeiden 6. Warnung Mit Skripts Shell / BASH / ZSH / KSH / SH, Jython / JACL Powershell / Batch / VB, SQL Kann man... Viel Zeit sparen! Sehr viel in sehr kurzer Zeit ndern/zerstren! Darum sollten Sie: Vorsicht walten lassen, zweimal berlegen! Backups erstellen Ein Testsystem benutzen nderungen dokumentieren Die Benutzung aller Skripts auf diesen Folien und in den angegebenen Download Repositories erfolgt auf eigene Gefahr und ohne Garantie! 7. Jython Gut lesbarer Code Shell und Command Line Interpreter Kann direkt in Shell getestet werden Variablen: Typzuweisung unntig, Integer mit oder Range: Praktisch fr Schleifen, startet mit 0! Listen Dictionaries if elif else Achtung: Websphere 8 nutzt Python/Jython Version 2.1 (aktuell 3.3.5) 8. Installation und Konfiguration 9. Autostart IBM WebSphere Application Server Verschiedene Mglichkeiten gefunden und diskutiert Einfachster und stabilster Weg: Deployment Manager und Node Agents als Dienst Application Server ber Monitoring Policy Starten der Application Server ber Dienst, Batch oder Skript? Probleme mit Cluster Failover Abhngigkeiten Dienst mit wasservice.sh|bat registrieren Monitoring Policy auf "Stopped" fr Installation und Update! 10. WebSphere Dienst unter Linux 11. WebSphere Dienst unter Windows cd %WAS_HOME%/bin wasservice.bat -add Dmgr -serverName dmgr -profilePath D:IBMWebSphere AppServerprofilesDmgr01 -encodeParams -restart true -startType automatic -stopArgs "-username wasadmin -password password" wasservice.bat -add Node -serverName nodeagent -profilePath D:IBM WebSphereAppServerprofilesAppSrv01 -encodeParams -restart true - startType automatic -stopArgs "-username wasadmin -password password stopservers" 12. Monitoring Policy ISC: jeden Application Server ffnen (1 15x) Server Infrastructure Java and Process Management Monitoring Pol. "Node restart state" auf "Running" setzen wsadmin: cfgMonitoringPolicy.py 13. Autostart HTTP Server Windows Installer legt Dienst fr IHS und Admin Service an httpd.exe k install (-c admin.conf) n "IBM HTTP Admin" Linux / AIX: Symbolic Links ln s /opt/IBM/HTTPServer/bin/apachectl /etc/init.d/ ln s /opt/IBM/HTTPServer/bin/adminctl /etc/init.d/ Dienst hinzufgen chkconfig add apachectl chkconfig add adminctl 14. Performance Tuning der DataSources Performance Tuning IBM Connections Erhhen der Werte fr min- und maxConnections der DataSources Grundlage fr Werte: Performance Tuning Guide IBM Connections 4.0 Performance Tuning Guide Addendum for 4.5 Diese Einstellungen sollten regelmssig mit dem Tivoli Performance Viewer kontrolliert werden 15. Konfigurieren der DataSources 18 DataSources mssen gendert werden (ca. 100 Mausklicks) Wie wr es ein Skript zu nutzen: wsadmin.sh -lang jython -f cfgDataSource.py Dauert ca. 30 Sekunden um alle Parameter der DataSources anzupassen 16. Konfigurieren der DataSources 17. Einrichten der J2EE Sicherheits Rollen Initiales setzen der Rollen ber cfgJ2EERolesRestricted.py (kein Zugriff fr Anonymous) cfgJ2EERolesUnRestricted.py Zeitersparnis ca. 30 Minuten gegen ISC Es knnen Benutzer und Gruppen gesetzt werden Nach dem Speichern (AdminConfig.save()) starten alle Applikationen neu! 18. J2EE Rollen fr spezielle Anwendungen Skripts fr initiale Rollenkonfiguration fr viele Umgebungen nicht granular genug Deaktivierung und Aktivierung fr einzelne Benutzer und/oder Gruppen: Global Moderation cfgJ2EERoleGlobalModerator.py Metrics Reader cfgJ2EERoleMetricsReader.py Metrics Report Run cfgJ2EERoleMetricsReportRun.py Mailintegration (Socialmail) cfgJ2EERoleSocialMail.py Vorsicht: auch hier starten die genderten Applikationen neu! 19. J2EE Rollen Backup cfgJ2EERoleBackup bis Version 4.0 wurden oft bei Fixpackinstallationen die J2EE Rollen auf Default gesetzt Problem: geschlossene Umgebungen pltzlich public wurden die Einstellungen dokumentiert (wer hat welche Rolle)? Skript: Backup der J2EE Rollen aller Anwendungen (nicht nur Connections) Backup als Text-Dateien in einem anzugebenden Ordner 20. J2EE Rollen Restore cfgJ2EERoleRestore Backup kann auch wiederhergestellt werden Vorteile: alle Rollen gesetzt wie zum Zeitpunkt des Backups Dateien knnen editiert und angepasst werden (ersetzen eines Benutzers) Restore von Rollenbackups eines DEV oder QA Systems 21. Konfigurieren der JVM Logs - cfgLogFiles Default fr JVM Logs (SystemOut & SystemErr): Grsse: 1MB 5 historische Logs Zu klein fr Troubleshooting! Besser: 20 40 MB 5 10 Log Datei Rotation wsadmin.sh -lang jython -f cfgLogFiles.py 22. Setzen der JVM Heap Size cfgJVMHeap Performance Tuning Guide gibt Empfehlung fr JVM Max und Initial Heap Konfiguration fr Deployment Manager, Node Agents und Application Server Monitoring ber Verbose Garbage Collection initial Heap = max Heap (bis zu 10% Performance Gewinn) Performance Tuning Guide Addendum fr 4.5 empfiehlt das Gleichsetzen der Parameter wsadmin.sh -lang jython -f cfgJVMHeap.py Zeigt aktuelle Grsse der initial- und maximumHeapSize fr alle JVMs an Fragt nach Wert fr initialHeapSize und maximumHeapSize fr alle JVMs Return lsst den Wert unverndert 23. Konfigurieren der DataSources 24. Tglicher Betrieb Business as Usal 25. Scriptumgebung einrichten cnxMember* Skripts benutzen JDBC um Datenbanken auszulesen Einfacher Weg: %WAS_HOME%profilesDmgr01binsetupCmdLine.bat editieren JDBC Pfad (z.B. D:IBMSQLIBjava) an WAS_EXT_DIRS anhngen Besser: wsadmin.bat und setupCmdLine.bat kopieren und anpassen cnxMember* Skripts anpassen DB Benutzer Passwort Hostname und DB 26. Scriptumgebung einrichten (2) 27. Testen der External ID gegen LDAP Manchmal knnen sich einzelne Benutzer nicht anmelden oft nur einzelne Connections Apps betroffen UUID und GUID nicht mehr synchron Umbenennungen planen Skript, welches die LDAP GUID und Connections UUID berprft cnxMemberCheckExIDByEmail Skript liest die PROF_GUID der peopleDB 28. Aktivieren und Deaktivieren von Benutzern Nach Umbenennung und auch manchmal ohne Grund Benutzerinformation nicht synchron ber Applikationen Profiles kann geffnet werden, aber einzelne Anwendungen nicht Deaktivieren und Aktivieren ist oft die Lsung Manuell aufwndig, da UID und E-Mail nach Deaktivierung gesetzt werden mssen (wurden beim Deaktivieren gelscht) Skript cnxMemberDeactandActByEmail speichert E-Mail und UID JDBC notwendig 29. Arbeiten mit Policies Erstellen und anpassen von Policies ist meist sehr mhsam Library Grsse muss als Long definiert werden (z.B. 2 GB = 2147483648L) Ein Beispiel: FilesPolicyService.edit("2d93497d-065a-4022ae25-a4b52598d11a", "My Policy", 2147483648L) Um zu editieren muss die UUID der Policy herausgefunden werden, Grsse in Long berechnet und kopiert werden... wsadmin.sh -lang jython -f CnxFilesPolicies.py 30. Arbeiten mit Policies 31. Verschieben von Communities Seit der Connections Version 4.5 CR3 knnen Communities verschoben werden (Sub-Community->Community / Community->Sub-Community) Kann ber wsadmin Befehl ausgefhrt werden, dazu muss man aber Community IDs wissen Einfacher ber: wsadmin.sh lang jython f cnxCommunitiesReparenting.py 32. Verschieben von Communities 33. DB2 Datenbank Optimierung Performance Tuning Guide: Reorganisation (ndern der physischen Datenanordnung auf HDD) sollte immer dann durchgefhrt werden, wenn eine grosse Menge an Daten hinzugefgt wurde Runstat (Sammeln von Statistikdaten) sollte regelmssig durchgefhrt werden, damit DB Abfragen mglichst optimal ausgefhrt werden Reorganisation und Runstat knnen mit Skripts ausgefhrt werden, welche im connections.sql Verzeichnis gefunden werden Es gibt auch die Mglichkeit beides ber die Automatische Wartung zu konfigurieren 34. DB2 - Reorganisieren der Datenbanken Reorg sollte nur ausgefhrt werden, wenn alle Applikationen gestoppt sind, DBs werden Offline genommen -> whrend Wartungsfenstern Ausfhren von 10 Skripts durch unterschiedliche Aufrufe -> mhsam Einfacher ber Skript reorg.sh/reorg.bat 35. DB2 - Runstats Runstats sollte regelmssig ausgefhrt werden, Applikationen drfen gestartet sein, DBs werden nicht Offline genommen -> whrend Randzeiten Ausfhren von 10 Skripts durch unterschiedliche Aufrufe -> mhsam Einfacher ber Skript runstats.sh/runstats.bat 36. DB2 - Runstats Erstellen eines geplanten Tasks (Windows) Erstellen eines Cron Jobs (Linux) crontab -e 0 1 * * * cd /opt/install/Wizards/connections.sql;./reorg.sh -> Ausfhren des Skripts jeden Tag um 01:00 37. Backup der Datenbanken Anpassen der Datenbankkonfiguration db2 update database configuration for BLOGS using AUTO_DEL_REC_OBJ ON num_db_backups 1 rec_his_retentn 0 logarchmeth1 disk:D:DB2LOGS Skript configureArchiveLogs.sh/configureArchiveLogs.bat Automatisches Lschen von Recovery-Objekten Anzahl der Datenbank- Backups Aufbewahrungs- zeitraum fr Recoveryprotokoll Primre Protokollarchivie- rungsmethode 38. Backup der Datenbanken Erstellen eines Offline Backup Nach dem ndern der DB Konfiguration muss zuerst ein Offline Backup erstellt werden, ansonsten knnen Sie (oder Websphere) nicht auf die DBs zugreifen Skript backupDatabasesOffline.sh/backupDatabasesOffline.bat 39. Backup der Datenbanken Ab nun knnen Online Backup erstellt werden, sprich Backup whrend des Betriebs -> geplanter Task, Cron Job Skript backupDatabasesOnline.sh/backupDatabasesOnline.bat 40. Restore der Datenbanken Lschen der Datenbank, welche wiederhergestellt werden soll (Bsp. BLOGS) DB2 drop database BLOGS Die Datenbank mit dem DB Wizard neu erstellen Restore der Daten mit dem Backup db2 restore database BLOGS from /opt/db2backup REPLACE EXISTING db2 restore database BLOGS LOGS from /opt/db2backup LOGTARGET /opt/db2logs db2 rollforward database BLOGS to end of logs overflow log path "(/opt/db2logs)" db2 rollforward database BLOGS complete overflow log path "(/opt/db2logs) Reorganisieren der Datenbank db2 -td@ -vf reorg.sql 41. Ressourcen 42. Add On cnxmenu.py Menu fr alle vorhandenen Jython Skripts 43. Download aller gezeigter Skripts Alle gezeigten Skripts (und weitere) knnen unter folgendem Link heruntergeladen werden (Nutzung auf eigene Gefahr und ohne Garantie): https://github.com/stoeps13/ibmcnxscripting Seit 21. November 2013 ist diese Sammlung auch ein OpenNTF Projekt Administration Scripts for WebSphere http://preview.tinyurl.com/otmq6mj 44. Wir sind froh um Hilfe Helfen Sie uns diese Skripts zu erweitern Diskutieren Sie mit uns neue Ideen Sie knnen uns auch gerne bei folgenden Punkten untersttzen: Erstellen der Dokumentation Testen von Skripts in ihrer Umgebung 45. Klaus Bild Skype: kbuilder Twitter: kbild Blog: http://kbild.ch http://about.me/kbild Christoph Stoettner Skype: christophstoettner Twitter: stoeps Blog: http://www.stoeps.de http://about.me/stoeps Unsere Kontaktdaten