diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-04-30 13:17:03 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-04-30 13:17:03 -0500 |
commit | 52fc59f125c10ad73b9fd1a0639b6dc5681776ca (patch) | |
tree | 7de32329acbdd4bdf5c753678a2d459c61b58d80 /docs/development/API/prometheus.md | |
parent | a8fa00ef666f574aec8048626aed78a7d62e6915 (diff) | |
parent | 377f84f3678f9c2541fbd4a200cd93c5ab0dea24 (diff) | |
download | pleroma-52fc59f125c10ad73b9fd1a0639b6dc5681776ca.tar.gz |
Merge remote-tracking branch 'upstream/develop' into earmark
Diffstat (limited to 'docs/development/API/prometheus.md')
-rw-r--r-- | docs/development/API/prometheus.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/docs/development/API/prometheus.md b/docs/development/API/prometheus.md new file mode 100644 index 000000000..a5158d905 --- /dev/null +++ b/docs/development/API/prometheus.md @@ -0,0 +1,44 @@ +# Prometheus Metrics + +Pleroma includes support for exporting metrics via the [prometheus_ex](https://github.com/deadtrickster/prometheus.ex) library. + +Config example: + +``` +config :prometheus, Pleroma.Web.Endpoint.MetricsExporter, + enabled: true, + auth: {:basic, "myusername", "mypassword"}, + ip_whitelist: ["127.0.0.1"], + path: "/api/pleroma/app_metrics", + format: :text +``` + +* `enabled` (Pleroma extension) enables the endpoint +* `ip_whitelist` (Pleroma extension) could be used to restrict access only to specified IPs +* `auth` sets the authentication (`false` for no auth; configurable to HTTP Basic Auth, see [prometheus-plugs](https://github.com/deadtrickster/prometheus-plugs#exporting) documentation) +* `format` sets the output format (`:text` or `:protobuf`) +* `path` sets the path to app metrics page + + +## `/api/pleroma/app_metrics` + +### Exports Prometheus application metrics + +* Method: `GET` +* Authentication: not required by default (see configuration options above) +* Params: none +* Response: text + +## Grafana + +### Config example + +The following is a config example to use with [Grafana](https://grafana.com) + +``` + - job_name: 'beam' + metrics_path: /api/pleroma/app_metrics + scheme: https + static_configs: + - targets: ['pleroma.soykaf.com'] +``` |