Support for IBM Mobile Foundation

Collecting this information before seeking IBM support will help IBM understand the problem and save time analyzing the data.

MustGather for support cases

The term "MustGather" represents the diagnostic data, which includes the system information, symptoms, log files, traces, and so on, that is required to resolve a problem. By collecting MustGather data early, even before you open a support case, you help IBM Support quickly determine the following information:

The following information should be collected for any problem encountered:

  • Provide the exact version of MobileFirst Platform (including iFix level) being used.
  • Describe in detail the problem that is being encountered.
  • Describe any changes that were made just prior to when the problem occurred.
  • Describe in detail the steps required to reproduce the problem.
  • Provide the specific times when the problem shows itself in any logs provided.
  • Describe how frequently the problem occurs and whether there are any triggering events for the problem.
  • Describe any workarounds used to temporarily resolve the issue.
  • Describe any steps you have already taken to try and resolve the problem yourself.
  • Describe in detail the topology of the environment. This will allow for a better understanding of the message flow within the system.
  • What application server and version are you running MobileFirst Platform on?
  • What database and version are you using for the backend?

Please see the following for details on how to enable tracing on MobileFirst Platform Server and Application Center. Similar steps can be used to enable tracing for Analytics Server.

MobileFirst Server and Application Center trace enablement

MobileFirst Platform Server trace strings*=finest*=all


Application Center trace strings*=all

Analytics Server trace strings*=all

PUSH Service trace strings*=finest

Once collected provide the files to support for review. See the following for details on how to upload to your support case.

After collecting the logs you should undo the above steps so as to disable the trace. The resulting trace logs can grow large very quickly and negatively impact the performance of your server.

Web Application

  • Describe the client and browser version.
  • Open the debugger of the browser and copy the contents of the console to a file and upload to the case

Mobile Device: Android

On the Google Android platform, capture the debug messages for the device by running the Android Debug Bridge (ADB) logcat command on a workstation that is attached to the device with a USB cable. ADB is included in the installation of the Android Developer Tools.

You can run the following command that is appropriate for your workstation from an command-line that is running in the platform-tools directory where the android SDK is installed.

Administrator/root privileges might be required to successfully run logcat.

  • For Microsoft Windows operating systems: adb.exe logcat -d -v time >logcat.txt
  • For Linux operating systems: ./adb logcat -d -v time>logcat.txt

Collect the logcat.txt file that is created and upload to support.

Mobile Device: iOS

Copy the log files using Xcode Organizer. To access the Organizer, navigate to Window → Organizer → Select Device in the Left Pane → Device Logs. Then, copy the device log files as part of the MustGather materials.

Client-side Log Collection

Logging is the instrumentation of source code that uses API calls to record messages in order to facilitate diagnostics and debugging. IBM Mobile Foundation provides a set of logging API methods for this purpose. See the following link for more details on Client-side log collection.

Network tracing

Use a tool such as Wireshark to listen on the network interface.

If Wireshark is encrypted due to security then use the instructions in the following document to perform this.

You can export private keys directly from the WAS keystore.

Export the certificate:

openssl pkcs12 -in mykeystore.p12 -nokeys -out cert.pem

Export the private key (unencrypted):

openssl pkcs12 -in mykeystore.p12 -nodes -nocerts -out key.pem

For MobileFirst Platform support to view the traffic unencrypted, there is an option to use session keys. This way, private key does not have to be shared with support. However, the step mentioned above should be executed first. Once you see the plain text traffic with private key there, follow the instructions here.

Specifically around : 'Allowing Others to Decrypt Without The Private Key'.

If running Unix/Linux OS, use tcpdump command.

# tcpdump -w <output pcap file name> -i <interface> -s 0

For example

# tcpdump -w network.pcap -i eth0 -s 0

Note: the value for the last switch ( -s) is zero. -s is important. This ensures, the packets are captured in its entirety - 65K.

OCP tracing

  • Create or modify your existing configmap to set the following trace specification (ref: OCP Creating and using ConfigMaps, MobileFirst Custom Resource (CR) configuration -> Custom Server Configuration) Please note that if you are creating a new configmap, your pod also has to be configured to consume it: <logging traceSpecification="**=all:com.worklight.**=all" traceFileName="trace.log" maxFileSize="200" maxFiles="10" traceFormat= "BASIC" />
  • Restart the pod(s) that you want to use to capture the trace data
  • Rerun your scenario to record the data in the logs. If you have multiple pods, be sure to monitor the logs of the pod with the new config map to ensure that the pod captured the recreate data.
  • Use the OpenShift CLI or UI to retrieve ALL of the logs recorded in the pod. (Ref: Viewing cluster logs)
  • Upload the following to the case:
    • A zip file containing all of the logs retrieved from your Pod(s)
    • The configmap used to create the logs
    • The server.xml file that was overridden by the configmap
  • Submitting Files

    Files for MobileFirst Platform support can be submitted using FTP to the Enhanced Customer Data Repository (ECuRep) associated with your case.

    For information about how to do this see Exchanging information with IBM Technical Support.