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.
- 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.
- 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.
- 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