Skip to content

Ranger Admin Prometheus / Metrics Configuration Properties

Overview

Ranger Admin exposes metrics for monitoring and alerting. In large environments, frequent scrapes can trigger expensive database queries. These properties allow you to cache most Ranger Admin metrics and refresh them on a schedule, reducing database load.

Note

The metrics cache applies to admin metrics except database pool metrics. DB pool (c3p0) metrics remain available even when the metrics fetcher is disabled.

All properties that control Ranger Admin Prometheus and metrics behavior. Set these in ranger-privacera-site.xml (or equivalent).

Prometheus metrics (global)

Property Type Default Description
ranger.prometheus.metrics.enabled boolean false When true, Prometheus metrics are enabled and /metrics/prometheus and /metrics/db expose metrics. When false, those endpoints return “Prometheus metrics are disabled”.
ranger.prometheus.http.metrics.enabled boolean true When true (and Prometheus metrics are enabled), HTTP request metrics (latency/status) are recorded.
ranger.jvm.metrics.application.name string ranger Application name tag added to JVM/process metrics (for example \(application="ranger"\)).

Metrics cache (RangerMetricsFetcher)

DB-backed metrics (user/group/role/tag counts, policies, etc.) can be served from a cache that is refreshed in the background. These properties control that cache.

Add/update the following properties in Ranger Admin configuration (ranger-admin-site.xml).

Property Type Default Description
ranger.metrics.fetcher.enabled boolean true When true, the metrics fetcher and cache scheduler run. When false, the cache scheduler is not started and all metric getters return empty or zero (except C3P0/database pool metrics).
ranger.metrics.cache.enabled boolean true When true, admin metrics (except DB pool metrics) are refreshed on a schedule and returned from cache, avoiding expensive DB queries on every scrape. When false, every scrape runs live DB queries.
ranger.metrics.cache.interval.seconds long 3600 Interval in seconds between cache refreshes. Ignored if ranger.metrics.cache.enabled is false.
ranger.metrics.cache.initial.delay.seconds long 0 Delay in seconds before the first metrics cache refresh. Subsequent refreshes run every ranger.metrics.cache.interval.seconds. Ignored if cache or fetcher is disabled. Set to 0 to populate cache soon after startup.
ranger.metrics.cache.intx.sleep.ms long 300000 Sleep in milliseconds after each DB read during a cache refresh (to reduce DB load). Set to 0 to disable; useful if you want the first snapshot to complete quickly after restart.
Property Type Default Description
ranger.metrics.active.plugin.reset.interval long 10 Interval in minutes for the scheduled task that resets active-plugin metrics.

Summary table (quick reference)

Property Default Purpose
ranger.prometheus.metrics.enabled true Enable Prometheus metrics endpoints
ranger.prometheus.http.metrics.enabled true Enable HTTP request metrics
ranger.jvm.metrics.application.name ranger Tag for JVM/process metrics
ranger.metrics.fetcher.enabled true Enable metrics fetcher and cache scheduler
ranger.metrics.cache.enabled true Use cache for DB-backed metrics
ranger.metrics.cache.interval.seconds 3600 Interval between cache refreshes (seconds)
ranger.metrics.cache.initial.delay.seconds 0 Delay before first cache refresh (seconds)
ranger.metrics.cache.intx.sleep.ms 300000 Sleep after each DB read during refresh (ms); use 0 for faster first snapshot
ranger.metrics.active.plugin.reset.interval 10 Active-plugin metrics reset interval (minutes)

Example (ranger-admin-site.xml)

XML
<property>
  <name>ranger.metrics.cache.enabled</name>
  <value>true</value>
  <description>When true, admin metrics (except DB pool metrics) are refreshed on a schedule and returned from cache; avoids expensive DB queries on every scrape.</description>
</property>
<property>
  <name>ranger.metrics.cache.interval.seconds</name>
  <value>3600</value>
  <description>Interval in seconds for background refresh of metrics cache. Ignored if ranger.metrics.cache.enabled is false.</description>
</property>
<property>
  <name>ranger.metrics.cache.initial.delay.seconds</name>
  <value>0</value>
  <description>Delay in seconds before the first metrics cache refresh. Subsequent refreshes run every ranger.metrics.cache.interval.seconds. Ignored if cache or fetcher is disabled.</description>
</property>
<property>
  <name>ranger.metrics.cache.intx.sleep.ms</name>
  <value>300000</value>
  <description>Sleep in milliseconds after each metrics read during cache refresh, to yield to other DB activity. Set to 0 to disable.</description>
</property>
<property>
  <name>ranger.metrics.fetcher.enabled</name>
  <value>true</value>
  <description>When false, RangerMetricsFetcher is disabled: the metrics cache scheduler is not started and all metric getters return empty or zero. C3p0/database pool metrics (getDatabaseMetrics) remain available.</description>
</property>

Initial delay / first scrape behavior

When the metrics cache is enabled, some metrics can be empty/zero immediately after Ranger Admin starts until the first background refresh completes (and depending on ranger.metrics.cache.initial.delay.seconds, ranger.metrics.cache.interval.seconds, and ranger.metrics.cache.intx.sleep.ms).