diff --git a/app/vmalert/datasource/vm.go b/app/vmalert/datasource/vm.go index 2210b8e18f..31c43e2563 100644 --- a/app/vmalert/datasource/vm.go +++ b/app/vmalert/datasource/vm.go @@ -62,6 +62,7 @@ func (s *VMStorage) Clone() *VMStorage { queryStep: s.queryStep, appendTypePrefix: s.appendTypePrefix, dataSourceType: s.dataSourceType, + extraParams: s.extraParams, } } @@ -69,7 +70,16 @@ func (s *VMStorage) Clone() *VMStorage { func (s *VMStorage) ApplyParams(params QuerierParams) *VMStorage { s.dataSourceType = toDatasourceType(params.DataSourceType) s.evaluationInterval = params.EvaluationInterval - s.extraParams = params.QueryParams + if len(params.QueryParams) != 0 { + for k, vl := range params.QueryParams { + if s.extraParams.Has(k) { + s.extraParams.Del(k) + } + for _, v := range vl { + s.extraParams.Add(k, v) + } + } + } s.debug = params.Debug if params.Headers != nil { for key, value := range params.Headers {