Skip to main content

📈 HPA monitor

Pro

This feature is part of kwatch Pro, which is free during early access. See Community vs Pro.

An HPA (Horizontal Pod Autoscaler) changes the number of Pods when load changes. This monitor alerts only when scaling is failing and the HPA stays at its maximum for a sustained period.

Watches for HorizontalPodAutoscalers that are stuck at max replicas for a sustained period with scaling errors.

How detection works​

  1. kwatch lists all HPAs in watched namespaces
  2. Checks if status.currentReplicas ≥ spec.maxReplicas (at max capacity)
  3. Checks if scaling is blocked or failing (e.g. resource metrics unavailable)
  4. Only alerts if the condition persists for a sustained period
  5. Resolves when the HPA scales down or scaling errors clear

Configuration​

There are no HPA settings: kwatch always watches HorizontalPodAutoscalers and reports scaling failures and an HPA that stays at its maximum with scaling errors. Use silences or a maintenance annotation for a known case (see General configuration).

What triggers an alert​

  • HPA at maxReplicas with scaling failures (resource metrics unavailable, timeout, etc.)
  • Sustained for a while, which avoids noise from temporary spikes

What does NOT trigger an alert​

  • HPA at maxReplicas with no scaling errors (normal — you've reached your max, that's expected)
  • HPA scaling up successfully (kwatch only alerts on failures)