diff options
author | Jonathan Davies <jpds@protonmail.com> | 2023-01-13 14:12:02 +0000 |
---|---|---|
committer | Jonathan Davies <jpds@protonmail.com> | 2023-01-13 14:32:10 +0000 |
commit | 97bb1102193e274208ed1db7dc2a8b9445959f94 (patch) | |
tree | 49bd43891bece0591619c493af1acabc335a961d /doc/book/connect/observability.md | |
parent | f5746a46f9ac34a4c189090c2bbd210e60094ee9 (diff) | |
download | garage-97bb1102193e274208ed1db7dc2a8b9445959f94.tar.gz garage-97bb1102193e274208ed1db7dc2a8b9445959f94.zip |
doc: Added observability.md.
Diffstat (limited to 'doc/book/connect/observability.md')
-rw-r--r-- | doc/book/connect/observability.md | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/doc/book/connect/observability.md b/doc/book/connect/observability.md new file mode 100644 index 00000000..c5037fa4 --- /dev/null +++ b/doc/book/connect/observability.md @@ -0,0 +1,57 @@ ++++ +title = "Observability" +weight = 25 ++++ + +An object store can be used as data storage location for metrics, and logs which +can then be leveraged for systems observability. + +## Metrics + +### Prometheus + +Prometheus itself has no object store capabilities, however two projects exist +which support storing metrics in an object store: + + - [Cortex](https://cortexmetrics.io/) + - [Thanos](https://thanos.io/) + +## System logs + +### Vector + +[Vector](https://vector.dev/) natively supports S3 as a +[data sink](https://vector.dev/docs/reference/configuration/sinks/aws_s3/) +(and [source](https://vector.dev/docs/reference/configuration/sources/aws_s3/)). + +This can be configured with Garage with the following: + +```bash +garage key new --name vector-system-logs +garage bucket create system-logs +garage bucket allow system-logs --read --write --key vector-system-logs +``` + +The `vector.toml` can then be configured as follows: + +```toml +[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. |