Troubleshooting
Start in Diagnostics and Data health. Each blocker below names the cause and the fix.
Pipeline blockers
| Blocker | Meaning | Fix |
|---|---|---|
NO_INTEGRATION | No billing source is connected | Add an integration in Settings |
INTEGRATION_FAILED | The last billing run failed | Check the role or identity, then reset the integration |
NO_SNAPSHOTS | No agent has reported | Check the CronJob, its log and the cluster's token |
SNAPSHOTS_STALE | A cluster stopped reporting | Check the latest job's log in the kubeon namespace |
PROVIDER_ID_UNMATCHED | Nodes do not join to billing | Confirm the export includes resource IDs |
USAGE_ALWAYS_ZERO | No usage measured | Install or fix metrics-server |
ALLOCATION_PARTIAL | A day is missing inputs | Repaired 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
401from KubeOn: the token was revoked or mistyped. Create a new one in Settings > Integrations and update thekubeon-agent-tokenSecret.KUBEON_ENDPOINT must be KubeOn's address:kubeon.endpointwas changed. Remove it to usehttps://app.kubeon.io.- The upload times out: the firewall blocks KubeOn's storage. Allow it, or set
kubeon.directUpload: falseto send throughapp.kubeon.io. Forbiddenlisting nodes: the ClusterRoleBindingkubeon-agent-readeris 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