From 3b9ab6e20461b9da908ed4eaa4eb502d19f4d404 Mon Sep 17 00:00:00 2001 From: Yuan Liu Date: Thu, 11 Oct 2018 11:21:06 +0800 Subject: [PATCH 1/4] Update time_series_query.go fix alert no data when elasticsearch group by terms size is set to no limit --- pkg/tsdb/elasticsearch/time_series_query.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/tsdb/elasticsearch/time_series_query.go b/pkg/tsdb/elasticsearch/time_series_query.go index fddcf3cb8b3..45a63ad5c3f 100644 --- a/pkg/tsdb/elasticsearch/time_series_query.go +++ b/pkg/tsdb/elasticsearch/time_series_query.go @@ -171,6 +171,10 @@ func addTermsAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg, metrics []*Metr } else { a.Size = 500 } + if a.Size == 0 { + a.Size = 500 + } + if minDocCount, err := bucketAgg.Settings.Get("min_doc_count").Int(); err == nil { a.MinDocCount = &minDocCount } From 567db87c3a7cead11ea81d399d93fc966bf0932f Mon Sep 17 00:00:00 2001 From: Yuan Liu Date: Thu, 11 Oct 2018 11:36:40 +0800 Subject: [PATCH 2/4] bug fix bug fix --- pkg/tsdb/elasticsearch/time_series_query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/tsdb/elasticsearch/time_series_query.go b/pkg/tsdb/elasticsearch/time_series_query.go index 45a63ad5c3f..e7c1fc1f4b1 100644 --- a/pkg/tsdb/elasticsearch/time_series_query.go +++ b/pkg/tsdb/elasticsearch/time_series_query.go @@ -172,7 +172,7 @@ func addTermsAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg, metrics []*Metr a.Size = 500 } if a.Size == 0 { - a.Size = 500 + a.Size = 500 } if minDocCount, err := bucketAgg.Settings.Get("min_doc_count").Int(); err == nil { From f8a8b213f9542683dcd9080d1626dd687cb3b8ba Mon Sep 17 00:00:00 2001 From: Yuan Liu Date: Thu, 11 Oct 2018 11:40:23 +0800 Subject: [PATCH 3/4] remove tab --- pkg/tsdb/elasticsearch/time_series_query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/tsdb/elasticsearch/time_series_query.go b/pkg/tsdb/elasticsearch/time_series_query.go index e7c1fc1f4b1..869e23e21ce 100644 --- a/pkg/tsdb/elasticsearch/time_series_query.go +++ b/pkg/tsdb/elasticsearch/time_series_query.go @@ -174,7 +174,7 @@ func addTermsAgg(aggBuilder es.AggBuilder, bucketAgg *BucketAgg, metrics []*Metr if a.Size == 0 { a.Size = 500 } - + if minDocCount, err := bucketAgg.Settings.Get("min_doc_count").Int(); err == nil { a.MinDocCount = &minDocCount } From 18dfdc4f0d190c0b1a7909f5936b7be546dc4e70 Mon Sep 17 00:00:00 2001 From: Yuan Liu Date: Thu, 11 Oct 2018 16:04:57 +0800 Subject: [PATCH 4/4] add test for es alert when group by has no limit --- pkg/tsdb/elasticsearch/time_series_query_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/tsdb/elasticsearch/time_series_query_test.go b/pkg/tsdb/elasticsearch/time_series_query_test.go index 49bf5f5bc75..fe8ae0fa8f2 100644 --- a/pkg/tsdb/elasticsearch/time_series_query_test.go +++ b/pkg/tsdb/elasticsearch/time_series_query_test.go @@ -60,7 +60,7 @@ func TestExecuteTimeSeriesQuery(t *testing.T) { _, err := executeTsdbQuery(c, `{ "timeField": "@timestamp", "bucketAggs": [ - { "type": "terms", "field": "@host", "id": "2" }, + { "type": "terms", "field": "@host", "id": "2", "settings": { "size": "0", "order": "asc" } }, { "type": "date_histogram", "field": "@timestamp", "id": "3" } ], "metrics": [{"type": "count", "id": "1" }] @@ -69,7 +69,9 @@ func TestExecuteTimeSeriesQuery(t *testing.T) { sr := c.multisearchRequests[0].Requests[0] firstLevel := sr.Aggs[0] So(firstLevel.Key, ShouldEqual, "2") - So(firstLevel.Aggregation.Aggregation.(*es.TermsAggregation).Field, ShouldEqual, "@host") + termsAgg := firstLevel.Aggregation.Aggregation.(*es.TermsAggregation) + So(termsAgg.Field, ShouldEqual, "@host") + So(termsAgg.Size, ShouldEqual, 500) secondLevel := firstLevel.Aggregation.Aggs[0] So(secondLevel.Key, ShouldEqual, "3") So(secondLevel.Aggregation.Aggregation.(*es.DateHistogramAgg).Field, ShouldEqual, "@timestamp")