22 Problem Analysis #
22.1 Trento Server #
There are two tools you can use to collect information and data that can be useful when troubleshooting and analyzing issues with Trento Server.
22.1.1 Trento support plugin #
The Trento support plugin consists of the trento-support.sh script and the support plugin itself. The tool automates the collection of logs and relevant runtime information on the server side. It can be used in two different scenarios:
A deployment on K3s
A systemd deployment
22.1.2 Using the Trento support plugin with a K3s deployment #
Using the plugin with a K3s deployment requires a SUSE Linux Enterprise Server for SAP applications 15 SP3 or higher host with the following setup:
Packages
jqandyqare installedHelm is installed
kubectlis installed and connected to the Kubernetes cluster where Trento Server is running
To use the plugin, proceed as follows:
Install the Trento support plugin:
# zypper ref # zypper install supportutils-plugin-trento
Run the
trento-support.shscript:# trento-support --output file-tgz --collect all
Send the generated archive file to support for analysis.
The script accepts the following options:
-o,--outputOutput type (stdout,file,file-tgz)-c,--collectCollection options (configuration,base,kubernetes,all)-r,--release-nameRelease name to use for the chart installation. Default istrento-server-n,--namespaceKubernetes namespace used when installing the chart.Default isdefault--helpShows help messages
22.1.3 Using the Trento support plugin with a systemd deployment #
To use the plugin in this scenario, proceed as follows:
Install the Trento support plugin:
# zypper ref # zypper install supportutils-plugin-trento
Execute supportconfig as described in https://documentation.suse.com/smart/systems-management/html/supportconfig/index.html. The
supportconfigtool will call the Trento support plugin.Send the generated output to support for analysis.
22.2 Scenario dump script #
A scenario dump is a dump of the Trento database. It helps the Trento team to recreate the scenario to test it.
A script is available in the Trento upstream project. The script helps generate a scenario dump when the server is running on a Kubernetes cluster. Using this script requires a host with the following setup:
kubectlis installed and connected to the Kubernetes cluster where Trento Server is running.
To generate the dump, proceed as follows:
Download the latest version of the dump script:
> wget https://raw.githubusercontent.com/trento-project/web/main/hack/dump_scenario_from_k8.sh
Make the script executable:
> chmod +x dump_scenario_from_k8.sh
Make sure that
kubectlis connected to the Kubernetes cluster where Trento Server is running and run the script:> ./dump_scenario_from_k8.sh -n SCENARIO_NAME -p PATH
Go to
PATH/scenarios/SCENARIO_NAME, package all the generated JSON files, and send the package to support for analysis.
22.3 Pods descriptions and logs #
In case of a deployment on K3s, the descriptions and logs of the Trento Server pods can be useful for analysis and troubleshooting purposes (in addition to the output of the trento-support.sh script and the dump scenario script). These descriptions and logs can be obtained with the kubectl command. For this to work, you need a host with kubectl is installed and connected to the K3s cluster running Trento Server.
List the pods running in Kubernetes cluster and their statuses. Run the command below to view Trento Server pods:
> kubectl get pods NAME READY STATUS RESTARTS AGE trento-server-postgresql-0 1/1 Running 0 87m trento-server-prometheus-server-7b5c9474bc-wmv8s 2/2 Running 0 87m trento-server-rabbitmq-0 1/1 Running 0 87m trento-server-wanda-67ffbb79dc-7t6xw 1/1 Running 0 87m trento-server-web-7df8f65794-vdbhs 1/1 Running 0 87m
Retrieve the description of a pod as follows:
> kubectl describe pod POD_NAME
Retrieve the log of a pod as follows:
> kubectl logs POD_NAME
Monitor the log of a pod as follows:
> kubectl logs POD_NAME --follow