aboutsummaryrefslogtreecommitdiff
path: root/docs/API/prometheus.md
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-10-18 21:22:21 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-10-18 21:22:21 +0300
commit524fb0e4c2561f4a2e4c8e58519df991f034c901 (patch)
treec3940d2ef45022425e6ca9d7520ba0e63c154dfc /docs/API/prometheus.md
parentbe611b143bf2840c039aaf63dbf1a73d9f9daf7b (diff)
downloadpleroma-524fb0e4c2561f4a2e4c8e58519df991f034c901.tar.gz
[#1668] Restricted access to app metrics endpoint by default. Added ability to configure IP whitelist for this endpoint.
Added tests and documentation.
Diffstat (limited to 'docs/API/prometheus.md')
-rw-r--r--docs/API/prometheus.md26
1 files changed, 24 insertions, 2 deletions
diff --git a/docs/API/prometheus.md b/docs/API/prometheus.md
index 19c564e3c..a5158d905 100644
--- a/docs/API/prometheus.md
+++ b/docs/API/prometheus.md
@@ -2,15 +2,37 @@
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
+* Authentication: not required by default (see configuration options above)
* Params: none
-* Response: JSON
+* Response: text
## Grafana
+
### Config example
+
The following is a config example to use with [Grafana](https://grafana.com)
```