atscalectl status
The status command shows the current state of an AtScale deployment running on Kubernetes, including pod readiness, restart counts, pod age, AtScale version, resource usage, and recent error messages from unhealthy pods. This is the first command to run when investigating an issue. It is safe to execute at any time because it only reads information from the Kubernetes cluster.
Prerequisites
status requires the following Kubernetes permissions:
podsget/listpods/loggetsecretslist. Required only when the--release-nameflag isn't specified. This is required to detect the Helm release.- (Optional)
metrics.k8s.io/podsget. This is required only for resource usage information.
Usage
atscalectl status [flags]
Flags
status supports all global flags. The following may be especially useful:
--context--namespace--release-name--output
In addition to the global flags, status supports the following command-specific flags.
| Flag | Default | Description |
|---|---|---|
--no-resources | false | Skips CPU and memory information. |
--no-logs | false | Skips unhealthy pod log analysis. |
Output
By default, status outputs a table that contains up to three sections:
- Health
- Resources
- Unhealthy pod logs
When using structured output (atscalectl status -o json), the JSON data is still written to standard output, while diagnostic messages are written to standard error.
The table sections and their contents are described in detail below.
Health
The health section contains one row per Kubernetes pod. Each row contains the following columns.
| Column | Description |
|---|---|
COMPONENT | The AtScale component associated with the pod; for example, engine, keycloak, database. Note that database is listed only when PostgreSQL is deployed inside Kubernetes; external PostgreSQL deployments do not show a database pod. |
POD | The Kubernetes pod name. |
STATUS | The current pod/container status. Container failure states such as CrashLoopBackOff are shown when available. |
READY | The number of ready containers compared to total containers. |
RESTARTS | Total container restarts. |
AGE | Time since pod creation. |
VERSION | The AtScale version extracted from the container image. |
DEPLOYED | Pod creation time in UTC. |
Resources
Resource information includes:
- CPU requests
- CPU limits
- Memory requests
- Memory limits
- Current CPU and memory usage
Current usage is provided by Kubernetes metrics-server. If metrics-server is unavailable, resource requests and limits are still displayed, but current usage values show -.
Unhealthy pod logs
When a pod is not fully ready, status displays a small set of matching log lines from that pod. The output is filtered for common error indicators, such as:
errorcriticalwarnfatalpanicexception
This section is intended as a quick diagnostic hint. For complete troubleshooting data, run atscalectl logs collect. For more information, see atscalectl logs collect.
Exit codes
status returns the following exit codes.
| Code | Description |
|---|---|
0 | All pods are healthy. |
1 | At least one pod is not fully ready, or the command failed. |
Usage examples
Check the default deployment
atscalectl status
Check another namespace
atscalectl status --namespace <namespace>
Use JSON output for automation
atscalectl status -o json
Export status information
atscalectl status -o csv > status.csv
Skip metrics collection
atscalectl status --no-resources
Health check
if atscalectl status --context <context> > /dev/null; then
echo "healthy"
else
echo "not healthy"
fi
Troubleshooting
All usage columns show -
This may be caused by metrics-server not being installed or available. However, resource requests and limits should still be available. If you do not require metrics data, run:
atscalectl status --no-resources
No pods found
If you receive the following error, then AtScale is installed in another namespace, or the Helm release name cannot be detected.
no pods found in namespace "atscale"
Try running the following to determine the AtScale namespace:
atscalectl status --namespace <namespace>
Or run the following to determine the release name:
atscalectl status --release-name <release>
Multiple Helm releases found
If you receive the following error, it means there are multiple Helm releases in the same namespace.
could not auto-detect release name: multiple helm releases found in namespace "atscale"
If this occurs, you must specify the release explicitly:
atscalectl status --release-name <release>