Post on 14-Apr-2017
Make Your Data Work for You
IBM Connections Troubleshooting oder
“get the cow off the ice” Nico MeisenzahlSeptember 2016
• Consultant bei panagenda• IBM Notes / Domino seit 2008• IBM Connections seit Version 3.0 / 2010• Jahrelange Erfahrung in:
– Consulting– Migrationen & Administration
• “panagendian” seit 2016 mit Fokus auf:– IBM Connections Consulting– ICS Deployment & Optimierung
Nico Meisenzahl
2
@nmeisenzahl linkedin.com/in/nicomeisenzahl meisenzahl.org nico.meisenzahl +49 170 7355081nico.meisenzahl@panagenda.com
I. Howto: TroubleshootingII. Troubleshooting…
– Connections selbst– Backend (DB2, TDI, WebSphere, SSO)– Zusätzliche Add-Ons (Docs, FEB, Cognos, CCM)
III. Tools
Agenda
Make Your Data Work for You
Howto: Troubleshooting
Fehler nachstellen
• Reproduzierbar oder periodisch?• Ein Folgefehler?• Client- oder serverseitiges Problem?• Analyse der Ursache
5
Das Gesamtbild betrachten
• Clientseitiges Problem– In mehreren Browsern testen (IE, FF, Chrome)– KEINEN Server IE nutzen!
• Serverseitige Probleme: IBM Connections besteht aus vielen Komponenten– Mit “high level“ Analyse beginnen– Überblick bekommen welcher Backend-Service das Problem
verursacht
6
Konfigurationsänderungen
• Änderungen an– Connections Konfiguration– Backend (WebSphere, Datenbank, HTTP)– Firewall oder Netzwerk– OS, Hardware oder VM
Tipp: Auch die kleinste Konfigurationsänderung kann große Auswirkungen haben!
7
Analyse der Logs und Browser
• Analyse der Logfiles– Atom.io, Notepad++ oder less/tail– Baretail oder tailf– ELK Stack
• Tools für clientseitige Probleme– Firebug oder Developer-Tools– Burb Suite oder Fiddler (bevorzugt IBM)
8
Ursache finden
• Hinweis im Log finden– Netzwerk Problem oder DNS– SQL Fehler– LDAP Fehler– Syntax Fehler in Konfiguration-Dateien (xxx-config.xml)– Error Stack
Tipp: Bei einer geclusterten Umgebung wenn möglich nur einen Node starten und analysieren.
9
Support finden
• Knowledge Center http://goo.gl/HFzTmv• Troubleshooting Tipps https://goo.gl/mU1EQ9• IBM Connections Forum http://goo.gl/CVvQCU• Community Blogs und/oder Skype Chats• Fix Central• PMR
10
Make Your Data Work for You
Troubleshooting
„Get the cow off the ice“
Wie?
12
WebSphere Application Server (IBM Connections) Logs
• SystemOut.log• SystemErr.log• trace.log (wenn Trace aktiv)• Logpfad:
– <wasroot>/profiles/<profilename>/logs/<servername>/
13
WAS Logs analysieren
• Time stap: 24h Zeitstempel inkl. Millisekunden• Thread id: 8-Zeichen hexadezimaler Wert• Short name: meistens Java class Name• Event type: ein Zeichen (E, W, I,…)• Message identifier: spezifischer String (Komponentenabhängig)• Message: Informationen
14
WAS Logs analysieren
• F – Fatal message• E – Error message• W – Warning message• A – Audit message• I – Informational message• C – Configuration message• D – Detail message• O – Informationen welche direkt an System.out weitergegeben werden• R – Informationen welche direkt an System.err weitergegeben werden• Z – Platzhalter
15
WAS Message Identifier
• Prefix der Anwendung (CLFRW)• Spezifischer Anwendungs/Prozess Code (0042)• Event Type (I)
16
Trace Stack lesen
• Spezifische Informationen in der ersten Zeile• “Caused by” gibt Hinweise zur Ursache
17
Environment Informationen
• Erste Zeilen aus SystemOut.log– WebSphere Version– OS Version, Process ID– Installationspfad– etc.
18
Trace aktivieren
• Über ISC aktivieren– Runtime oder “configuration
only”• Festlegen des Traces
anhand von– App Prefix oder Error Stack– Must gather (PMR)
19
Search Fehler
20
• http(s)://<fqdn>/search/serverStatus– Zeigt Index, Seedlist und Log Informationen– Zeigt Informationen für einen bestimmten Node– FGDN der einzelnen Nodes nutzen
Tipp: Der Aufruf erstellt temporäre Seedlist-Dateien welche nicht automatisch gelöscht werden!
Debug Search
21
• Search Queries– com.ibm.connections.search.index.searching.*=all
• Crawling & Seedlists– com.ibm.connections.search.index.indexing.*=all:
com.ibm.connections.search.seedlist.*=all:com.ibm.connections.httpClient.*=all
Suchindex neu erstellen
22
• SearchService.startBackgroundIndex()– Crawling der Seedlists– Extrahierung des Dateiinhalts– Erstellung des Indexes
Tipp: „all_configured“ nutzen um alle Anwendungen zu indizieren.
CLFRW0394E: Search indexing of services ...
23
• Search Index „not ready“– Unterbrechung während der Indizierung
• CLFRW0283E: Search has encountered a problem while crawling• CLFRW0027E: Error Indexing component <app> for search
– INDEX.READY Datei nicht vorhanden– Trace aktivieren und Index neu erstellen
com.ibm.connections.directory.services.exception.DSOutOfServiceException
24
• Zugriff auf Connections ist nicht mehr möglich• DSX Fehlermeldungen in SystemOut.log• SSO Domain prüfen
– Domain– LtpaToken Cookie Name
Tipp: Einige WebSphere Fixpacks setzen die SSO Domain zurück.
EJPVJ9284E: Unable to get the groups from the directory for the user…
25
• Anwender kann sich nicht mehr an Connections anmelden• LDAP Bind User fehlt der Lesezugriff auf alle Gruppen in denen
der Anwender Mitglied ist
Debug wsadmin
• Tracing in wsadmin Sessions aktivieren– AdminControl.trace(‘com.ibm.*=all’)– <wasroot>/profiles/<profilename>/logs/wsadmin.traceout
26
Datenbank Verbindung
• Datasources überprüfen– ISC – Resources – JDBC – Datasources– Log auf Fehlermeldungen überprüfen
• DB2 Server Logs prüfen– <instanceroot>/sqllib/db2dump/– db2diag.log– db2diag.xxx.log (bei aktiver Log-Rotation – bitte aktivieren!)– db2diag Befehl
Tipp: Bei Oracle Datenbank Usern ist die Passwort Expiration per Default aktiv!
27
HTTP Server (IHS & Plugins) Logs
• IBM HTTP Server– <installroot>/logs/
• error_log• access_log• Abhängig der Konfiguration (evtl. mit Timestamp)
• WebSphere Plugins– <installroot>/logs/<webserver>/http_plugin.log
28
HTTP 404 not found
• Veraltete Plugin Konfiguration– Restart IBM HTTP Server
• WebSphere Plugin Konfigurationsfehler• http_plugin.log
29
HTTP 404 not found
• Anwendungs-Server oder Anwendung nicht verfügbar• Netzwerk Problem• http_plugin.log
30
HTTP 500 Internal Server Error
• Unerwarteter Fehler– http_plugin.log
• Konfiguration fehlerhaft• SSL Zertifikat abgelaufen• WebSphere Application Server Root Zertifikat nicht vorhanden oder nicht
vertrauenswürdig
31
SDI / TDI Logs
• <tdisol>/log/ibmdi.log– TDI Log
• <tdisol>/employee.*– Beinhalten alle angepassten User (adds, update, delete, error, skip)
• <tdisol>/syncupdates/*– Beinhaltet temporäre Dateien während der Synchronisation– Datenbank Dump– LDAP Dump (ldiff)– sync_updates_clean_temp_files=false (Default: true)
• profiles_tdi.properties
Tipp: Lockfile prüfen!
32
TDI Logs analysieren
• Error Code Prefix– CLFRN: Profile & User Synchronisation– CTGDIS: TDI selbst
• Error Code Suffix– I, E, W
33
Debug TDI
• Profile & User synchronization (<tdisol>/etc/profiles_tdi.properties)– source_ldap_debug=true– debug_update_profile=true– debug_collect=true
• TDI issues (<tdisol>/etc/log4j.properties)– log4j.rootCategory=DEBUG, Default
34
Cognos BI Logs
• Cognos BI– SystemOut.log & trace.log– <installroot>/logs/cogserver.log
• Cognos Transformer– <installroot>/logs/cogserver.log
• PowerCube Erstellung– <installroot>/metricsmodel/trxschelog.log– <userhome>/Transformer/Logs/*.log (Windows only)
35
BMT-MD-6003 No connection to the data source …
• PowerCubes nicht erstellt oder fehlerhaft• Cronjobs oder Scheduled Jobs prüfen• trxschelog.log
36
Debug Cognos BI & Metrics
• Verbindung zwischen Cognos BI und Connections Metrics– SonataHttpUsage=all:
SonataHttpHeader=all:SonataHttpBody=all: com.ibm.connections.httpClient.*=all: com.ibm.connections.metrics.*=all
• Connections Metrics Servlet– com.ibm.connections.metrics.cognos.servlet.*=all
37
Metrics Event Tracking
• CLFWB0001E: Unable to save an event.– com.ibm.connections.metrics.event.*=all
• Read Events– Clientseitig
• HTTP POST (eventTracker servlet)
• Write Events– Tracking über jeweilige Anwendung– Überprüfen der Message Queue
Tipp: Side-by-Side SQL Scripts beachten!
38
FileNet Logs
• SystemOut.log & trace.log• FileNet Logs
– <wasprofile>/<servername>/p8_server_error.log– <wasprofile>/<servername>/p8_server_trace.log– <wasprofile>/<servername>/pesvr_system.log– <wasprofile>/<servername>/pesvr_trace.log
39
FileNet URLs
• http://<fqdn>/FileNet/Engine– Server Status, Version, Sonata/Waltz Version
• http://<fqdn>/P8CE/Health– Health checks für Authentification, Objectstores und Datenbank
• http://<fqdn>/dm– FNCS Version und Konfiguration
40
Debug CCM Widget
• Widget Probleme– com.ibm.quickr.communitylibrary.*=all:
com.ibm.lconn.widgets.service.*=all:com.ibm.lconn.widgets.actions.*=all
• Authentication Probleme– com.ibm.connections.directory.services.*=all:
com.ibm.connections.directory.services.*=all:com.ibm.connections.httpClient.*=all
41
Debug FileNet using ACCE
• http(s)://<fqdn>/acce
42
Debug FileNet using JVM Properties
• Hinzufügen folgender JVM properties– -Dlog4j.configuration=file:<path>/log4j.xml
-DskipTLC=true• Kopieren & Anpassen der Beispiel log4j.xml
– <ContentEngineRoot>/config/samples– 20 subsystems (db, engine, security, search,…)
43
Docs/Viewer Logs & URLs
• SystemOut.log & trace.log• http(s):<fqdn>/vsanity/check• http(s):<fqdn>/sanity/check?app=all&querytype=report• http(s):<fqdn>/*/version(.txt)
44
Debug LTPA (Domino & WebSphere)
• Debug am Domino (notes.ini)– Debug_SSO_Trace_Level=2– Webauth_verbose_trace=1– WebSess_verbose_trace=1– Debug_outfile=<logfilepath>
• Debug am WebSphere– com.ibm.ws.security.ltpa.*=all
45
Debug Kerberos
• Konfiguration– com.ibm.ws.security.spnego.*=all: com.ibm.ws.security.*=all:
com.ibm.issw.spnegoTAI.*=all: com.ibm.security.krb5.*=all• Runtime
– com.ibm.connections.httpClient.*=all:com.ibm.connections.directory.services.*=all:com.ibm.websphere.wim.*=all:com.ibm.ws.wim.*=all
• Fiddler & BurpSuite
46
Make Your Data Work for You
Tools
Logs analysieren
• Logfiles live analysieren– Baretail– tail –f
• Logfiles anzeigen– Atom.io, Notepad++– less, tail– ELK Stack
• Elasticsearch, Logstash, Kibana• Docker Images
48
Clientseitige Analyse
• Browser– Firebug / Developer Tools
• Intercepting proxies– Fiddler– Burp Suite
• VMs mit unterschiedlichen IE Versiionen– Ohne GPO!– https://www.modern.ie/en-us/virtualization-tools
49
SQL Clients
• DB2 Connect• IBM Datastudio• Dbeaver, DBVisualizer, squirrelSQL
Tipp: Datenbank Schreibzugriff ist nicht supported!
50
LDAP & Search
• LDAP– ldapsearch Command– Softerra LDAP Browser– Apache Directory Studio
• Search Index– Luke (Lucene Index Toolbox)
51
Netzwerkanalyse
• Wireshark• Tcpdump
If you ask the * admin:There is never a problem within the *!
J*= Network, SAN, VM, ...
52
Community Blogs
• http://ibmconnections.com • http://turtleblog.info • http://portal2portal.blogspot.de • https://www.urspringer.de• http://socialconnections.info • http://blog.robertfarstad.com • http://www.curiousmitch.com • http://www.ramsit.com/category/blog • http://techblog.gis-ag.info • https://milanmatejic.wordpress.com • http://ibmdocs.com • http://domino.elfworld.org • https://dontforgetthe0.com
53
• http://dilf.me.uk/socialshazza • http://www.stoeps.de• http://scripting101.org• http://meisenzahl.org • http://martin.leyrer.priv.at • http://kbild.ch• http://www.notesgoddess.net • http://www.dominodiva.com • http://notesbusters.com • https://rob59blog.wordpress.com • http://connections101.info • http://brandlrainer.blogspot.de • https://collaborationben.com
Fragen?
54
@nmeisenzahl linkedin.com/in/nicomeisenzahl meisenzahl.org nico.meisenzahl +49 170 7355081nico.meisenzahl@panagenda.com
Headquarters, Austria:panagenda GmbH (Ltd.)Schreyvogelgasse 3/10AT 1010 Vienna
Phone: +43 1 89 012 89Fax: +43 1 89 012 89-15E-Mail: info@panagenda.com
Headquarters, Germany:panagenda GmbH (Ltd.)Lahnstraße 17DE 64646 Heppenheim
Phone: +49 6252 67 939-00Fax: +49 6252 67 939-16E-Mail: info@panagenda.com
USA:panagenda Inc.60 State Street, Suite 700MA 02109 Boston
Phone: +1 617 855 5961Fax: +1 617 488 2292E-Mail: info@panagenda.com
Germany:panagenda Consulting GmbH (Ltd.)Donnersbergstraße 1DE 64646 Heppenheim
Phone: +49 6252 67 939-86Fax: +49 6252 67 939-16E-Mail: info@panagenda.com
The Netherlands:Trust Factory B.V. 11th Floor,Koningin Julianaplein 10NL 2595 AA The Hague
Phone: +31 70 80 801 96E-Mail: info@trust-factory.com
© 2007-2015 panagendaMake Your Data Work for You