OX System Report deprecated

Generate comprehensive diagnostic reports for OX App Suite Middleware in Kubernetes.

This document describes how to use the oxsr tool to generate a system report (oxsysreport) from one or more running OX App Suite Middleware pods in a Kubernetes cluster. The report can include a range of report modules such as heap dumps, thread dumps, logs, config files, and system-level metrics.

Prerequisites

  • An active shell to a running Toolkit Container within the cluster. See Starting.
  • Kubernetes access with the correct context and namespace.
  • Sufficient permissions to inspect pods and containers in the target namespace.

Commands

To generate a system report for one or more Middleware pods, use the oxsr report command.


Tip:

You can use the Tab key to autocomplete pod names when entering commands for speed and accuracy. For more information use oxsr completion <SHELL> --help. Available shells are bash, fish, powershell and zsh.

Create a Report

To create a basic report for a specific pod:

oxsr report <POD>

You can also specify multiple pods at once:

oxsr report <POD1> <POD2> <POD3>

Important Make sure to add report modules or the --all flag.

Report for All Pods

To generate reports for all pods of the deployment (based on the default label app=core-mw):

oxsr report --all-pods

Optionally, you can adjust the label used for pod selection:

oxsr report --all-pods --label app=my-custom-label

This functions only in combination with --all-pods and if label differs from default label.

Include Report Modules

To enrich your system report with more detailed information, you can enable report module flags or combinations of those:

Include a Heap Dump

oxsr report --heapdump <POD>

This will trigger a heap dump in the target container.

Include a Thread Dump

oxsr report --threaddump <POD>

This will trigger multiple thread dumps in the target container.

Include Logs

oxsr report --logs <POD>

This flag adds relevant container logs to the report archive. Note: This command requires the stern binary to be available in the system's PATH on the executing host machine.

Include Config Files

oxsr report --config <POD>

This includes the current set of configuration files relevant to the middleware application.

Include Auxiliary Linux Command Line Tools (System Level)

oxsr report --aux <POD>

This includes a set of auxiliary Linux command line tools for additional (system level) diagnosis.

Run All Report Modules

You can combine all report modules in one command:

oxsr report --all <POD>

The --all flag overrides all other report module flags [--heapdump, --threaddump, --config, --logs, --aux].

Adjusting Context and Target

You may need to set additional parameters for your Kubernetes context or container:

Flag Description
--kubeconfig Path to a specific kubeconfig file.
--kubecontext Use a different Kubernetes context.
--namespace / -n The target namespace.
--label / -l A Label to filter pods (default app=core-mw). Only required in combination with --all-pods and if label differs from default label.
--target / -t The name of the container to operate on (default: core-mw).

Example:

oxsr report --namespace mail --target core-mw --heapdump pod-xyz

Verbose Output

Enable verbose output for detailed runtime information and debugging:

oxsr report -v <POD>

Output

The generated report is typically an archived file (e.g., report_<timestamp>.tar.gz) placed in the working directory of the Toolkit Container (or the location from where the report is being executed). This file contains:

  • A summary text file which is called summary-<Report ID>.txt
  • Outputs from report modules: heapdump, threaddump, logs, configs or auxiliary tools (as per flags)

To transfer the resulting report archive (if located inside the toolkit) to your local machine, use this command from your local shell:

kubectl cp -n <NAMESPACE> <TOOLKIT_POD>:<FILENAME> --retries 20 <OUTPUT_FILEPATH>

Further Information

Refer to the tool help via:

oxsr report --help