I'm embarrassed it took me so long to solve this.
Turns out all I needed to do was specify a client_inactivity_timeout of more than the default of 60 seconds. In my particular situation the client (on a test server) was relatively inactive, causing Logstash to kill the connection after 60 seconds. Increasing this beyond the inactivity time resolved the issue.
input {
beats {
client_inactivity_timeout => 1200
port => 5044
}
}
Thanks,
Greg