Skip to content

Commit 3812ce4

Browse files
committed
add: [sshd] oldest / newest entries
1 parent 192b7db commit 3812ce4

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

logparser/sshd.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,43 @@ func (s *SshdParser) Parse(logline string) error {
7171

7272
// Daily
7373
dstr := fmt.Sprintf("%v%v%v", parsedTime.Year(), fmt.Sprintf("%02d", int(parsedTime.Month())), fmt.Sprintf("%02d", int(parsedTime.Day())))
74+
75+
// Check current entry date as oldest if older than the current
76+
var oldest string
77+
if oldest, err = redis.String(r.Do("GET", "oldest")); err == redis.ErrNil {
78+
r.Do("SET", "oldest", dstr)
79+
} else if err != nil {
80+
r.Close()
81+
return err
82+
} else {
83+
// Check if dates are the same
84+
if oldest != dstr {
85+
// Check who is the oldest
86+
parsedOldest, _ := time.Parse("2006-01-02", oldest)
87+
if parsedTime.Before(parsedOldest) {
88+
r.Do("SET", "oldest", dstr)
89+
}
90+
}
91+
}
92+
93+
// Check current entry date as oldest if older than the current
94+
var newest string
95+
if newest, err = redis.String(r.Do("GET", "newest")); err == redis.ErrNil {
96+
r.Do("SET", "newest", dstr)
97+
} else if err != nil {
98+
r.Close()
99+
return err
100+
} else {
101+
// Check if dates are the same
102+
if newest != dstr {
103+
// Check who is the newest
104+
parsedNewest, _ := time.Parse("2006-01-02", newest)
105+
if parsedTime.After(parsedNewest) {
106+
r.Do("SET", "newest", dstr)
107+
}
108+
}
109+
}
110+
74111
err = compileStats(s, dstr, "daily", md["src"], md["username"], md["host"])
75112
if err != nil {
76113
r.Close()

0 commit comments

Comments
 (0)