Tipps und Skripts aus dem Leben eines Connections Admins

Embed Size (px)

DESCRIPTION

Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting

Text of Tipps und Skripts aus dem Leben eines Connections Admins

  • Adm01: Tipps und Skripts aus dem Leben eines Connections Admins Christoph Stttner, Fritz & Macziol GmbH Klaus Bild, Belsoft AG
  • 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
  • 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
  • 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
  • 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
  • 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!
  • 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)
  • Installation und Konfiguration
  • 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!
  • WebSphere Dienst unter Linux
  • 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"
  • 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
  • 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
  • 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
  • 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
  • Konfigurieren der DataSources
  • 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!
  • 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!
  • 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
  • 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
  • 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
  • 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
  • Konfigurieren der DataSources
  • Tglicher Betrieb Business as Usal
  • 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
  • Scriptumgebung einrichten (2)
  • 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
  • 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
  • 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 edi