diff options
Diffstat (limited to 'docs/configuration')
| -rw-r--r-- | docs/configuration/observability.md | 50 | ||||
| -rw-r--r-- | docs/configuration/observability_and_metrics.md | 63 |
2 files changed, 63 insertions, 50 deletions
diff --git a/docs/configuration/observability.md b/docs/configuration/observability.md deleted file mode 100644 index 0f1a420a4..000000000 --- a/docs/configuration/observability.md +++ /dev/null @@ -1,50 +0,0 @@ -# Observability - -These settings let you tune and configure certain observability related behaviours. - -GoToSocial uses OpenTelemetry. The metrics and trace exporters can be configured using the standard OpenTelemetry SDK environment variables. For a full reference, see [the OpenTelemetry docs](https://opentelemetry.io/docs/languages/sdk-configuration/). - -## Metrics - -Before enabling metrics, [read the guide](../advanced/metrics.md) and ensure you've taken the appropriate security measures for your setup. - -### Tracing - -To enable tracing, set `tracing-enabled` to `true`. - -Valid values for `OTEL_TRACES_EXPORTER` are [documented here](https://opentelemetry.io/docs/languages/sdk-configuration/general/#otel_traces_exporter). - -### Metrics - -To enable metrics, set `metrics-enabled` to `true`. By default this'll use OTLP to push metrics to an OpenTelemetry receiver. - -Valid values for `OTEL_METRICS_EXPORTER` are [documented here](https://opentelemetry.io/docs/languages/sdk-configuration/general/#otel_metrics_exporter) - -For Prometheus, set `OTEL_METRICS_EXPORTER` to `prometheus`. This will start a **second** HTTP server, bound for `localhost:9464` with the OpenTelemetry metrics. You can change this using: -* `OTEL_EXPORTER_PROMETHEUS_HOST` -* `OTEL_EXPORTER_PROMETHEUS_PORT` - -### Authentication - -If you want to expose the metrics with authentication, you'll need a reverse proxy. You can configure it to proxy to `http://localhost:9464/metrics` and handle authentication in your reverse proxy however you like. - -## Settings - -```yaml -################################## -##### OBSERVABILITY SETTINGS ##### -################################## - -# String. Header name to use to extract a request or trace ID from. Typically set by a -# loadbalancer or proxy. -# Default: "X-Request-Id" -request-id-header: "X-Request-Id" - -# Bool. Enable OpenTelemetry based tracing support. -# Default: false -tracing-enabled: false - -# Bool. Enable OpenTelemetry based metrics support. -# Default: false -metrics-enabled: false -```
\ No newline at end of file diff --git a/docs/configuration/observability_and_metrics.md b/docs/configuration/observability_and_metrics.md new file mode 100644 index 000000000..28ec4fb24 --- /dev/null +++ b/docs/configuration/observability_and_metrics.md @@ -0,0 +1,63 @@ +# Observability and Metrics + +These settings let you tune and configure certain observability related behaviours. + +GoToSocial uses OpenTelemetry. The metrics and trace exporters can be configured using the standard OpenTelemetry SDK environment variables. For a full reference, see [the OpenTelemetry docs](https://opentelemetry.io/docs/languages/sdk-configuration/). + +## Metrics + +Before enabling metrics, [read the guide](../advanced/metrics.md) and ensure you've taken the appropriate security measures for your setup. + +If you want to expose metrics with (basic) authentication, you'll need to do this with a reverse proxy. + +For more information and examples, see the [GtS metrics documentation](https://docs.gotosocial.org/en/latest/advanced/metrics/). + +## Settings + +```yaml +############################################## +##### OBSERVABILITY AND METRICS SETTINGS ##### +############################################## + +# String. Header name to use to extract a request or +# trace ID from. Typically set by a loadbalancer or proxy. +# +# Default: "X-Request-Id" +request-id-header: "X-Request-Id" + +# Bool. Enable OpenTelemetry based tracing support. +# +# When enabling tracing, you must also configure a traces +# exporter using the OTEL environment variable documented here: +# +# https://opentelemetry.io/docs/languages/sdk-configuration/general/#otel_traces_exporter +# +# Default: false +tracing-enabled: false + +# Bool. Enable OpenTelemetry based metrics support. +# +# To expose Prometheus metrics, you must configure a metrics producer and +# a metrics exporter, using the OTEL environment variables documented here: +# +# https://pkg.go.dev/go.opentelemetry.io/contrib/exporters/autoexport#NewMetricReader +# +# Typically, you will want to set the following environment variables +# (take note of the plural "producers" and singular "exporter"): +# +# - OTEL_METRICS_PRODUCERS=prometheus +# - OTEL_METRICS_EXPORTER=prometheus +# +# With these variables set, a Prometheus metrics endpoint will be exposed at +# localhost:9464/metrics. This can be further configured using the variables: +# +# - OTEL_EXPORTER_PROMETHEUS_HOST +# - OTEL_EXPORTER_PROMETHEUS_PORT +# +# For more information, see the GtS metrics documentation here: +# +# https://docs.gotosocial.org/en/latest/advanced/metrics/ +# +# Default: false +metrics-enabled: false +``` |
