diff --git a/metricbeat/module/docker/event/event.go b/metricbeat/module/docker/event/event.go index 6426ffeb961..f81168b9de9 100644 --- a/metricbeat/module/docker/event/event.go +++ b/metricbeat/module/docker/event/event.go @@ -94,13 +94,21 @@ func (m *MetricSet) Run(ctx context.Context, reporter mb.ReporterV2) { m.reportEvent(reporter, event) case err := <-errors: + // An error can be received on context cancellation, don't reconnect + // if context is done. + select { + case <-ctx.Done(): + m.logger.Debug("docker", "Event watcher stopped") + return + default: + } // Restart watch call - m.logger.Error("Error watching for docker events: %v", err) + m.logger.Errorf("Error watching for docker events: %v", err) time.Sleep(1 * time.Second) break WATCH case <-ctx.Done(): - m.logger.Debug("docker", "event watcher stopped") + m.logger.Debug("docker", "Event watcher stopped") return } }