view mod_prometheus/README.markdown @ 4690:82dabfffaddf

mod_muc_require_tos: Add this new module
author Emmanuel Gil Peyrot <>
date Thu, 16 Sep 2021 20:41:14 +0200
parents f4ab80f72d63
children bb66e87a3604
line wrap: on
line source

- Statistics
summary: Implementation of the Prometheus protocol


This module implements the Prometheus reporting protocol, allowing you
to collect statistics directly from Prosody into Prometheus.

See the [Prometheus documentation][prometheusconf] on the format for
more information.



mod\_prometheus itself doesn’t have any configuration option, but it
requires Prosody’s [internal statistics
provider]( to be
enabled.  You may also want to change the default collection interval
to the one your statistics consumer is using. See below for more information.

statistics = "internal"
statistics_interval = 15 -- in seconds

::: {.alert .alert-warning}
**NOTE:** Make sure to put the statistics variables in the global section of
the configuration, **not** in a `VirtualHost` or `Component` section.  You can
use `prosodyctl check` if you are unsure and want to check your configuration.

See also the documentation of Prosody’s [HTTP
server](, since Prometheus is an HTTP
protocol that is how you can customise its URL.  The default one being

Scrape interval vs statistics_interval

The `statistics_interval` should be set to `"manual"` on trunk if and only
if you have a single Prometheus instance scraping Prosody. This will allow
the internal statistics gathering to run optimally.

If you have multiple instances scraping Prosody, set `statistics_interval`
to the scrape interval of Prometheus to avoid errors in rate calculations
and similar.

Future work will allow the use of `"manual"` with multiple Prometheus
instances and varying scrape intervals (stay tuned).


  ------- -------------
  trunk   Works
  0.11    Works
  0.10    Works
  0.9     Does not work
  ------- -------------