admincam 2017 ibm connections troubleshooting
TRANSCRIPT
Make Your Data Work for You
IBM Connections
TroubleshootingNico Meisenzahl
Admincamp 2017
• Consultant bei panagenda
• IBM Connections seit Version 3.0 / 2010
• IBM Notes / Domino seit 2008
• Focusing in ICS
– Deployment & Consulting
– Migrationen & Anpassungen
• “panagendian” seit 2016
• IBM Champion
Nico Meisenzahl
2
@nmeisenzahl
linkedin.com/in/nicomeisenzahl
meisenzahl.org
nico.meisenzahl
+49 170 7355081
I. Howto: Troubleshooting
II. Troubleshooting…– Connections selbst
– Backend (IBM Cloud private, DB2, TDI, WebSphere, SSO)
– Zusätzliche Add-ons (Orient Me, 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)
– Mit mehreren Sprachen testen!
– 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
– „Links-Rechts“ Problem (unterschiedliches Verhalten der Nodes)
6
Konfigurationsänderungen
• Änderungen an
– Connections Konfiguration
– Backend (WebSphere, Datenbank, HTTP, IBM Cloud private)
– 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
– kubectl logs
– ELK Stack
• Tools für clientseitige Probleme
– Firebug oder Developer-Tools
– Burp Suite oder Fiddler (bevorzugt von 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 https://goo.gl/up6cxG
• Troubleshooting Tipps https://goo.gl/IaVinx
• IBM Connections Forum http://goo.gl/CVvQCU
• Community Blogs und/oder Skype/Slack Chats
• Fix Central
• PMR
10
Make Your Data Work for You
Troubleshooting
WebSphere Application Server (IBM Connections) Logs
• SystemOut.log
• SystemErr.log
• trace.log (wenn Trace aktiv)
• Logpfad:
– <wasroot>/profiles/<profilename>/logs/<servername>/
12
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
13
WAS Event Type
• 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
14
WAS Message Identifier
• Prefix der Anwendung (CLFRW)
• Spezifischer Anwendungs/Prozess Code (0042)
• Event Type (I)
15
Trace Stack lesen
• Spezifische Informationen in der ersten Zeile
• “Caused by” gibt Hinweise zur Ursache
16
Environment Informationen
• Erste Zeilen aus SystemOut.log
– WebSphere Version
– OS Version, Process ID
– Installationspfad
– Java version
– etc.
17
Trace aktivieren
• Über ISC aktivieren
– Runtime oder “configuration only”
• Festlegen des Traces anhand
von
– App Prefix oder Error Stack
– Must gather (PMR)
18
Search Fehler
19
• 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
20
• 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
21
• 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 ...
22
• 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
23
• Zugriff auf Connections ist nicht mehr möglich
• DSX Fehlermeldungen in SystemOut.log
• SSO Domain prüfen
– Domain
– LtpaToken Cookie Name
Tipp: Einige Connections CRs setzen die SSO Domain zurück
EJPVJ9284E: Unable to get the groups from the directory for the
user…
24
• 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
25
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!
26
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
27
HTTP 404 not found
• Veraltete Plugin Konfiguration
– Restart IBM HTTP Server
• WebSphere Plugin Konfigurationsfehler
• http_plugin.log
28
HTTP 404 not found
• Anwendungs-Server oder Anwendung nicht verfügbar
• http_plugin.log
• SystemOut.log
29
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
30
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 (sync_all_dns.lck)!
31
TDI Logs analysieren
• Error Code Prefix
– CLFRN: Profile & User Synchronisation
– CTGDIS: TDI selbst
• Error Code Suffix
– I, E, W
32
Debug TDI
• Profile & User synchronization
(<tdisol>/profiles_tdi.properties)– source_ldap_debug=true
– debug_managers=true
debug_photos=true
debug_pronounce=true
debug_fill_codes=true
debug_draft=true
debug_update_profile=true
debug_collect=true
debug_special=true
– trace_profile_tdi_javascript=* (debug, fine, finer, all)
• TDI issues (<tdisol>/etc/log4j.properties)
– log4j.rootCategory=DEBUG, Default
33
Probleme mit Surveys & Connections 6.0
• Stax.properties angepasst?
– Nur mit Java 1.8 notwendig
– Pfad: <installdir>/java_1.8_64/jre/lib
• WebSphere Plugin ESI Cache deaktiviert?
– Ab WAS 8.5.5.10 + notwedig
Tipp: Nicht mit “connectionsAdmin” testen!
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: Manuelle Tasks bei Side-
by-Side Migrationen 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
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 & Burp Suite
46
IBM Cloud private aka. CfC Statistiken
• IBM Cloud private GUI– https://<icp-master>:8443
47
Docker & Kubernetes Status
• kubectl get pods (--all-namespaces)
• kubectl get services
• kubectl get deployment
• kubectl describe pods xxx
• docker ps
• docker info
48
Docker & Kubernetes Status
• Persistent Volume Status
– kubectl get pv,pvc
49
Orient Me Application Logs
• Pod Logs anzeigen
– kubectl logs xxx
• -f
• --tail=20
• --since=1h
Tipp: MongoDB und Solr sind anders zu behandeln
50
MongoDB Troubleshooting
• Persistent Volumes prüfen
• Access Logs
– kubectl logs xxx [mongo|mongo-sidecar]
• Replica status anzeigen
– kubectl exec -it mongo-0 -- mongo mongo-0.mongo:27017 --eval 'rs.status()’
– “health” Status für alle Members prüfen
51
Solr Logs
• kubectl exec -it xxx -- cat /var/solr/logs/solr.log
• kubectl logs xxx
– Zeigt nur Logs welche das Deployment des Pods betreffen
52
Probleme beim Starten von Pods
• kubectl describe pod xxx
53
IBM Cloud private Logs
• docker logs -f kubelet
• docker logs -f calico
54
Docker Logs & Tracing
• Logs
– journalctl -u docker.service
– docker logs
• Tracing
– service docker stop
– docker daemon –debug
55
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, IBM Could private, …
57
Logs analysieren
• kubectl logs
– Client Installation hilfreich
– “Configure Client“ im IBM Cloud private (CfC) UI
58
Clientseitige Analyse
• Browser
– Firebug / Developer Tools
• Intercepting Proxies
– Fiddler
– Burp Suite
• VMs mit unterschiedlichen IE Versionen
– Ohne GPOs!
– https://www.modern.ie/en-us/virtualization-tools
59
Datenbank Clients
• db2 command
• Dbeaver oder IBM Datastudio
• Robomongo (MongoDB)
Tipp: Datenbank Schreibzugriffe sind nicht supported!
60
LDAP & Search
• LDAP
– ldapsearch Command
– Softerra LDAP Browser
– Apache Directory Studio
• Search Index
– Luke (Lucene Index Toolbox)
61
Netzwerkanalyse
• Wireshark
• Tcpdump
62
63
Q&A
Link zum Download:
https://www.slideshare.net/nmeisenzahl
@nmeisenzahl
linkedin.com/in/nicomeisenzahl
meisenzahl.org
nico.meisenzahl
+49 170 7355081
Headquarters, Austria:
panagenda GmbH (Ltd.)
Schreyvogelgasse 3/10
AT 1010 Vienna
Phone: +43 1 89 012 89
Fax: +43 1 89 012 89-15
E-Mail: [email protected]
Headquarters, Germany:
panagenda GmbH (Ltd.)
Lahnstraße 17
DE 64646 Heppenheim
Phone: +49 6252 67 939-00
Fax: +49 6252 67 939-16
E-Mail: [email protected]
USA:
panagenda Inc.
60 State Street, Suite 700
MA 02109 Boston
Phone: +1 617 855 5961
Fax: +1 617 488 2292
E-Mail: [email protected]
Germany:
panagenda Consulting GmbH (Ltd.)
Donnersbergstraße 1
DE 64646 Heppenheim
Phone: +49 6252 67 939-86
Fax: +49 6252 67 939-16
E-Mail: [email protected]
The Netherlands:
Trust Factory B.V.
11th Floor,
Koningin Julianaplein 10
NL 2595 AA The Hague
Phone: +31 70 80 801 96
E-Mail: [email protected]
© 2007-2015 panagendaMake Your Data Work for You