Merge pull request 'doc: Added observability.md.' (#477) from jpds/garage:observability-doc into main
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #477
This commit is contained in:
commit
18bf45061a
2 changed files with 61 additions and 3 deletions
|
@ -10,11 +10,12 @@ Garage implements the Amazon S3 protocol, which makes it compatible with many ex
|
||||||
|
|
||||||
In particular, you will find here instructions to connect it with:
|
In particular, you will find here instructions to connect it with:
|
||||||
|
|
||||||
- [Browsing tools](@/documentation/connect/cli.md)
|
|
||||||
- [Applications](@/documentation/connect/apps/index.md)
|
- [Applications](@/documentation/connect/apps/index.md)
|
||||||
- [Website hosting](@/documentation/connect/websites.md)
|
- [Browsing tools](@/documentation/connect/cli.md)
|
||||||
- [Software repositories](@/documentation/connect/repositories.md)
|
|
||||||
- [FUSE](@/documentation/connect/fs.md)
|
- [FUSE](@/documentation/connect/fs.md)
|
||||||
|
- [Observability](@/documentation/connect/observability.md)
|
||||||
|
- [Software repositories](@/documentation/connect/repositories.md)
|
||||||
|
- [Website hosting](@/documentation/connect/websites.md)
|
||||||
|
|
||||||
### Generic instructions
|
### Generic instructions
|
||||||
|
|
||||||
|
|
57
doc/book/connect/observability.md
Normal file
57
doc/book/connect/observability.md
Normal file
|
@ -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.
|
Loading…
Reference in a new issue