Analyzing MobileFirst log messages in IBM Cloud Private

improve this page | report issue

Overview

In deployments on IBM Cloud Private, when you run the underlying Liberty with JSON format logging in the console, log events can be broken down into fields and stored in Elasticsearch. You can use Kibana to monitor multiple Liberty pods with dashboards and search or you can filter large number of log records with queries.

A Kubernetes deployment is composed of pods, which are composed of containers. In IBM Cloud Private, the console output of each pod is forwarded to the built-in elastic logging stack automatically. For more information about elastic logging, see IBM Cloud Private logging.

Procedure

Complete the steps to browse the IBM Cloud Private catalog and select the appropriate Helm chart, which you use to deploy applications.

  1. Enable JSON logging in your Helm chart.

    a. From the IBM Cloud Private console, click Menu > Catalog.
    b. Select ibm-mfpfp-server-prod / ibm-mfpfp-analytics-prod / ibm-mfpf-appcenter-prod Helm chart, in the Logs section.
    Note: If your Helm catalog does not contain this Helm chart when you access the console, select Manage > Helm Repositories, and click the button to sync repositories to refresh the catalog.

    c. Set the Logging fields to the following default values, alternatively, you can set the previous values when you deploy the Helm chart from the command line by using the --set flag.

    Helm chart fields and values for JSON logging

    GUI Field Name Command-Line Field Name Field Value
    Console logging format logs.consoleFormat json
    Console logging level logs.consoleLogLevel info
    Console logging source logs.consoleLogLevel message, trace, accessLog, ffdc

    The source types supported are: messages, traces, accessLog or ffdc.
    Specify each source type in a comma-separated list in the console logging source.
    Using accessLog requires additional settings in server.xml file.
    For more information, see HTTP access logging.
  2. Deploy Kibana.
    After you deploy Liberty with JSON logging enabled, log records are stored in Elasticsearch, and you can view the log records with Kibana.

    a. To deploy Kibana, from the console, click Catalog > Helm Charts.
    b. Select the ibm-icplogging-kibana Helm chart, and click kube-system in the target namespace.
    c. Click Install.

  3. Open Kibana.

    a. Click Network Access > Services from the console.
    b. Select Kibana from the list of services.
    c. Click the link in the Node port field to open Kibana.

  4. Create an index pattern in Kibana.

    a. From Kibana, click Management > Index Patterns. Type logstash-* for the Index name or Pattern.
    b. Select ibm_datetime as the Time Filter field name.
    c. Click Create.

  5. You can create your own queries, visualizations, or dashboards to analyze the log data.

  6. Download a set of sample dashboards from here. To import dashboards into Kibana, select Management > Saved Objects, click Import.

Further reading

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on May 17, 2019