diff --git a/plugins/outputs/amqp/amqp.go b/plugins/outputs/amqp/amqp.go
index <HASH>..<HASH> 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 <HASH>..<HASH> 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 {
Prevent connection leak by closing unused connections in amqp output (#<I>)