86b4149a13
[#1668] App metrics endpoint (Prometheus) access restrictions Closes #1668 See merge request pleroma/pleroma!3093
45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
# 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']
|
|
```
|