SlideShare ist ein Scribd-Unternehmen logo
Adm01: Tipps und
Skripts aus dem Leben
eines Connections
Admins
Christoph Stöttner, Fritz & Macziol GmbH
Klaus Bild, Belsoft AG
Klaus Bild
Zürcher, Heimweh Bayer,
Vater von 2 Söhnen
§  Consultant
§  Fachgebiete IBM Connections &
IBM Sametime
§  Windows, Linux...
Christoph Stöttner
Bayer, liebt Wandern,
Vater von 2 Töchtern
§  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
§  Täglicher 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, träge, Zeitintensiv
§  wsadmin:
§  Verschiedene Befehlssätze für WAS/Connections, komplexe Befehle,
Eingabe Fehler anfällig
-> 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/zerstören!
§  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 unnötig, Integer mit “ oder ‘
§  Range: Praktisch für 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 Möglichkeiten 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
§  Abhängigkeiten
§  Dienst mit wasservice.sh|bat registrieren
§  Monitoring Policy auf "Stopped" für 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 für 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 hinzufügen
§  chkconfig –add apachectl
§  chkconfig –add adminctl
Performance Tuning der DataSources
§  Performance Tuning IBM Connections
§  Erhöhen der Werte für min- und maxConnections der DataSources
§  Grundlage für Werte:
§  Performance Tuning Guide IBM Connections 4.0
§  Performance Tuning Guide Addendum for 4.5
§  Diese Einstellungen sollten regelmässig mit dem “Tivoli Performance
Viewer” kontrolliert werden
Konfigurieren der DataSources
§  18 DataSources müssen geändert werden (ca. 100 Mausklicks)
§  Wie wär 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 für Anonymous)
§  cfgJ2EERolesUnRestricted.py
§  Zeitersparnis ca. 30 Minuten gegen ISC
§  Es können Benutzer und Gruppen gesetzt werden
§  Nach dem Speichern (AdminConfig.save()) starten alle Applikationen
neu!
J2EE Rollen für spezielle Anwendungen
§  Skripts für initiale Rollenkonfiguration für viele Umgebungen nicht
granular genug
§  Deaktivierung und Aktivierung für 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 geänderten Applikationen neu!
J2EE Rollen – Backup – cfgJ2EERoleBackup
§  bis Version 4.0 wurden oft bei Fixpackinstallationen die J2EE Rollen auf
Default gesetzt
§  Problem:
§  geschlossene Umgebungen plötzlich 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 können editiert und angepasst werden (ersetzen eines Benutzers)
§  Restore von Rollenbackups eines DEV oder QA Systems
Konfigurieren der JVM Logs - cfgLogFiles
§  Default für JVM Logs (SystemOut & SystemErr):
§  Grösse: 1MB
§  5 historische Logs
§  Zu klein für 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 für JVM Max und Initial Heap
§  Konfiguration für 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 für 4.5 empfiehlt das Gleichsetzen der
Parameter
§  wsadmin.sh -lang jython -f cfgJVMHeap.py
§  Zeigt aktuelle Grösse der initial- und maximumHeapSize für alle JVMs an
§  Fragt nach Wert für initialHeapSize und maximumHeapSize für alle JVMs
§  “Return” lässt den Wert unverändert
Konfigurieren der DataSources
Täglicher 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 anhängen
§  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 können 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 überprüft
§  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 geöffnet werden, aber einzelne Anwendungen nicht
§  Deaktivieren und Aktivieren ist oft die Lösung
§  Manuell aufwändig, da UID und E-Mail nach Deaktivierung gesetzt
werden müssen (wurden beim Deaktivieren gelöscht)
§  Skript cnxMemberDeactandActByEmail
§  speichert E-Mail und UID
§  JDBC notwendig
Arbeiten mit Policies
§  Erstellen und anpassen von Policies ist meist sehr mühsam
§  Library Grösse 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, Grösse in
Long berechnet und kopiert werden...
§  wsadmin.sh -lang jython -f CnxFilesPolicies.py
Arbeiten mit Policies
Verschieben von Communities
§  Seit der Connections Version 4.5 CR3 können Communities verschoben
werden (Sub-Community->Community / Community->Sub-Community)
§  Kann über wsadmin Befehl ausgeführt werden, dazu muss man aber
Community ID‘s wissen
§  Einfacher über:
§  wsadmin.sh –lang jython –f cnxCommunitiesReparenting.py
Verschieben von Communities
DB2 – Datenbank Optimierung
§  Performance Tuning Guide:
§  Reorganisation (Ändern der physischen Datenanordnung auf HDD) sollte
immer dann durchgeführt werden, wenn eine grosse Menge an Daten
hinzugefügt wurde
§  Runstat (Sammeln von Statistikdaten) sollte regelmässig durchgeführt
werden, damit DB Abfragen möglichst optimal ausgeführt werden
§  Reorganisation und Runstat können mit Skripts ausgeführt werden,
welche im connections.sql Verzeichnis gefunden werden
§  Es gibt auch die Möglichkeit beides über die Automatische Wartung zu
konfigurieren
DB2 - Reorganisieren der Datenbanken
§  Reorg sollte nur ausgeführt werden, wenn alle Applikationen gestoppt
sind, DBs werden Offline genommen -> während Wartungsfenstern
§  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam
§  Einfacher über Skript reorg.sh/reorg.bat
DB2 - Runstats
§  Runstats sollte regelmässig ausgeführt werden, Applikationen dürfen
gestartet sein, DBs werden nicht Offline genommen
-> während Randzeiten
§  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam
§  Einfacher über Skript runstats.sh/runstats.bat
DB2 - Runstats
§  Erstellen eines geplanten
Tasks (Windows)
§  Erstellen eines Cron Jobs (Linux)
§  crontab -e
§  0 1 * * * cd /opt/install/Wizards/connections.sql;./reorg.sh
§  -> Ausführen des Skripts jeden Tag um 01:00
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
Löschen von
Recovery-Objekten
Anzahl der
Datenbank-
Backups
Aufbewahrungs-
zeitraum für
Recoveryprotokoll
Primäre
Protokollarchivie-
rungsmethode
Backup der Datenbanken
§  Erstellen eines Offline Backup
§  Nach dem Ändern der DB Konfiguration muss zuerst ein Offline
Backup erstellt werden, ansonsten können Sie (oder Websphere) nicht
auf die DBs zugreifen
§  Skript backupDatabasesOffline.sh/backupDatabasesOffline.bat
Backup der Datenbanken
§  Ab nun können Online Backup erstellt werden, sprich Backup während
des Betriebs -> geplanter Task, Cron Job
§  Skript backupDatabasesOnline.sh/backupDatabasesOnline.bat
Restore der Datenbanken
§  Löschen 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
Ressourcen
Add On – cnxmenu.py
§  Menu für alle vorhandenen Jython Skripts
Download aller gezeigter Skripts
§  Alle gezeigten Skripts (und weitere) können 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
Wir sind froh um Hilfe
§ Helfen Sie uns diese Skripts zu erweitern
§ Diskutieren Sie mit uns neue Ideen
§ Sie können uns auch gerne bei folgenden Punkten unterstützen:
§ Erstellen der Dokumentation
§ Testen von Skripts in ihrer Umgebung
§  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

