diff --git a/plugin/api/insight/metric_util.go b/plugin/api/insight/metric_util.go index 262eaf65..aa26e5d9 100644 --- a/plugin/api/insight/metric_util.go +++ b/plugin/api/insight/metric_util.go @@ -76,7 +76,7 @@ func GenerateQuery(metric *insight.Metric) (interface{}, error) { } } targetESVersion := elastic.GetMetadata(metric.ClusterId).Config.Version - intervalField, err := elastic.GetDateHistogramIntervalField(targetESVersion) + intervalField, err := elastic.GetDateHistogramIntervalField(targetESVersion, metric.BucketSize) if err != nil { return nil, fmt.Errorf("get interval field error: %w", err) } diff --git a/service/alerting/elasticsearch/engine.go b/service/alerting/elasticsearch/engine.go index e17da367..8aeb8363 100644 --- a/service/alerting/elasticsearch/engine.go +++ b/service/alerting/elasticsearch/engine.go @@ -58,14 +58,14 @@ func (engine *Engine) GenerateQuery(rule *alerting.Rule, filterParam *alerting.F } } targetESVersion := elastic.GetMetadata(rule.Resource.ID).Config.Version - intervalField, err := elastic.GetDateHistogramIntervalField(targetESVersion) - if err != nil { - return nil, fmt.Errorf("get interval field error: %w", err) - } var periodInterval = rule.Metrics.BucketSize if filterParam != nil && filterParam.BucketSize != "" { periodInterval = filterParam.BucketSize } + intervalField, err := elastic.GetDateHistogramIntervalField(targetESVersion, periodInterval ) + if err != nil { + return nil, fmt.Errorf("get interval field error: %w", err) + } timeAggs := util.MapStr{ "time_buckets": util.MapStr{ "date_histogram": util.MapStr{