feat: print fail2ban version on startup (!96)
* Print the version reported by `fail2ban-server` when the exporter starts up * Logs an error if the connection to the server fails https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/96
This commit is contained in:
parent
d1b65a2134
commit
8e0284d9f0
@ -1,11 +1,12 @@
|
|||||||
package f2b
|
package f2b
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
"gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/cfg"
|
"gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/cfg"
|
||||||
"gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/socket"
|
"gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/socket"
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Collector struct {
|
type Collector struct {
|
||||||
@ -18,7 +19,8 @@ type Collector struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewExporter(appSettings *cfg.AppSettings, exporterVersion string) *Collector {
|
func NewExporter(appSettings *cfg.AppSettings, exporterVersion string) *Collector {
|
||||||
log.Printf("reading metrics from fail2ban socket: %s", appSettings.Fail2BanSocketPath)
|
log.Printf("reading fail2ban metrics from socket file: %s", appSettings.Fail2BanSocketPath)
|
||||||
|
printFail2BanServerVersion(appSettings.Fail2BanSocketPath)
|
||||||
return &Collector{
|
return &Collector{
|
||||||
socketPath: appSettings.Fail2BanSocketPath,
|
socketPath: appSettings.Fail2BanSocketPath,
|
||||||
exporterVersion: exporterVersion,
|
exporterVersion: exporterVersion,
|
||||||
@ -58,3 +60,17 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) {
|
|||||||
}
|
}
|
||||||
c.collectErrorCountMetric(ch)
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user