Weitere ähnliche Inhalte

PDF
Tipps und Skripts aus dem Leben eines Connections Admins
PPS
Sql Server Grundlagen für Sharepoint Administratoren
PDF
JBoss AS / EAP Clustering
PDF
Campixx 2012-ladezeit-extreme
PDF
JBoss EAP clustering
PPT
PDF
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
PPTX
Wordpress on steroids
Tipps und Skripts aus dem Leben eines Connections Admins
Sql Server Grundlagen für Sharepoint Administratoren
JBoss AS / EAP Clustering
Campixx 2012-ladezeit-extreme
JBoss EAP clustering
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Wordpress on steroids

Was ist angesagt? (19)

PDF
What is new in xen Server
PDF
MySQL Performance Tuning für Entwickler
PDF
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
PDF
Performance durch Caching
 
PDF
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
PDF
Query Result Caching
PDF
Internet Briefing 2011: NoSQL with MySQL
PDF
FROSCON 2011: MySQL Performance Tuning
PDF
Ausgewählte Performance Technologien
PDF
5 Tweaks für 500 % bessere Performance
PDF
FROSCON 2011: MySQL Replication
PDF
Exchange Workshop - Veeam
PDF
Microsoft Exchange - Data Protection
PDF
Startups in „Die Höhle der Löwen“ - SEODAY 2016
PDF
MySQL Absicherung und Datensicherung
PDF
Opensource Tools für das Data Center Management
PDF
Der oracle dba_und_seine_passwoerter
PDF
Exadata with VM as Consolidation Plattform
PPTX
SOA Suite 12c aus der Infrastruktur-Sicht
What is new in xen Server
MySQL Performance Tuning für Entwickler
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance durch Caching
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
Query Result Caching
Internet Briefing 2011: NoSQL with MySQL
FROSCON 2011: MySQL Performance Tuning
Ausgewählte Performance Technologien
5 Tweaks für 500 % bessere Performance
FROSCON 2011: MySQL Replication
Exchange Workshop - Veeam
Microsoft Exchange - Data Protection
Startups in „Die Höhle der Löwen“ - SEODAY 2016
MySQL Absicherung und Datensicherung
Opensource Tools für das Data Center Management
Der oracle dba_und_seine_passwoerter
Exadata with VM as Consolidation Plattform
SOA Suite 12c aus der Infrastruktur-Sicht
Anzeige

