Skip to main content

Usage and service-level reports

Ferry measures what each project protects and stores, and what each plan achieves against its policy. Projects see the figures for their own resources in the console and the CLI. A cloud management platform reads them through the API, to bill for backup and to report service levels.

Measurements that are not yet available appear under unavailable, with a reason. Treat these as missing data when calculating usage or charges.

A plan's usage​

Open a plan's What it takes up section to compare provisioned capacity, written data and backup storage usage:

A plan's provisioned capacity, written data and backup storage usageA plan's provisioned capacity, written data and backup storage usage
FigureWhat it measures
DeclaredThe size of the disks the plan protects, as created.
WrittenHow much of those disks the guests had actually used at the last backup.
StoredStorage used by the newest backup of each resource, after compression and deduplication.
Read, all runsHow much has been read from the disks in total.

A project's usage​

curl -H "X-Auth-Token: $OS_TOKEN" "https://backup.mycompany.com/v1/usage?project_id=<project-id>"
openstack backup usage show --project <project-id>

Both need a system-scoped token. With a token scoped to the project, GET /v1/usage and openstack backup usage show return the project's own usage, as its members see it.

FieldMeaning
protected_bytesThe written size of the protected resources, which is the data under protection. The size the volumes were created with is provisioned_bytes.
provisioned_bytesThe size the protected resources were created with.
stored_bytesWhat the project's backups occupy in the repository, compressed and deduplicated within the project's own data.
soft_deleted_bytesData of backups the project deleted that is still kept until it is erased. Present only when there is some.
point_countBackups held.
protected_resourcesResources under protection.
repositoriesThe same figures for each repository holding the project's data, with the vault it is offered as.
computed_atWhen stored_bytes was last computed.
live_as_ofWhen the other figures were read. They are read on each request.

Project usage is calculated from that project's data. Identical data in two projects counts toward each project's usage. Charges based on protected_bytes or stored_bytes therefore remain independent of other projects' activity.

Each repository sweep recalculates stored_bytes, so it can lag behind backups and deletions by one sweep interval. Use computed_at as the measurement date when billing.

A repository's footprint per project​

curl -H "X-Auth-Token: $OS_TOKEN" https://backup.mycompany.com/v1/repositories/<repository-id>/usage
ferry repository usage <repository-id>

Operator only. Each project with data in the repository is listed under tenants:

FieldMeaning
referenced_bytesEverything the project's backups refer to, compressed, counted within its own data.
exclusive_bytesWhat deleting all of the project's backups would free: data no other project refers to.
logical_allocated_bytes, logical_provisioned_bytesThe written and provisioned size of what its backups protect.
point_count, resource_countBackups and resources.

And for the repository as a whole:

FieldMeaning
physical_bytesWhat the repository holds.
sum_tenant_referencedThe sum of every project's referenced_bytes.
cross_tenant_marginsum_tenant_referenced minus physical_bytes. Positive when deduplication across projects saves space. Negative while data that no backup refers to any more waits for the sweep, or for its lock to end.
locked_bytes, release_scheduleData the storage's lock still holds, and how much of it is released each month.
held_bytes, held_releaseData of expired backups that the lock still holds, and the days it is released.
reclaimable_pending_bytesWhat the next sweep frees.
verified_coverage_pct_30dThe share of the repository read back and checked over the last 30 days.
gc_last_completed_atWhen the last sweep completed. Every footprint figure is as of that sweep.
ceph_trash_pinned_bytesVolumes Cinder deleted into the Ceph trash that the service still keeps, because a backup needs them.
leaked_disk_bytesDisks whose server or volume OpenStack deleted while the service still held them.

exclusive_bytes and the repository-wide figures depend on every project's data, so they are never shown to a project.

A plan's service level​

curl -H "X-Auth-Token: $OS_TOKEN" https://backup.mycompany.com/v1/plans/<plan-id>/sla
openstack backup plan sla show <plan-id>

Any reader of the plan's project can read it. It compares the policy's targets with the plan's results over the last 30 days:

FieldMeaning
sla.actual_rpoThe largest age among the newest backups of the plan's resources, in nanoseconds.
sla.rpo_target, sla.rpo_compliance_pctThe policy's recovery point target, and the share of the window the plan met it.
sla.success_rate_30dThe share of backups that succeeded.
sla.consecutive_failuresFailed backups in a row, now.
sla.oldest_restorable_pointThe oldest backup that can still be restored.
sla.immutably_protected_sinceThe oldest backup in a locked vault. It shows since when the plan has been protected against deletion, which is separate from since when it has been backed up.
consistency_promised, consistency_achievedThe consistency requested by the plan and achieved by its backups.
consistency_downgrade, points_downgradedWhy backups fell back to crash-consistent, and how many.

One backup's figures​

openstack backup point metrics show <backup-id>

It shows the sizes of one backup, the compression and deduplication ratios, how long each phase took and how long the guest was frozen. A project sees the figures computed within its own data. An operator also sees what the backup transferred, which depends on what the repository already held.

Not protected​

GET /v1/coverage and ferry coverage show list, per project, what is not protected and why. See Monitoring and coverage.