Java Troubleshooting Actions

Robusta makes it easy to troubleshoot and debug Java applications running on Kubernetes.

Make sure you read about Manual Triggers to understand how this works.

Look at Java jmap and stack for a tutorial on Java troubleshooting.

Java process inspector

Playbook Action: java_process_inspector

Displays all java-toolkit debugging options for every java process

Manually trigger with:

robusta playbooks trigger java_process_inspector name=podname namespace=default

Add this to your Robusta configuration (Helm values.yaml):

customPlaybooks:
- actions:
  - java_process_inspector: {}
  triggers:
  - on_pod_crash_loop: {}

The above is an example. Try customizing the trigger and parameters.

optional:
process_substring (str)

process name (or substring).

pid (int)

pid

interactive (bool) = True

if more than one process matches, interactively ask which process to choose.

jtk_image (str)

the java-toolkit image to use for debugging

This action can be manually triggered using the Robusta CLI:

robusta playbooks trigger java_process_inspector name=POD_NAME namespace=POD_NAMESPACE 

Pod jmap pid

Playbook Action: pod_jmap_pid

Runs jmap on a specific pid in your pod

Manually trigger with:

robusta playbooks trigger pod_jmap_pid name=podname namespace=default pid=pid_to_inspect

Add this to your Robusta configuration (Helm values.yaml):

customPlaybooks:
- actions:
  - pod_jmap_pid: {}
  triggers:
  - on_pod_crash_loop: {}

The above is an example. Try customizing the trigger and parameters.

optional:
process_substring (str)

process name (or substring).

pid (int)

pid

interactive (bool) = True

if more than one process matches, interactively ask which process to choose.

jtk_image (str)

the java-toolkit image to use for debugging

This action can be manually triggered using the Robusta CLI:

robusta playbooks trigger pod_jmap_pid name=POD_NAME namespace=POD_NAMESPACE 

Pod jstack pid

Playbook Action: pod_jstack_pid

Runs jstack on a specific pid in your pod

Manually trigger with:

robusta playbooks trigger pod_jstack_pid name=podname namespace=default pid=pid_to_inspect

Add this to your Robusta configuration (Helm values.yaml):

customPlaybooks:
- actions:
  - pod_jstack_pid: {}
  triggers:
  - on_pod_crash_loop: {}

The above is an example. Try customizing the trigger and parameters.

optional:
process_substring (str)

process name (or substring).

pid (int)

pid

interactive (bool) = True

if more than one process matches, interactively ask which process to choose.

jtk_image (str)

the java-toolkit image to use for debugging

This action can be manually triggered using the Robusta CLI:

robusta playbooks trigger pod_jstack_pid name=POD_NAME namespace=POD_NAMESPACE