Andere mochten auch (20)

PPTX
Cristo y profecias
DOCX
Monografia filtracion
PPTX
PDF
FAnn vánoce 2008
PDF
Lm internetbeta
PDF
PERSONAJES REPRESENTATIVOS DE COLOMBIA
PPTX
1 de 2 - Presentación de Enma Pinedo en Termal Business Ourense
PDF
Brosur perumahan sawangan permai
PPTX
PPTX
Two minutes of fame nespresso carlaarmenta
PPTX
Exposición final cibsa 01
DOCX
Paquete turistico global tour
PPTX
Presentaciónabercrombie&fitch (1)
PDF
Crucigrama
PDF
Manual beretta elite_ii_en_letter
PDF
Diccionario siglas medicas de lorraine
PDF
#mooteu16 - Ikasketa esperientziaren hobekuntza (#gamification #visiblethinki...
PDF
Analisis de rework - mamposteria estructural
PPT
5. Tamaño y localización
Cristo y profecias
Monografia filtracion
FAnn vánoce 2008
Lm internetbeta
PERSONAJES REPRESENTATIVOS DE COLOMBIA
1 de 2 - Presentación de Enma Pinedo en Termal Business Ourense
Brosur perumahan sawangan permai
Two minutes of fame nespresso carlaarmenta
Exposición final cibsa 01
Paquete turistico global tour
Presentaciónabercrombie&fitch (1)
Crucigrama
Manual beretta elite_ii_en_letter
Diccionario siglas medicas de lorraine
#mooteu16 - Ikasketa esperientziaren hobekuntza (#gamification #visiblethinki...
Analisis de rework - mamposteria estructural
5. Tamaño y localización
Anzeige

Ähnlich wie bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins (7)

PDF
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
PDF
DB-Security - Sichere und fraglich sichere Techniken | C.Habermueller
PDF
Make Your IBM Connections Deployment Your Own - Customize it! German Version
PDF
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
DOCX
Kraus sepp cv&projekte 14062016_p_kurz
PDF
DB2 High Availability für IBM Connections, Sametime oder Traveler
PDF
IT Fragenkatalog für Confluence /JIRA Angebote mit Fremdhosting
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
DB-Security - Sichere und fraglich sichere Techniken | C.Habermueller
Make Your IBM Connections Deployment Your Own - Customize it! German Version
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
Kraus sepp cv&projekte 14062016_p_kurz
DB2 High Availability für IBM Connections, Sametime oder Traveler
IT Fragenkatalog für Confluence /JIRA Angebote mit Fremdhosting

Mehr von ICS User Group (12)

