From 21208d2686d132a7f2188e2c7416d9709deaba33 Mon Sep 17 00:00:00 2001 From: Greg <2653109+glinton@users.noreply.github.com> Date: Fri, 26 Oct 2018 00:37:18 -0600 Subject: [PATCH] Prevent connection leak by closing unused connections in amqp output (#4924) --- plugins/outputs/amqp/amqp.go | 1 + plugins/outputs/amqp/client.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/outputs/amqp/amqp.go b/plugins/outputs/amqp/amqp.go index a41f0a1fe..dd45f72dc 100644 --- a/plugins/outputs/amqp/amqp.go +++ b/plugins/outputs/amqp/amqp.go @@ -249,6 +249,7 @@ func (q *AMQP) Write(metrics []telegraf.Metric) error { if q.sentMessages >= q.MaxMessages && q.MaxMessages > 0 { log.Printf("D! Output [amqp] sent MaxMessages; closing connection") + q.client.Close() q.client = nil } diff --git a/plugins/outputs/amqp/client.go b/plugins/outputs/amqp/client.go index ba4e45162..0ee45d950 100644 --- a/plugins/outputs/amqp/client.go +++ b/plugins/outputs/amqp/client.go @@ -55,7 +55,7 @@ func Connect(config *ClientConfig) (*client, error) { log.Printf("D! Output [amqp] connected to %q", broker) break } - log.Printf("D! Output [amqp] error connecting to %q", broker) + log.Printf("D! Output [amqp] error connecting to %q - %s", broker, err.Error()) } if client.conn == nil {