From 201ff8e77a7033a98974073424236f955f1f8f64 Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Mon, 3 Jun 2019 05:22:58 -0700 Subject: [PATCH] [6.8] Only log error (don't also index it) if xpack is enabled. (#12353) (#12379) * Only log error (don't also index it) if xpack is enabled. * Adding CHANGELOG entry --- CHANGELOG.next.asciidoc | 1 + metricbeat/module/kibana/stats/stats.go | 44 ++++++++++++------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index d647cfcdfa80..39ea5cd7ba98 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -65,6 +65,7 @@ https://github.com/elastic/beats/compare/v6.7.2...6.8[Check the HEAD diff] - Validate that kibana/status metricset cannot be used when xpack is enabled. {pull}12264[12264] - Require client_auth by default when ssl is enabled for module http metricset server{pull}12333[12333] - Require certificate authorities, certificate file, and key when SSL is enabled for module http metricset server. {pull}12355[12355] +- In the kibana/stats metricset, only log error (don't also index it) if xpack is enabled. {pull}12353[12353] *Packetbeat* diff --git a/metricbeat/module/kibana/stats/stats.go b/metricbeat/module/kibana/stats/stats.go index c4d6c79672a4..79723662ebc4 100644 --- a/metricbeat/module/kibana/stats/stats.go +++ b/metricbeat/module/kibana/stats/stats.go @@ -131,13 +131,25 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { func (m *MetricSet) Fetch(r mb.ReporterV2) { now := time.Now() - m.fetchStats(r, now) + err := m.fetchStats(r, now) + if err != nil { + if m.XPackEnabled { + m.Log.Error(err) + } else { + elastic.ReportAndLogError(err, r, m.Log) + } + return + } + if m.XPackEnabled { - m.fetchSettings(r, now) + err = m.fetchSettings(r, now) + if err != nil { + m.Log.Error(err) + } } } -func (m *MetricSet) fetchStats(r mb.ReporterV2, now time.Time) { +func (m *MetricSet) fetchStats(r mb.ReporterV2, now time.Time) error { // Collect usage stats only once every usageCollectionPeriod if m.isUsageExcludable { origURI := m.statsHTTP.GetURI() @@ -152,39 +164,25 @@ func (m *MetricSet) fetchStats(r mb.ReporterV2, now time.Time) { content, err := m.statsHTTP.FetchContent() if err != nil { - elastic.ReportAndLogError(err, r, m.Log) - return + return err } if m.XPackEnabled { intervalMs := m.calculateIntervalMs() - err = eventMappingStatsXPack(r, intervalMs, now, content) - if err != nil { - m.Log.Error(err) - return - } + return eventMappingStatsXPack(r, intervalMs, now, content) } else { - err = eventMapping(r, content) - if err != nil { - elastic.ReportAndLogError(err, r, m.Log) - return - } + return eventMapping(r, content) } } -func (m *MetricSet) fetchSettings(r mb.ReporterV2, now time.Time) { +func (m *MetricSet) fetchSettings(r mb.ReporterV2, now time.Time) error { content, err := m.settingsHTTP.FetchContent() if err != nil { - m.Log.Error(err) - return + return err } intervalMs := m.calculateIntervalMs() - err = eventMappingSettingsXPack(r, intervalMs, now, content) - if err != nil { - m.Log.Error(err) - return - } + return eventMappingSettingsXPack(r, intervalMs, now, content) } func (m *MetricSet) calculateIntervalMs() int64 {