Software /
code /
prosody-modules
Diff
mod_prometheus/README.md @ 6211:750d64c47ec6 draft default tip
Merge
author | Trần H. Trung <xmpp:trần.h.trung@trung.fun> |
---|---|
date | Tue, 18 Mar 2025 00:31:36 +0700 |
parent | 6047:8c3bacf3549e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_prometheus/README.md Tue Mar 18 00:31:36 2025 +0700 @@ -0,0 +1,73 @@ +--- +labels: +- Stage-Obsolete +- Statistics +summary: Implementation of the Prometheus protocol +... + +Description +=========== + +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. + +[prometheusconf]: https://prometheus.io/docs/instrumenting/exposition_formats/ + +::: {.alert .alert-info} +**Note:** For use with Prosody 0.12 or later we recommend the bundled +[mod_http_openmetrics](https://prosody.im/doc/modules/mod_http_openmetrics) +instead. This module (mod_prometheus) will continue to be available in the +community repository for use with older Prosody versions. +::: + +Configuration +============= + +mod\_prometheus itself doesn’t have any configuration option, but it +requires Prosody’s [internal statistics +provider](https://prosody.im/doc/statistics#built-in_providers) 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. + +```lua +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](https://prosody.im/doc/http), since Prometheus is an HTTP +protocol that is how you can customise its URL. The default one being +http://localhost:5280/metrics + +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). + +Compatibility +============= + + ------- ------------- + 0.12 Works (but replaced by [mod_http_openmetrics](https://prosody.im/doc/modules/mod_http_openmetrics)) + 0.11 Works + 0.10 Works + 0.9 Does not work + ------- -------------