You've already forked prometheus-fail2ban-exporter
							
							This commit is contained in:
		
							
								
								
									
										41
									
								
								server/server.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								server/server.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| package server | ||||
|  | ||||
| import ( | ||||
| 	"log" | ||||
| 	"net/http" | ||||
| 	"time" | ||||
|  | ||||
| 	"git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter/cfg" | ||||
| 	"git.cryptic.systems/volker.raschek/prometheus-fail2ban-exporter/collector/textfile" | ||||
| ) | ||||
|  | ||||
| func StartServer( | ||||
| 	appSettings *cfg.AppSettings, | ||||
| 	textFileCollector *textfile.Collector, | ||||
| ) chan error { | ||||
| 	http.HandleFunc("/", AuthMiddleware( | ||||
| 		rootHtmlHandler, | ||||
| 		appSettings.AuthProvider, | ||||
| 	)) | ||||
| 	http.HandleFunc(metricsPath, AuthMiddleware( | ||||
| 		func(w http.ResponseWriter, r *http.Request) { | ||||
| 			metricHandler(w, r, textFileCollector) | ||||
| 		}, | ||||
| 		appSettings.AuthProvider, | ||||
| 	)) | ||||
| 	log.Printf("metrics available at '%s'", metricsPath) | ||||
|  | ||||
| 	svrErr := make(chan error) | ||||
| 	go func() { | ||||
| 		httpServer := &http.Server{ | ||||
| 			Addr:              appSettings.MetricsAddress, | ||||
| 			ReadHeaderTimeout: 10 * time.Second, | ||||
| 			ReadTimeout:       10 * time.Second, | ||||
| 			WriteTimeout:      10 * time.Second, | ||||
| 			IdleTimeout:       30 * time.Second, | ||||
| 		} | ||||
| 		svrErr <- httpServer.ListenAndServe() | ||||
| 	}() | ||||
| 	log.Print("ready") | ||||
| 	return svrErr | ||||
| } | ||||
		Reference in New Issue
	
	Block a user