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.
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:
Name | Description |
---|---|
aerospike_backup_service_runs_total | Full backup runs counter |
aerospike_backup_service_incremental_runs_total | Incremental backup runs counter |
aerospike_backup_service_skip_total | Full backup skip counter |
aerospike_backup_service_incremental_skip_total | Incremental backup skip counter |
aerospike_backup_service_failure_total | Full backup failure counter |
aerospike_backup_service_incremental_failure_total | Incremental backup failure counter |
aerospike_backup_service_duration_millis | Full backup duration in milliseconds |
aerospike_backup_service_incremental_duration_millis | Incremental 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.