summaryrefslogtreecommitdiff
path: root/docs/development/API/prometheus.md
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-04-29 11:14:32 -0500
committerAlex Gleason <alex@alexgleason.me>2021-04-29 11:14:32 -0500
commit762be6ce10d2145e8e31d42c5d1a0bab93dbe7b0 (patch)
tree0416ef7020ba2b333cb223200d7108928f714fde /docs/development/API/prometheus.md
parentb7b05a074867c1444dd539d6d2331f6d5504f6e6 (diff)
parent115673bce773f91630c3bd4fd2d0023f92bee163 (diff)
downloadpleroma-762be6ce10d2145e8e31d42c5d1a0bab93dbe7b0.tar.gz
pleroma-762be6ce10d2145e8e31d42c5d1a0bab93dbe7b0.zip
Merge remote-tracking branch 'upstream/develop' into block-behavior
Diffstat (limited to 'docs/development/API/prometheus.md')
-rw-r--r--docs/development/API/prometheus.md44
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']
+```