Skip to content
NewFinOps, Kubernetes and AI, on one platform
Book a demo
UnitVane docs
API referenceReleases

Troubleshooting

Start in Diagnostics and Data health. Each blocker below names the cause and the fix.

On this page

Pipeline blockers

BlockerMeaningFix
NO_INTEGRATIONNo billing source is connectedAdd an integration in Settings
INTEGRATION_FAILEDThe last billing run failedCheck the role or identity, then reset the integration
NO_SNAPSHOTSNo agent has reportedCheck the CronJob, its log and the cluster's token
SNAPSHOTS_STALEA cluster stopped reportingCheck the latest job's log in the kubeon namespace
PROVIDER_ID_UNMATCHEDNodes do not join to billingConfirm the export includes resource IDs
USAGE_ALWAYS_ZERONo usage measuredInstall or fix metrics-server
ALLOCATION_PARTIALA day is missing inputsRepaired automatically once the inputs arrive, if the day is in the last 7; for an older day, re-run allocation from Data health

The agent job fails

  • 401 from KubeOn: the token was revoked or mistyped. Create a new one in Settings > Integrations and update the kubeon-agent-token Secret.
  • KUBEON_ENDPOINT must be KubeOn's address: kubeon.endpoint was changed. Remove it to use https://app.kubeon.io.
  • The upload times out: the firewall blocks KubeOn's storage. Allow it, or set kubeon.directUpload: false to send through app.kubeon.io.
  • Forbidden listing nodes: the ClusterRoleBinding kubeon-agent-reader is missing.
  • OOMKilled on very large clusters: raise resources.limits.memory; list calls are already paged.

Billing does not arrive

  • COLUMN_NOT_FOUND: the table is a legacy CUR while the integration is set to CUR 2.0, or the reverse.
  • Zero rows after the daily run: check the partition keys and that the export has delivered data for the period.
  • Late line items: they are picked up automatically for the last 3 days.
Need help with this guide?Contact support