# Insights recommendations are missing or unexpected

Missing, stale or unexpected recommendations require a collection and evidence check before a resource change.

## Evidence, remedy and recovery check

### No recommendations for a workload

Insights UI requires Agent v0.7.0 or later. Set `NS` to the workload namespace and `AGENT_NS` to the Agent installation namespace:

```bash
NS=my-app
AGENT_NS=keda
kubectl get pods -n "$AGENT_NS" -l control-plane=kedify-agent \
  -o jsonpath='{range .items[*]}{.metadata.name}{" "}{.status.phase}{" "}{.spec.containers[*].image}{"\n"}{end}'
kubectl get namespace "$NS" -L insights.kedify.io/scrape
kubectl get --raw "/apis/metrics.k8s.io/v1beta1/namespaces/$NS/pods"
```

Expect running Agent pods using a supported image, an enabled namespace selection and PodMetrics with recent `timestamp` values for the workload’s containers. `NotFound` for the Metrics API requires a working metrics-server installation; `Forbidden` means the caller lacks access. Success with your credentials does not establish that the Agent service account can read metrics.

Follow [Insights settings](https://docs.kedify.io/features/insights/) to verify Metrics API access and namespace selection; wait for fresh evidence rather than repeatedly toggling monitoring.

### Namespace appears paused but samples continue

Read the running Agent’s collection settings without exporting its credential environment:

```bash
kubectl get pods -n "$AGENT_NS" -l control-plane=kedify-agent -o json | \
  jq '.items[].spec.containers[].env[]? | select(.name == "METRICS_WATCH_NAMESPACE" or .name == "METRICS_FOR_LABELED_NAMESPACES_ENABLED")'
```

An explicit `METRICS_WATCH_NAMESPACE` entry adds that namespace even when its label is `false`, `disabled` or `paused`. Label gating defaults to enabled when the environment setting is absent. Disabling it with an empty explicit list selects all namespaces.

Change scope through the owning values/source; recheck the effective namespace set and timestamps.

### Values seem unsafe or unexpected

Compare the observation interval with workload peaks, recent releases, requests/limits and CPU/memory units. Confidence is not a probability of safe resizing.

Use [recommendation semantics](https://docs.kedify.io/features/insights/#recommendation-semantics); retain safe resources until representative demand is observed.

### Apply fails or changes are reverted

For a Deployment, compare the template with the selected recommendation:

```bash
WORKLOAD=my-app
kubectl get deployment "$WORKLOAD" -n "$NS" \
  -o jsonpath='{range .spec.template.spec.containers[*]}{.name}{" "}{.resources}{"\n"}{end}'
kubectl rollout status deployment/"$WORKLOAD" -n "$NS" --timeout=120s
```

Expect the intended container’s requests/limits and a completed rollout. If the template reverts, inspect the Helm/GitOps source and reconciliation before reapplying.

Apply through the [source owner](https://docs.kedify.io/how-to/apply-recommendations-to-source/) and inspect rollout/events; do not retry a dashboard mutation against GitOps reconciliation.

### Expected financial savings are absent

Resource requests, node removal and price coverage are different measures.

Use [FinOps missing/partial data](https://docs.kedify.io/features/finops/#missing-or-partial-finops-data), then [validate the resource change](https://docs.kedify.io/how-to/apply-recommendations-to-source/).

## Verify recovery

Confirm new recommendations show the expected namespace, workload and observation window. After applying a change, check the rollout and resource values against the selected recommendation.

For unresolved failures, [Collect diagnostics for support](https://docs.kedify.io/troubleshooting/collecting-kedify-configuration/) with versions, namespace/target, timestamps, relevant conditions and a redacted configuration.

Related: [Insights settings](https://docs.kedify.io/features/insights/) · [Apply or revert through Helm/GitOps](https://docs.kedify.io/how-to/apply-recommendations-to-source/).

---
Canonical: https://docs.kedify.io/troubleshooting/insights/
Source: src/content/docs/troubleshooting/insights.md
Documentation index: https://docs.kedify.io/llms.txt
