Troubleshooting¶
Fast Triage Commands¶
RG="rg-myapp"
APP_NAME="ca-myapp"
az containerapp show --name "$APP_NAME" --resource-group "$RG" --query properties.provisioningState
az containerapp revision list --name "$APP_NAME" --resource-group "$RG"
az containerapp logs show --name "$APP_NAME" --resource-group "$RG" --type system
az containerapp logs show --name "$APP_NAME" --resource-group "$RG" --type console --follow
Use APP_NAME="ca-myapp" for the examples below. Real observed healthy outputs:
$ az containerapp show --name "$APP_NAME" --resource-group "$RG" --query properties.provisioningState
"Succeeded"
$ az containerapp revision list --name "$APP_NAME" --resource-group "$RG" --output table
Name Active TrafficWeight Replicas HealthState RunningState
----------------- -------- --------------- ---------- ------------- ------------
ca-myapp--0000001 True 100 1 Healthy Running
flowchart TD
TRIAGE["Fast Triage Commands"] --> SYM{"First Symptom?"}
SYM --> S1["Startup and Provisioning"]
SYM --> S2["Ingress and Networking"]
SYM --> S3["Scaling and Runtime"]
SYM --> S4["Identity and Configuration"]
SYM --> S5["Platform Features"]
S1 --> PB1["Image Pull / Revision / Container Start / Probe"]
S2 --> PB2["Ingress / DNS / Service-to-Service"]
S3 --> PB3["HTTP Scaling / Event Scaler / CrashLoop"]
S4 --> PB4["Managed Identity / Secret Reference"]
S5 --> PB5["Dapr / Jobs / Rollback"] Common Errors¶
| Error message / symptom | Likely cause | Fix |
|---|---|---|
ImagePullBackOff, unauthorized: authentication required | ACR auth/identity not configured | Grant AcrPull to Container App managed identity and verify --registry-server |
CrashLoopBackOff | App exits on startup | Check console logs, missing package/env var, verify startup command |
ModuleNotFoundError: <module> | Dependency missing from image | Add package to requirements.txt, rebuild image, redeploy |
Address already in use or bind failure | Port mismatch | Ensure container listens on 0.0.0.0:8000 and ACA --target-port 8000 |
| Health probe failures | Probe path/port invalid or app slow to start | Align probe port/path with app endpoint; increase startup tolerance |
| 502/504 from ingress | No healthy replica, startup timeout, app not listening | Validate revision health, startup logs, and target port |
| URL not reachable | Ingress set to internal | Set --ingress external or test from inside VNet/environment |
| Secret value appears unchanged | Secret updates create new revision | Restart/deploy new revision after az containerapp secret set |
Playbook Categories¶
Use the category that best matches your first confirmed symptom.
Startup and Provisioning¶
- Image Pull Failure
- Revision Provisioning Failure
- Container Start Failure
- Probe Failure and Slow Start
Ingress and Networking¶
- Ingress Not Reachable
- Internal DNS and Private Endpoint Failure
- Service-to-Service Connectivity Failure
Scaling and Runtime¶
Identity and Configuration¶
Platform Features¶
- Dapr Sidecar or Component Failure
- Container App Job Execution Failure
- Bad Revision Rollout and Rollback
How to Use This Hub¶
- Run the fast triage commands to identify the first concrete failure signal.
- Open the matching playbook and work through hypotheses and evidence collection.
- Use KQL Queries for timeline and correlation.
- If multiple signals conflict, use the Detector Map.