You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the setup of Cruise Control using "PrometheusMetricSampler" I see on issue collecting data from AWS MSK cluster.
CC VERSION="2.5.42"
DefaultPrometheusQuerySupplier.java proposes "BROKER_CPU_UTIL" query using time range window of 1 minute, but MSK reports CPU metrics as of 5 minutes window.
The result is you always get discarded metrics due to missing BROKER_CPU_UTIL metric:
#SamplingUtils.java
if (brokerLoad == null || !brokerLoad.brokerMetricAvailable(BROKER_CPU_UTIL)) {
// Broker load or its BROKER_CPU_UTIL metric is not available.
LOG.debug("{}partition {} because {} metric for broker {} is unavailable.", SKIP_BUILDING_SAMPLE_PREFIX,
tpDotNotHandled, BROKER_CPU_UTIL, leaderId);
return true;
The reason why the metrics are getting discarded is because your scraping interval is > 30 seconds and 1 - avg by (instance) (irate(node_cpu_seconds_total{mode=\"idle\"}[1m])) is an Prometheus iRate query requires at least 2 data points to calculate the rate.
I however agree that there should be a provision to change the duration based on your scraping interval.
Hi,
During the setup of Cruise Control using "PrometheusMetricSampler" I see on issue collecting data from AWS MSK cluster.
CC VERSION="2.5.42"
DefaultPrometheusQuerySupplier.java proposes "BROKER_CPU_UTIL" query using time range window of 1 minute, but MSK reports CPU metrics as of 5 minutes window.
The result is you always get discarded metrics due to missing BROKER_CPU_UTIL metric:
My current fix:
An improvement would be a configurable prometheus window.
Thanks,
Rodrigo Kellermann Ferreira
The text was updated successfully, but these errors were encountered: