feat: add listen address parameter

Add new -web.listen-address command line parameter, so that the
listening interface can be limited. This follows a similar style as
the official prometheus-node-exporter project.
Update project README with the new parameter.
This commit is contained in:
Private Creator 2021-12-18 06:45:37 +00:00 committed by Hector
parent f18bd78d4e
commit c208c8e97d
3 changed files with 5 additions and 1 deletions

View file

@ -33,6 +33,8 @@ See the [releases page](https://gitlab.com/hectorjsmith/fail2ban-prometheus-expo
```
$ fail2ban-prometheus-exporter -h
-web.listen-address string
address to use for metrics server (default 0.0.0.0)
-port int
port to use for the metrics server (default 9191)
-socket string

View file

@ -13,6 +13,7 @@ const (
type AppSettings struct {
VersionMode bool
MetricsAddress string
MetricsPort int
Fail2BanSocketPath string
FileCollectorPath string
@ -22,6 +23,7 @@ type AppSettings struct {
func Parse() *AppSettings {
appSettings := &AppSettings{}
flag.BoolVar(&appSettings.VersionMode, "version", false, "show version info and exit")
flag.StringVar(&appSettings.MetricsAddress, "web.listen-address", "0.0.0.0", "address to use for the metrics server")
flag.IntVar(&appSettings.MetricsPort, "port", 9191, "port to use for the metrics server")
flag.StringVar(&appSettings.Fail2BanSocketPath, "socket", "", "path to the fail2ban server socket")
flag.BoolVar(&appSettings.FileCollectorEnabled, "collector.textfile", false, "enable the textfile collector")

View file

@ -53,7 +53,7 @@ func main() {
if appSettings.VersionMode {
printAppVersion()
} else {
addr := fmt.Sprintf("0.0.0.0:%d", appSettings.MetricsPort)
addr := fmt.Sprintf("%s:%d", appSettings.MetricsAddress, appSettings.MetricsPort)
log.Printf("starting fail2ban exporter at %s", addr)