add: [sshd] csv export

nifi
Jean-Louis Huynen 2020-03-31 10:56:11 +02:00
parent 7441d92eb5
commit fb558adab5
No known key found for this signature in database
GPG Key ID: 64799157F4BD6B93
1 changed files with 55 additions and 0 deletions

View File

@ -255,6 +255,10 @@ func (s *SSHDCompiler) compile() error {
if err != nil {
return err
}
err = csvStats(s, v)
if err != nil {
return err
}
}
// List months for which we need to update statistics
@ -460,6 +464,57 @@ func (s *SSHDCompiler) compile() error {
return nil
}
func csvStats(s *SSHDCompiler, v string) error {
r := *s.r0
zrank, err := redis.Strings(r.Do("ZRANGEBYSCORE", v, "-inf", "+inf", "WITHSCORES"))
if err != nil {
return err
}
stype := strings.Split(v, ":")
// Create folder to store data
if _, err := os.Stat("data"); os.IsNotExist(err) {
err := os.Mkdir("data", 0700)
if err != nil {
return err
}
}
if _, err := os.Stat(filepath.Join("data", "sshd")); os.IsNotExist(err) {
err := os.Mkdir(filepath.Join("data", "sshd"), 0700)
if err != nil {
return err
}
}
if _, err := os.Stat(filepath.Join("data", "sshd", stype[0])); os.IsNotExist(err) {
err := os.Mkdir(filepath.Join("data", "sshd", stype[0]), 0700)
if err != nil {
return err
}
}
var file *os.File
if file, err = os.Create(filepath.Join("data", "sshd", stype[0], fmt.Sprintf("%v.csv", v))); err != nil {
return err
}
defer file.Close()
for k, v := range zrank {
// pair: keys
if (k % 2) == 0 {
fmt.Fprintf(file, "%s, ", v)
// even: values
} else {
fmt.Fprintln(file, v)
}
}
return nil
}
func plotStats(s *SSHDCompiler, v string) error {
r := *s.r0
zrank, err := redis.Strings(r.Do("ZRANGEBYSCORE", v, "-inf", "+inf", "WITHSCORES"))