chg: [sshd] retry/sleep on lack of incoming data

nifi
Jean-Louis Huynen 2020-05-27 18:08:40 +02:00
parent f69c9348da
commit 117a4d0b2f
1 changed files with 43 additions and 40 deletions

View File

@ -90,19 +90,17 @@ func (s *SSHDCompiler) Flush() error {
func (s *SSHDCompiler) Pull(c chan error) {
r1 := *s.r1
for {
jsoner := json.NewDecoder(s.reader)
DecodeLoop:
for jsoner.More() {
var m GrokedSSHD
err := jsoner.Decode(&m)
if err := jsoner.Decode(&m); err == io.EOF {
// In case of EOF, we wait for the reader to have
// new data available
time.Sleep(s.retryPeriod)
continue DecodeLoop
// On EOF we break this loop to go to a sleep
break DecodeLoop
} else if err != nil {
log.Fatal(err)
s.teardown(err)
}
fmt.Printf("time: %s, hostname: %s, client_ip: %s, user: %s\n", m.SyslogTimestamp, m.SyslogHostname, m.SshdClientIP, m.SshdInvalidUser)
@ -140,6 +138,11 @@ DecodeLoop:
}
}
}
// EOF, we wait for the reader to have
// new data available
time.Sleep(s.retryPeriod)
}
}
func compileStats(s *SSHDCompiler, parsedTime time.Time, src string, username string, host string) error {