Explain

The Explain feature enhances the basic scan functionality by offering in-depth analysis for troubleshooting. It utilizes AI to interpret issues and provides recommendations for both diagnostic procedures and potential solutions.

Diagnostic Commands

There are some provided commands as part of the check. They will run automatically as part of initial analysis for explain and be provided to LLM to get explanation.

But generally AI configured to provide recommendations based on provider. For eg. kubectl commands for k8s provider, mysql commands for mysql provider etc.

Possible Fixes

Similar to diagnostic commands they will rely on provider.

Example

To run scan with explanation use next command:

unctl k8s -e -f -c K8S103

After that you will get similar output for each of the object:

🤔 Running diagnostic commands...

🤔 Analyzing results...


❌ Failed Pod is in CrashLoopBackOff state: monitoring/prometheus-server-bc7cbd8c-jzzf5 (Pod prometheus-server-bc7cbd8c-jzzf5 in namespace monitoring has a container in CrashLoopBackOff state.)
💬  Summary:
Your Prometheus server is crashing due to some issue within the storage subsystem possibly while writing to the remote storage. This could possibly be caused by a configuration error or an unresponsive or overloaded remote storage service.
🛠️  Diagnostics: 
> kubectl describe pod prometheus-server-bc7cbd8c-jzzf5 -n monitoring | jq -r '.status.conditions'
> kubectl describe pod prometheus-server-bc7cbd8c-jzzf5 -n monitoring | jq -r '.status.containerStatuses'
🛠️  Remediation: 
> kubectl delete pod prometheus-server-bc7cbd8c-jzzf5 -n monitoring

❌ Failed Pod is in CrashLoopBackOff state: sbox-yura/util-57cd568c54-6jk6s (Pod util-57cd568c54-6jk6s in namespace sbox-yura has a container in CrashLoopBackOff state.)
💬  Summary:
The output of Logs command is empty, which could mean that the container is not able to start properly before any standard out (stdout) output is written. It might be an issue with the container startup command or arguments. If it's exiting very soon after startup, it might mean that it's missing something or there's a significant problem which makes it unable to run.
🛠️  Diagnostics: 
> kubectl describe pod util-57cd568c54-6jk6s -n sbox-yura
🛠️  Remediation: 
> kubectl set image pod/util-57cd568c54-6jk6s -n sbox-yura util=util:new_version_possibly_fixing_issue

Additionally in the report table you will see "LLM Explanation" column with summary.

Last updated