An object store can be used as data storage location for metrics, and logs which can then be leveraged for systems observability.
Prometheus itself has no object store capabilities, however two projects exist which support storing metrics in an object store:
Vector natively supports S3 as a data sink (and source).
This can be configured with Garage with the following:
garage key new --name vector-system-logs garage bucket create system-logs garage bucket allow system-logs --read --write --key vector-system-logs
vector.toml can then be configured as follows:
[sources.journald] type = "journald" current_boot_only = true [sinks.out] encoding.codec = "json" type = "aws_s3" inputs = [ "journald" ] bucket = "system-logs" key_prefix = "%F/" compression = "none" region = "garage" endpoint = "https://my-garage-instance.mydomain.tld" auth.access_key_id = "" auth.secret_access_key = ""
This is an example configuration - please refer to the Vector documentation for all configuration and transformation possibilities. Also note that Garage performs its own compression, so this should be disabled in Vector.