Using the IRC output plugin and automatic config reload (config.reload.automatic: true
in logstash.yml
), Logstash will establish a brand new connection to the IRC server when config changes. The new connections will have changed IRC nicknames, and the old connections don't seem to disconnect.
Example:
13:46 -!- logstash [logstash@server] has joined #logstashchan [config change] 13:49 -!- logstash_ [logstash@server] has joined #logstashchan [config change] 14:11 -!- logstash__ [logstash@server] has joined #logstashchan [config change] 14:46 -!- logstash___ [logstash@server] has joined #logstashchan [config change] 14:51 -!- logstash_____ [logstash@server] has joined #logstashchan
After a number of config changes, the Logstash IRC client may reach an IRC server's limit of client connections from the same IP address, in which case no new connections will be allowed and consequently Logstash IRC output will fail. Obviously there are ways to work around this on the server side, but there's no need for Logstash to hoard inactive connections.
Expected behaviour: Logstash should reuse the existing IRC connection, or replace it.
Versions: Logstash 5.4.2, logstash-output-irc 3.0.2