mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-28 16:12:25 -05:00
[chore/docs] Fix Prometheus metric names for Gin, include example Grafana dash, update docs (#4443)
# Description > If this is a code change, please include a summary of what you've coded, and link to the issue(s) it closes/implements. > > If this is a documentation change, please briefly describe what you've changed and why. This pull request updates some of our inconsistent metric naming, and adds an example Grafana dashboard using all the most up-to-date metrics names, and updates our docs to describe the latest way of setting up metrics. Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4362 Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4055 ## Checklist Please put an x inside each checkbox to indicate that you've read and followed it: `[ ]` -> `[x]` If this is a documentation change, only the first checkbox must be filled (you can delete the others if you want). - [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md). - [x] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat. - [x] I/we have not leveraged AI to create the proposed changes. - [x] I/we have performed a self-review of added code. - [x] I/we have written code that is legible and maintainable by others. - [x] I/we have commented the added code, particularly in hard-to-understand areas. - [x] I/we have made any necessary changes to documentation. - [ ] I/we have added tests that cover new code. - [x] I/we have run tests and they pass locally with the changes. - [x] I/we have run `go fmt ./...` and `golangci-lint run`. Co-authored-by: kim <grufwub@gmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4443 Reviewed-by: kim <gruf@noreply.codeberg.org> Co-authored-by: tobi <tobi.smethurst@protonmail.com> Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
parent
6607e1c944
commit
82216281ce
32 changed files with 2315 additions and 4760 deletions
|
|
@ -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
|
||||
```
|
||||
63
docs/configuration/observability_and_metrics.md
Normal file
63
docs/configuration/observability_and_metrics.md
Normal file
|
|
@ -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
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue