Enabling observability with OpenTelemetry

Gain a deeper insight into your environment with OpenTelemetry.

OpenTelemetry is available by default on each master domain manager and Dynamic Workload Console installed with a fresh installation. You can also enable it after upgrading to the current version.

After the installation or upgrade has completed, perform the following steps to enable OpenTelemetry:

  1. Install and configure a tracing tool of your choice, for example Jaeger, Prometheus, or Splunk.
  2. Stop WebSphere Application Server Liberty, as described in Application server - starting and stopping.
  3. Browse to the following paths:

    master domain manager

    On UNIX operating systems
    TWA_home/usr/servers/engineServer
    On Windows operating systems
    TWA_home\usr\servers\engineServer
    Dynamic Workload Console
    On UNIX operating systems
    DWC_home/usr/servers/dwcServer
    On Windows operating systems
    DWC_home\usr\servers\dwcServer
  4. Edit the following properties in the server.env configuration file, based on the specifics of your environment:
     
    OTEL_EXPORTER_OTLP_ENDPOINT=http://{OPENTELEMETRY_HOSTNAME}:{OPENTELEMETRY_PORT}
    OTEL_EXPORTER_OTLP_TRACES_ENDPOINT={OPENTELEMETRY_HOSTNAME}:{OPENTELEMETRY_PORT}
    OTEL_SDK_DISABLED=false
    OTEL_TRACES_EXPORTER
    OTEL_EXPORTER_OTLP_PROTOCOL
    where
    OTEL_EXPORTER_OTLP_ENDPOINT
    A base endpoint URL for any signal type, with an optionally-specified port number
    OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
    Endpoint URL for trace data only, with an optionally-specified port number
    OTEL_SDK_DISABLED
    Disable the SDK for all signals
    OTEL_TRACES_EXPORTER
    Trace exporter to be used
    OTEL_EXPORTER_OTLP_PROTOCOL
    OTLP transport protocol. Supported values are as follows:
    grpc
    for protobuf-encoded data using gRPC wire format over HTTP/2 connection
    http/protobuf
    for protobuf-encoded data over HTTP connection
    http/json
    for JSON-encoded data over HTTP connection

    For more information about the properties in the server.env file, see OpenTelemetry documentation.

  5. Start WebSphere Application Server Liberty, as described in Application server - starting and stopping.
You have now configured OpenTelemetry to work with IBM® Workload Scheduler. The resulting telemetry data are displayed on the workstation you specified in the server.env file.

When enabling OpenTelemetry, it is important to be aware that it generates a substantial amount of data, which may impact system performance, especially on AIX operating systems.

Configuration file example

Consider the following example in which tracing is configured with Jaeger:

OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4317
OTEL_SDK_DISABLED=false
OTEL_TRACES_EXPORTER=otlp
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=grpc