diff options
author | Alex <alex@adnab.me> | 2023-01-19 12:34:14 +0000 |
---|---|---|
committer | Alex <alex@adnab.me> | 2023-01-19 12:34:14 +0000 |
commit | 18bf45061a7548f76e1c7b7b0a92b8ad1609010c (patch) | |
tree | 4309c0d1c1088b7719a14e35b9276a4fee6bf8d8 /doc/book/connect/observability.md | |
parent | aff9c264c8455180bc4459c20ec2368d5aad0ddf (diff) | |
parent | 97bb1102193e274208ed1db7dc2a8b9445959f94 (diff) | |
download | garage-18bf45061a7548f76e1c7b7b0a92b8ad1609010c.tar.gz garage-18bf45061a7548f76e1c7b7b0a92b8ad1609010c.zip |
Merge pull request 'doc: Added observability.md.' (#477) from jpds/garage:observability-doc into main
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/477
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. |