elastic / uptime

This project includes resources and general issue tracking for the Elastic Uptime solution
12 stars 3 forks source link

Cloud object store support for screenshots #347

Open andrewvc opened 3 years ago

andrewvc commented 3 years ago

We've made great strides in reducing the amount of space screenshots take, but we can go further still. It would make sense to add support to heartbeat / kibana for uploading screenshots directly to cloud object stores like AWS S3/Google cloud storage etc/and Azure Storage to take advantage of their low cost.

Since we already support screenshot refs for indirect references to image data, we could add a new stub doc type that points to an object in a bucket, pre-signed for security.

An example syntax in the heartbeat.yml would be:

- id: my-monitor
  type: browser
  store_screenshots:
    aws_s3:
      bucket: my-bucket
      prefix:  synthetics/images
      region: my-region
      access_key: XXXXX
      secret_access_key: XXXXX
      expires_in: "30 days"

We could then have screenshot_ref docs in ES that referred not to chunks in ES, but rather to objects in a cloud store.