gotosocial/docs/advanced/metrics.md
Tsuribori 1ba3e14b36
[feature] Initial Prometheus metrics implementation (#2334)
* feat: Initial OTEL metrics

* docs: add metrics documentation

* fix: metrics endpoint conditional check

* feat: metrics endpoint basic auth

* fix: make metrics-auth-enabled default false

* fix: go fmt helpers.gen.go

* fix: add metric-related env vars to envparsing.sh

* fix: metrics docs

* fix: metrics related stuff in envparsing.sh

* fix: metrics docs

* chore: metrics docs wording

* fix: metrics stuff in envparsing?

* bump otel versions

---------

Co-authored-by: Tsuribori <user@acertaindebian>
Co-authored-by: Tsuribori <none@example.org>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-11-20 16:43:55 +01:00

37 lines
No EOL
1.1 KiB
Markdown

# Metrics
GoToSocial comes with [OpenTelemetry][otel] based metrics built-in with pull-style Prometheus exporter. Currently the following metrics are collected:
* Go performance and runtime metrics
* Gin (HTTP) metrics
* Bun (database) metrics
How to configure metrics is explained in the [Observability configuration reference][obs].
For a quickstart, add the following to your GoToSocial configuration and restart your instance:
```yaml
metrics-enabled: true
metrics-auth-enabled: true
metrics-auth-username: some_username
metrics-auth-password: some_password
```
This will expose the metrics under the endpoint `/metrics`, protected with HTTP Basic Authentication.
A following is an example how to configure a job for collecting the metrics in Prometheus `scrape_configs`:
```yaml
- job_name: gotosocial
metrics_path: /metrics
scheme: https
basic_auth:
username: some_username
password: some_password
static_configs:
- targets:
- example.org
```
[otel]: https://opentelemetry.io/
[obs]: ../configuration/observability.md