refactoring elastic.GetDateHistogramIntervalField
This commit is contained in:
parent
5d0e745012
commit
2c8ee843f1
|
@ -72,7 +72,7 @@ func checkElasticsearchRequirements() error{
|
||||||
return fmt.Errorf("check system cluster requirement error: %v, got response: %s", err, string(result.Body))
|
return fmt.Errorf("check system cluster requirement error: %v, got response: %s", err, string(result.Body))
|
||||||
}
|
}
|
||||||
distribution, _ := jsonparser.GetString(result.Body, "version", "distribution")
|
distribution, _ := jsonparser.GetString(result.Body, "version", "distribution")
|
||||||
if distribution == "easysearch" || distribution == "opensearch" {
|
if distribution == elastic.Easysearch || distribution == elastic.Opensearch {
|
||||||
return nil
|
return nil
|
||||||
} else if distribution != "" {
|
} else if distribution != "" {
|
||||||
return fmt.Errorf("unkonw cluster distribution: %v", distribution)
|
return fmt.Errorf("unkonw cluster distribution: %v", distribution)
|
||||||
|
|
|
@ -75,13 +75,13 @@ func GenerateQuery(metric *insight.Metric) (interface{}, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
targetESVersion := elastic.GetMetadata(metric.ClusterId).Config.Version
|
verInfo := elastic.GetClient(metric.ClusterId).GetVersion()
|
||||||
|
|
||||||
if targetESVersion==""{
|
if verInfo.Number==""{
|
||||||
panic("invalid version")
|
panic("invalid version")
|
||||||
}
|
}
|
||||||
|
|
||||||
intervalField, err := elastic.GetDateHistogramIntervalField(targetESVersion, metric.BucketSize)
|
intervalField, err := elastic.GetDateHistogramIntervalField(verInfo.Distribution, verInfo.Number, metric.BucketSize)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("get interval field error: %w", err)
|
return nil, fmt.Errorf("get interval field error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,6 +118,7 @@ var GlobalSystemElasticsearchID="infini_default_system_cluster"
|
||||||
const VersionTooOld ="elasticsearch_version_too_old"
|
const VersionTooOld ="elasticsearch_version_too_old"
|
||||||
const IndicesExists ="elasticsearch_indices_exists"
|
const IndicesExists ="elasticsearch_indices_exists"
|
||||||
const TemplateExists ="elasticsearch_template_exists"
|
const TemplateExists ="elasticsearch_template_exists"
|
||||||
|
const VersionNotSupport ="unknown_cluster_version"
|
||||||
|
|
||||||
var cfg1 elastic1.ORMConfig
|
var cfg1 elastic1.ORMConfig
|
||||||
|
|
||||||
|
@ -193,9 +194,9 @@ func (module *Module) validate(w http.ResponseWriter, r *http.Request, ps httpro
|
||||||
panic(errors.Errorf("elasticsearch version(%v) should greater than v7.3", verInfo.Version.Number))
|
panic(errors.Errorf("elasticsearch version(%v) should greater than v7.3", verInfo.Version.Number))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if verInfo.Version.Distribution != "easysearch" && verInfo.Version.Distribution != "opensearch" {
|
}else if verInfo.Version.Distribution != elastic.Easysearch && verInfo.Version.Distribution != elastic.Opensearch {
|
||||||
errType = VersionTooOld
|
errType = VersionNotSupport
|
||||||
panic(errors.Errorf("unsupport distribution (%v)", verInfo.Version.Distribution))
|
panic(errors.Errorf("unknown distribution (%v)", verInfo.Version.Distribution))
|
||||||
}
|
}
|
||||||
cfg1 = elastic1.ORMConfig{}
|
cfg1 = elastic1.ORMConfig{}
|
||||||
exist, err := env.ParseConfig("elastic.orm", &cfg1)
|
exist, err := env.ParseConfig("elastic.orm", &cfg1)
|
||||||
|
|
|
@ -57,17 +57,17 @@ func (engine *Engine) GenerateQuery(rule *alerting.Rule, filterParam *alerting.F
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
targetESVersion := elastic.GetMetadata(rule.Resource.ID).Config.Version
|
verInfo := elastic.GetClient(rule.Resource.ID).GetVersion()
|
||||||
var periodInterval = rule.Metrics.BucketSize
|
var periodInterval = rule.Metrics.BucketSize
|
||||||
if filterParam != nil && filterParam.BucketSize != "" {
|
if filterParam != nil && filterParam.BucketSize != "" {
|
||||||
periodInterval = filterParam.BucketSize
|
periodInterval = filterParam.BucketSize
|
||||||
}
|
}
|
||||||
|
|
||||||
if targetESVersion==""{
|
if verInfo.Number==""{
|
||||||
panic("invalid version")
|
panic("invalid version")
|
||||||
}
|
}
|
||||||
|
|
||||||
intervalField, err := elastic.GetDateHistogramIntervalField(targetESVersion, periodInterval )
|
intervalField, err := elastic.GetDateHistogramIntervalField(verInfo.Distribution,verInfo.Number, periodInterval )
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("get interval field error: %w", err)
|
return nil, fmt.Errorf("get interval field error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue