Skip to main content
Version: 1.21.X

Curator-s3

Curator helps you manage your Elasticsearch indices and snapshots via various operations like delete, snapshot, and shard allocation routing. It's mainly used to managed retention of your infrastructure logs to a given value.

For Curator to work with S3, we will require an AWS S3 compatible object storage bucket. Along with this, we will have to configure elasticsearch with snapshot repository. To do so, we have added an InitContainer in the curator manifest that does it by making a PUT request to /_snapshot/repository_name endpoint of elasticsearch

Requirements​

Image repository and tag​

  • Curator image: registry.sighup.io/fury/curator;5.8.4_3.8-alpine
  • Curator repo: [curator at elastic Github][curtor-github]
  • Curator documentation: curator doc

Configuration​

  • Replica number: 1
  • Unit set as 30 days
  • Curator will run every night at 00:15 to check if some indexes need deleting
  • Resource limits are 300m for CPU and 800Mi for memory
  • AWS bucket configuration secret file curator-aws

Deployment​

You can deploy Curator by running the following command in the root of the project:

kustomize build | kubectl apply -f -

List index stored in bucket​

curl -XGET 'localhost:9200/_snapshot/s3-backup/_all?pretty'

Restore index from the bucket into the elasticsearch​

curator_id='curator-20190514223003' # the curator job id related with the task of the backup (you easily obtain this information from the list command above)

curl -XPOST "http://localhost:9200/_snapshot/s3-backup/${curator_id}/_restore?pretty=true&wait_for_completion=true"