From 6aeb295710fa14d484121c8a848f016129449033 Mon Sep 17 00:00:00 2001 From: Hector Date: Thu, 22 Jun 2023 15:59:30 +0100 Subject: [PATCH 1/3] connect to socket on startup --- collector/f2b/collector.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/collector/f2b/collector.go b/collector/f2b/collector.go index 95f9bd0..aeccfa1 100644 --- a/collector/f2b/collector.go +++ b/collector/f2b/collector.go @@ -1,11 +1,12 @@ package f2b import ( + "log" + "os" + "github.com/prometheus/client_golang/prometheus" "gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/cfg" "gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/socket" - "log" - "os" ) type Collector struct { @@ -18,7 +19,18 @@ type Collector struct { } func NewExporter(appSettings *cfg.AppSettings, exporterVersion string) *Collector { - log.Printf("reading metrics from fail2ban socket: %s", appSettings.Fail2BanSocketPath) + log.Printf("reading fail2ban metrics socket file: %s", appSettings.Fail2BanSocketPath) + s, err := socket.ConnectToSocket(appSettings.Fail2BanSocketPath) + if err != nil { + log.Printf("error connecting to socket: %v", err) + } else { + version, err := s.GetServerVersion() + if err != nil { + log.Printf("error interacting with socket: %v", err) + } else { + log.Printf("successfully connected to fail2ban socket! fail2ban version: %s", version) + } + } return &Collector{ socketPath: appSettings.Fail2BanSocketPath, exporterVersion: exporterVersion, From 9ae5a14c38f2213f7801cfdcd3b577910ded8913 Mon Sep 17 00:00:00 2001 From: Hector Date: Thu, 22 Jun 2023 16:04:57 +0100 Subject: [PATCH 2/3] move code into new function --- collector/f2b/collector.go | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/collector/f2b/collector.go b/collector/f2b/collector.go index aeccfa1..4ec1936 100644 --- a/collector/f2b/collector.go +++ b/collector/f2b/collector.go @@ -20,17 +20,7 @@ type Collector struct { func NewExporter(appSettings *cfg.AppSettings, exporterVersion string) *Collector { log.Printf("reading fail2ban metrics socket file: %s", appSettings.Fail2BanSocketPath) - s, err := socket.ConnectToSocket(appSettings.Fail2BanSocketPath) - if err != nil { - log.Printf("error connecting to socket: %v", err) - } else { - version, err := s.GetServerVersion() - if err != nil { - log.Printf("error interacting with socket: %v", err) - } else { - log.Printf("successfully connected to fail2ban socket! fail2ban version: %s", version) - } - } + printFail2BanServerVersion(appSettings.Fail2BanSocketPath) return &Collector{ socketPath: appSettings.Fail2BanSocketPath, exporterVersion: exporterVersion, @@ -70,3 +60,17 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { } c.collectErrorCountMetric(ch) } + +func printFail2BanServerVersion(socketPath string) { + s, err := socket.ConnectToSocket(socketPath) + if err != nil { + log.Printf("error connecting to socket: %v", err) + } else { + version, err := s.GetServerVersion() + if err != nil { + log.Printf("error interacting with socket: %v", err) + } else { + log.Printf("successfully connected to fail2ban socket! fail2ban version: %s", version) + } + } +} From 11e34a4cff2ec4449683fae1213b8d31c68de3a5 Mon Sep 17 00:00:00 2001 From: Hector Date: Thu, 22 Jun 2023 16:08:32 +0100 Subject: [PATCH 3/3] typo --- collector/f2b/collector.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collector/f2b/collector.go b/collector/f2b/collector.go index 4ec1936..e6a8ed8 100644 --- a/collector/f2b/collector.go +++ b/collector/f2b/collector.go @@ -19,7 +19,7 @@ type Collector struct { } func NewExporter(appSettings *cfg.AppSettings, exporterVersion string) *Collector { - log.Printf("reading fail2ban metrics socket file: %s", appSettings.Fail2BanSocketPath) + log.Printf("reading fail2ban metrics from socket file: %s", appSettings.Fail2BanSocketPath) printFail2BanServerVersion(appSettings.Fail2BanSocketPath) return &Collector{ socketPath: appSettings.Fail2BanSocketPath,