elasticsearch of data store support v8.0+
This commit is contained in:
parent
2461773428
commit
2ecf947d68
18
env_check.go
18
env_check.go
|
@ -12,8 +12,6 @@ import (
|
|||
"infini.sh/framework/core/elastic"
|
||||
"infini.sh/framework/core/env"
|
||||
"infini.sh/framework/core/util"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func bootstrapRequirementCheck() error{
|
||||
|
@ -57,23 +55,17 @@ func checkElasticsearchRequire() error{
|
|||
if targetEsConfig == nil {
|
||||
return fmt.Errorf("elasticsearch config named %s not found", appConfig.Elasticsearch)
|
||||
}
|
||||
req, err := http.NewRequest(http.MethodGet, targetEsConfig.Endpoint, nil)
|
||||
if err != nil {
|
||||
return fmt.Errorf("new request error: %v", err)
|
||||
}
|
||||
var req = util.NewGetRequest(targetEsConfig.Endpoint, nil)
|
||||
if targetEsConfig.BasicAuth != nil {
|
||||
req.SetBasicAuth(targetEsConfig.BasicAuth.Username, targetEsConfig.BasicAuth.Password)
|
||||
}
|
||||
res, err := http.DefaultClient.Do(req)
|
||||
|
||||
result, err := util.ExecuteRequest(req)
|
||||
if err != nil {
|
||||
return fmt.Errorf("check elasticsearch requirement error: %v", err)
|
||||
}
|
||||
defer res.Body.Close()
|
||||
resBytes, err := ioutil.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
return fmt.Errorf("check elasticsearch requirement error: %v", err)
|
||||
}
|
||||
versionNumber, err := jsonparser.GetString(resBytes, "version", "number")
|
||||
|
||||
versionNumber, err := jsonparser.GetString(result.Body, "version", "number")
|
||||
if err != nil {
|
||||
return fmt.Errorf("check elasticsearch requirement error: %v", err)
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ func (handler APIHandler) ElasticsearchOverviewAction(w http.ResponseWriter, req
|
|||
if err != nil{
|
||||
log.Error(err)
|
||||
}
|
||||
nodeCount, err := handler.getMetricCount(orm.GetIndexName(elastic.NodeConfig{}), "_id")
|
||||
nodeCount, err := handler.getMetricCount(orm.GetIndexName(elastic.NodeConfig{}), "id")
|
||||
if err != nil{
|
||||
log.Error(err)
|
||||
}
|
||||
|
|
|
@ -53,10 +53,15 @@ func (engine *Engine) GenerateQuery(rule *alerting.Rule) (interface{}, error) {
|
|||
return nil, err
|
||||
}
|
||||
}
|
||||
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)
|
||||
}
|
||||
timeAggs := util.MapStr{
|
||||
"date_histogram": util.MapStr{
|
||||
"field": rule.Resource.TimeField,
|
||||
"interval": rule.Metrics.PeriodInterval,
|
||||
intervalField: rule.Metrics.PeriodInterval,
|
||||
},
|
||||
"aggs": basicAggs,
|
||||
}
|
||||
|
@ -327,6 +332,7 @@ func (engine *Engine) ExecuteQuery(rule *alerting.Rule)(*alerting.QueryResult, e
|
|||
esClient := elastic.GetClient(rule.Resource.ID)
|
||||
queryResult := &alerting.QueryResult{}
|
||||
indexName := strings.Join(rule.Resource.Objects, ",")
|
||||
//todo cache queryDsl
|
||||
queryDsl, err := engine.GenerateQuery(rule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
Loading…
Reference in New Issue