From 7b1cd4326f73b034f7d93f20ab09795dfc7a190c Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Fri, 11 Sep 2026 08:52:13 -0500 Subject: [PATCH] docs: document prometheus.interval cache disable Match the unpoller scrape-cache contract: omitted is 60s, 0 fetches live, and sub-15s values warn instead of clamping. Co-authored-by: Cursor --- documentation/docs/install/configuration.md | 1 + documentation/docs/poller/faq.md | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/documentation/docs/install/configuration.md b/documentation/docs/install/configuration.md index a5fc348..d4da8c5 100644 --- a/documentation/docs/install/configuration.md +++ b/documentation/docs/install/configuration.md @@ -195,6 +195,7 @@ If you don't use Prometheus, set `disable` to `true`. |UP_PROMETHEUS_HTTP_LISTEN |prometheus.http_listen |`0.0.0.0:9130` |UP_PROMETHEUS_REPORT_ERRORS | prometheus.report_errors | `false` |UP_PROMETHEUS_BUFFER | prometheus.buffer |`50` +|UP_PROMETHEUS_INTERVAL | prometheus.interval |`60s` cache refresh. `0` / `0s` disables the cache so `/metrics` fetches live. Values below 15s warn but are not clamped. :::tip The [Prometheus](../dependencies/prometheus) page has a full explanation of how to configure Poller. diff --git a/documentation/docs/poller/faq.md b/documentation/docs/poller/faq.md index daf4209..c2fecfb 100644 --- a/documentation/docs/poller/faq.md +++ b/documentation/docs/poller/faq.md @@ -43,7 +43,9 @@ available to display the data. points only refresh roughly once a minute (or slower), regardless of how often UniFi Poller is scraped or how often Prometheus scrapes UniFi Poller. Setting a Prometheus `scrape_interval` shorter than the controller's own update rate will not increase the - resolution of the underlying data. + resolution of the underlying data. Poller's own `prometheus.interval` is the cache + refresh period (`0` fetches live on each `/metrics` scrape) and is distinct from + Prometheus's `scrape_interval`, which only controls how often Prometheus hits `/metrics`. - This matters most for rate-based panels. Prometheus's `rate()` function needs at least two real data points inside the range vector you give it; if the range is shorter than the controller's update interval, `rate()` can return `0` even though traffic didn't