diff --git a/management/main.go b/management/main.go index ff8482f9723..a73de689530 100644 --- a/management/main.go +++ b/management/main.go @@ -3,6 +3,7 @@ package main import ( "log" "net/http" + // nolint:gosec _ "net/http/pprof" "os" @@ -10,9 +11,18 @@ import ( "github.com/netbirdio/netbird/management/cmd" ) +func pprofAddr() string { + listenAddr := os.Getenv("NB_PPROF_ADDR") + if listenAddr == "" { + return "localhost:6060" + } + + return listenAddr +} + func main() { go func() { - log.Println(http.ListenAndServe("localhost:6060", nil)) + log.Println(http.ListenAndServe(pprofAddr(), nil)) }() if err := cmd.Execute(); err != nil { os.Exit(1) diff --git a/signal/cmd/run.go b/signal/cmd/run.go index 681222403db..f85941f0c3a 100644 --- a/signal/cmd/run.go +++ b/signal/cmd/run.go @@ -8,6 +8,8 @@ import ( "fmt" "net" "net/http" + "os" + // nolint:gosec _ "net/http/pprof" "time" @@ -194,10 +196,21 @@ var ( } ) +func pprofAddr() string { + listenAddr := os.Getenv("NB_PPROF_ADDR") + if listenAddr == "" { + return "localhost:6060" + } + + return listenAddr +} + func startPprof() { + listenAddr := pprofAddr() + go func() { - log.Debugf("Starting pprof server on 127.0.0.1:6060") - if err := http.ListenAndServe("127.0.0.1:6060", nil); err != nil { + log.Debugf("Starting pprof server on: %s", listenAddr) + if err := http.ListenAndServe(listenAddr, nil); err != nil { log.Fatalf("pprof server failed: %v", err) } }()