description: Diagnose active Atlas service and infrastructure problems from Grafana, Ariadne, Flux, Kubernetes events, workload state, and logs. Use when asked what is broken, why a Grafana health panel is red, whether an outage is real, or how to fix a service through titan-iac. Covers every deployed namespace while distinguishing current services from migration residue and historical noise.
---
# Triage Atlas Service Health
Investigate read-only, group symptoms into incidents, and recommend the smallest Flux-tracked fix.
## Establish the current scope
1. Read `references/service-map.md` for custom-service ownership and migrations.
2. Discover the live inventory instead of relying only on the map:
```sh
kubectl get namespaces
kubectl get deploy,statefulset,daemonset -A
kubectl get ingress -A
kubectl -n flux-system get kustomizations.kustomize.toolkit.fluxcd.io
- Authority: separate current workloads from retired, migrated, or deliberately suspended resources. Never describe Veles as unavailable or degraded user-facing service merely because its retained pods are unhealthy.
- Correlation: confirm a red Grafana panel with the underlying metric and at least one independent source such as events, logs, readiness, or Flux state.
Run the narrowest relevant checks:
```sh
kubectl get pods -A --field-selector status.phase!=Running,status.phase!=Succeeded -o wide
kubectl get events -A --sort-by=.lastTimestamp
kubectl -n <namespace> get deploy,statefulset,daemonset,job,cronjob
Never read Kubernetes Secret values. Secret-key errors quoted by a pod event or log are valid evidence; inspect the SecretProviderClass and Vault policy manifests, not the secret contents.
## Produce one incident per cause
Deduplicate replica pods and repeated alerts with a signature of service, workload, failing condition, and likely dependency. Return:
-`Finding`: current incident, degraded-but-serving, migration residue, historical noise, or healthy.
-`Impact`: the user-facing service and affected capability.
-`Evidence`: timestamps, workload condition, event/log excerpt, metric, and Flux revision.
-`Noise removed`: signals inspected but not counted, with the reason.