PDF
bccon-2014 str05 ibm-smart_cloud-for-social-business
PDF
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1
PDF
bccon-2014 dev03 xpages-road_to_damascas-lotus-script-and-@formula-to-ssjs
PDF
bccon-2014 dev02 xpages-coffe-from-a-friend-using-third-party-java-libraries
PDF
bccon-2014 key01 ibm_collaboration_solutions_connect_2014
PDF
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
PDF
bccon-2014 dev04 domino_apps_reaching_up&out
PDF
bccon-2014 com02 level-up_building_next_generation_business_applications
PDF
bccon-2014 cas01 ibm-notes-upgrades-in-der-kaffeepause
PDF
bccon-2014 adm06 hony,_i_shrunk_the_data
PDF
bccon-2014 adm05 ibm traveler-2013-and-beyond
PDF
bccon-2014-welcome
bccon-2014 str05 ibm-smart_cloud-for-social-business
bccon-2014 str06 ibm-notes-browser-plug-in_9.0.1
bccon-2014 dev03 xpages-road_to_damascas-lotus-script-and-@formula-to-ssjs
bccon-2014 dev02 xpages-coffe-from-a-friend-using-third-party-java-libraries
bccon-2014 key01 ibm_collaboration_solutions_connect_2014
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 dev04 domino_apps_reaching_up&out
bccon-2014 com02 level-up_building_next_generation_business_applications
bccon-2014 cas01 ibm-notes-upgrades-in-der-kaffeepause
bccon-2014 adm06 hony,_i_shrunk_the_data
bccon-2014 adm05 ibm traveler-2013-and-beyond
bccon-2014-welcome

bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins

  • 1. Adm01: Tipps und Skripts aus dem Leben eines Connections Admins Christoph Stöttner, Fritz & Macziol GmbH Klaus Bild, Belsoft AG
  • 2. Klaus Bild Zürcher, Heimweh Bayer, Vater von 2 Söhnen §  Consultant §  Fachgebiete IBM Connections & IBM Sametime §  Windows, Linux... Christoph Stöttner Bayer, liebt Wandern, Vater von 2 Töchtern §  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 §  Täglicher 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, träge, Zeitintensiv §  wsadmin: §  Verschiedene Befehlssätze für WAS/Connections, komplexe Befehle, Eingabe Fehler anfällig -> 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/zerstören! §  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 unnötig, Integer mit “ oder ‘ §  Range: Praktisch für Schleifen, startet mit 0! §  Listen §  Dictionaries §  if – elif – else §  Achtung: Websphere 8 nutzt Python/Jython Version 2.1 (aktuell 3.3.5)
  • 9. Autostart IBM WebSphere Application Server §  Verschiedene Möglichkeiten 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 §  Abhängigkeiten §  Dienst mit wasservice.sh|bat registrieren §  Monitoring Policy auf "Stopped" für Installation und Update!
  • 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 für 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 hinzufügen §  chkconfig –add apachectl §  chkconfig –add adminctl
  • 14. Performance Tuning der DataSources §  Performance Tuning IBM Connections §  Erhöhen der Werte für min- und maxConnections der DataSources §  Grundlage für Werte: §  Performance Tuning Guide IBM Connections 4.0 §  Performance Tuning Guide Addendum for 4.5 §  Diese Einstellungen sollten regelmässig mit dem “Tivoli Performance Viewer” kontrolliert werden
  • 15. Konfigurieren der DataSources §  18 DataSources müssen geändert werden (ca. 100 Mausklicks) §  Wie wär es ein Skript zu nutzen: §  wsadmin.sh -lang jython -f cfgDataSource.py §  Dauert ca. 30 Sekunden um alle Parameter der DataSources anzupassen
  • 17. Einrichten der J2EE Sicherheits Rollen §  Initiales setzen der Rollen über §  cfgJ2EERolesRestricted.py (kein Zugriff für Anonymous) §  cfgJ2EERolesUnRestricted.py §  Zeitersparnis ca. 30 Minuten gegen ISC §  Es können Benutzer und Gruppen gesetzt werden §  Nach dem Speichern (AdminConfig.save()) starten alle Applikationen neu!
  • 18. J2EE Rollen für spezielle Anwendungen §  Skripts für initiale Rollenkonfiguration für viele Umgebungen nicht granular genug §  Deaktivierung und Aktivierung für 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 geänderten Applikationen neu!
  • 19. J2EE Rollen – Backup – cfgJ2EERoleBackup §  bis Version 4.0 wurden oft bei Fixpackinstallationen die J2EE Rollen auf Default gesetzt §  Problem: §  geschlossene Umgebungen plötzlich 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 können editiert und angepasst werden (ersetzen eines Benutzers) §  Restore von Rollenbackups eines DEV oder QA Systems
  • 21. Konfigurieren der JVM Logs - cfgLogFiles §  Default für JVM Logs (SystemOut & SystemErr): §  Grösse: 1MB §  5 historische Logs §  Zu klein für 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 für JVM Max und Initial Heap §  Konfiguration für 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 für 4.5 empfiehlt das Gleichsetzen der Parameter §  wsadmin.sh -lang jython -f cfgJVMHeap.py §  Zeigt aktuelle Grösse der initial- und maximumHeapSize für alle JVMs an §  Fragt nach Wert für initialHeapSize und maximumHeapSize für alle JVMs §  “Return” lässt den Wert unverändert
  • 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 anhängen §  Besser: §  wsadmin.bat und setupCmdLine.bat kopieren und anpassen §  cnxMember* Skripts anpassen §  DB Benutzer §  Passwort §  Hostname und DB
  • 27. Testen der External ID gegen LDAP §  Manchmal können 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 überprüft §  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 geöffnet werden, aber einzelne Anwendungen nicht §  Deaktivieren und Aktivieren ist oft die Lösung §  Manuell aufwändig, da UID und E-Mail nach Deaktivierung gesetzt werden müssen (wurden beim Deaktivieren gelöscht) §  Skript cnxMemberDeactandActByEmail §  speichert E-Mail und UID §  JDBC notwendig
  • 29. Arbeiten mit Policies §  Erstellen und anpassen von Policies ist meist sehr mühsam §  Library Grösse 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, Grösse in Long berechnet und kopiert werden... §  wsadmin.sh -lang jython -f CnxFilesPolicies.py
  • 31. Verschieben von Communities §  Seit der Connections Version 4.5 CR3 können Communities verschoben werden (Sub-Community->Community / Community->Sub-Community) §  Kann über wsadmin Befehl ausgeführt werden, dazu muss man aber Community ID‘s wissen §  Einfacher über: §  wsadmin.sh –lang jython –f cnxCommunitiesReparenting.py
  • 33. DB2 – Datenbank Optimierung §  Performance Tuning Guide: §  Reorganisation (Ändern der physischen Datenanordnung auf HDD) sollte immer dann durchgeführt werden, wenn eine grosse Menge an Daten hinzugefügt wurde §  Runstat (Sammeln von Statistikdaten) sollte regelmässig durchgeführt werden, damit DB Abfragen möglichst optimal ausgeführt werden §  Reorganisation und Runstat können mit Skripts ausgeführt werden, welche im connections.sql Verzeichnis gefunden werden §  Es gibt auch die Möglichkeit beides über die Automatische Wartung zu konfigurieren
  • 34. DB2 - Reorganisieren der Datenbanken §  Reorg sollte nur ausgeführt werden, wenn alle Applikationen gestoppt sind, DBs werden Offline genommen -> während Wartungsfenstern §  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam §  Einfacher über Skript reorg.sh/reorg.bat
  • 35. DB2 - Runstats §  Runstats sollte regelmässig ausgeführt werden, Applikationen dürfen gestartet sein, DBs werden nicht Offline genommen -> während Randzeiten §  Ausführen von 10 Skripts durch unterschiedliche Aufrufe -> mühsam §  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 §  -> Ausführen 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 Löschen von Recovery-Objekten Anzahl der Datenbank- Backups Aufbewahrungs- zeitraum für Recoveryprotokoll Primäre Protokollarchivie- rungsmethode
  • 38. Backup der Datenbanken §  Erstellen eines Offline Backup §  Nach dem Ändern der DB Konfiguration muss zuerst ein Offline Backup erstellt werden, ansonsten können Sie (oder Websphere) nicht auf die DBs zugreifen §  Skript backupDatabasesOffline.sh/backupDatabasesOffline.bat
  • 39. Backup der Datenbanken §  Ab nun können Online Backup erstellt werden, sprich Backup während des Betriebs -> geplanter Task, Cron Job §  Skript backupDatabasesOnline.sh/backupDatabasesOnline.bat
  • 40. Restore der Datenbanken §  Löschen 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
  • 42. Add On – cnxmenu.py §  Menu für alle vorhandenen Jython Skripts
  • 43. Download aller gezeigter Skripts §  Alle gezeigten Skripts (und weitere) können 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 können uns auch gerne bei folgenden Punkten unterstützen: § 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