diff options
author | 2023-11-20 17:43:55 +0200 | |
---|---|---|
committer | 2023-11-20 16:43:55 +0100 | |
commit | 1ba3e14b36c8f00475bdd41cd4a487ef7636836e (patch) | |
tree | 17405b2de75bb6faaefb9bbfc6487fd7a5efc35a /docs/advanced | |
parent | [bugfix] self-referencing collection pages for status replies (#2364) (diff) | |
download | gotosocial-1ba3e14b36c8f00475bdd41cd4a487ef7636836e.tar.xz |
[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>
Diffstat (limited to 'docs/advanced')
-rw-r--r-- | docs/advanced/index.md | 1 | ||||
-rw-r--r-- | docs/advanced/metrics.md | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/docs/advanced/index.md b/docs/advanced/index.md index 351190227..81773801f 100644 --- a/docs/advanced/index.md +++ b/docs/advanced/index.md @@ -14,3 +14,4 @@ We consider these topics advanced because applying them incorrectly does have th * [Process sandboxing](security/sandboxing.md) * [Firewall configuration](security/firewall.md) * [Tracing](tracing.md) +* [Metrics](metrics.md) diff --git a/docs/advanced/metrics.md b/docs/advanced/metrics.md new file mode 100644 index 000000000..6c1cddd61 --- /dev/null +++ b/docs/advanced/metrics.md @@ -0,0 +1,37 @@ +# 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
\ No newline at end of file |