diff --git a/pkg/models/metrics/metricsruleconst.go b/pkg/models/metrics/metricsruleconst.go index 45f46d77c..4be60151a 100644 --- a/pkg/models/metrics/metricsruleconst.go +++ b/pkg/models/metrics/metricsruleconst.go @@ -13,6 +13,10 @@ limitations under the License. package metrics +import ( + "fmt" +) + const ( ResultTypeVector = "vector" ResultTypeMatrix = "matrix" @@ -731,3 +735,11 @@ var RulePromQLTmplMap = MetricMap{ "prometheus_up_sum": `prometheus:up:sum`, "prometheus_tsdb_head_samples_appended_rate": `prometheus:prometheus_tsdb_head_samples_appended:sum_rate`, } + +func init() { + for metric, promql := range RulePromQLTmplMap { + + // Use absent() to fill missing data with zero + RulePromQLTmplMap[metric] = fmt.Sprintf("%s or absent(%s)-1", promql, promql) + } +}