Skip to main content
Loading

Aerospike Backup Service (ABS)

Overview

The Aerospike Backup Service (ABS) runs on a virtual machine or Docker container and provides a set of REST API endpoints to back up and restore an Aerospike Database cluster. You can perform full and incremental backups and set different backup policies and schedules. There are also several monitoring endpoints to check backup information and the health of the service in general.

See Install for installation and setup instructions to get ABS connected to a sample database for testing.

ABS reads configurations from a YAML file provided when the service is launched. This file arranges the source database clusters, the destination storage, one or more backup policies, and one or more backup routines. See Configuration for details about these configuration files.

The ABS REST API can update the configuration and trigger backups on demand. Restore operations are performed with calls to the REST API. See API Usage Examples to learn how to use the REST API to perform common backup and restore tasks.

Use the OpenAPI generation script included in the GitHub repository to generate an OpenAPI specification for the service that you can host locally. A pre-built OpenAPI specification explaining all configuration and API parameters is also available in Swagger format hosted on GitHub here.

note

Backups made with ABS are not compatible with the asbackup and asrestore tools.

Monitoring

The service exposes a wide variety of system metrics that Prometheus can scrape, including the following application metrics:

NameDescription
aerospike_backup_service_runs_totalFull backup runs counter
aerospike_backup_service_incremental_runs_totalIncremental backup runs counter
aerospike_backup_service_skip_totalFull backup skip counter
aerospike_backup_service_incremental_skip_totalIncremental backup skip counter
aerospike_backup_service_failure_totalFull backup failure counter
aerospike_backup_service_incremental_failure_totalIncremental backup failure counter
aerospike_backup_service_duration_millisFull backup duration in milliseconds
aerospike_backup_service_incremental_duration_millisIncremental backup duration in milliseconds
  • /metrics exposes metrics for Prometheus to check performance of the backup service. See Prometheus documentation for instructions.
  • /health allows monitoring systems to check the service health.
  • /ready checks whether the service is able to handle requests.

See the official Kubernetes documentation on liveness and readiness probes for more information.

The HTTP metrics endpoint at port 8080 can be found on the OpenAPI specification page.

FAQ

What happens when a backup doesn’t finish before another starts?

The service will skip the next startup until the previous backup run is completed.

Can multiple backup routines be performed simultaneously?

The service uses the asbackup shared library, which is not currently thread safe. Given this limitation, ABS performs backup routines in sequence.

Which storage providers are supported?

The backup service supports AWS S3 or compatible, such as MinIO, and local storage.

Known Issues

  • The service may crash if an invalid S3 backup key is provided during configuration.