correction erreur de build

This commit is contained in:
Laurent Ulrich 2023-08-20 20:57:07 +02:00
parent dbbd7e5944
commit 72fd02704f
1 changed files with 41 additions and 41 deletions

View File

@ -49,22 +49,23 @@ type Group struct {
} }
var verbose int var verbose int
func main() { func main() {
if verbose > 0 { if verbose > 0 {
log.Println("Starting") log.Println("Starting")
} }
confFileName := flag.String("f", "/usr/local/etc/hostchecker.yaml", "YAML configuration file") confFileName := flag.String("f", "/usr/local/etc/hostchecker.yaml", "YAML configuration file")
flag.IntVar(&verbose, "verbose", 0, "Set logs verbosity") flag.IntVar(&verbose, "verbose", 0, "Set logs verbosity")
useSyslog := flag.Bool("syslog", false, "Send logs to syslog") useSyslog := flag.Bool("syslog", false, "Send logs to syslog")
flag.Parse() flag.Parse()
if *useSyslog == true { if *useSyslog == true {
syslogWriter, err := syslog.New(syslog.LOG_ERR, "hostchecker") syslogWriter, err := syslog.New(syslog.LOG_ERR, "hostchecker")
if err != nil { if err != nil {
log.Fatal("Error opening syslog #", err) log.Fatal("Error opening syslog #", err)
} }
log.SetOutput(syslogWriter) log.SetOutput(syslogWriter)
} }
var waitGroup sync.WaitGroup var waitGroup sync.WaitGroup
var conf map[string]Group var conf map[string]Group
@ -83,9 +84,9 @@ func main() {
} }
stopChannel := make(chan bool) stopChannel := make(chan bool)
for name, group := range conf { for name, group := range conf {
if verbose > 0 { if verbose > 0 {
log.Println("Checking group", name, group) log.Println("Checking group", name, group)
} }
waitGroup.Add(1) waitGroup.Add(1)
go checkGroup(name, group, &waitGroup, stopChannel) go checkGroup(name, group, &waitGroup, stopChannel)
} }
@ -95,12 +96,12 @@ func main() {
signal.Notify(exit, os.Interrupt) signal.Notify(exit, os.Interrupt)
s := <-exit s := <-exit
if verbose > 1 { if verbose > 1 {
log.Println("Received signal", s) log.Println("Received signal", s)
} }
if verbose > 0 { if verbose > 0 {
log.Println("main closing stopChannel") log.Println("main closing stopChannel")
} }
close(stopChannel) close(stopChannel)
waitGroup.Wait() waitGroup.Wait()
} }
@ -117,24 +118,23 @@ func checkGroup(name string, group Group, waitGroup *sync.WaitGroup, stopChannel
for { for {
select { select {
case <-stopChannel: case <-stopChannel:
if verbose > 0 { if verbose > 0 {
log.Println("checkGroup", name, "stopChannel") log.Println("checkGroup", name, "stopChannel")
} }
waitGroup.Done() waitGroup.Done()
return return
break
default: default:
for host, channel := range channels { for host, channel := range channels {
select { select {
case stop := <-stopChannel: case stop := <-stopChannel:
if verbose > 0 { if verbose > 0 {
log.Println("checkGroup", name, "stopChannel", stop) log.Println("checkGroup", name, "stopChannel", stop)
} }
break break
case status := <-channel: case status := <-channel:
if verbose > 1 { if verbose > 1 {
log.Println("Status for ", host, "is", status, "in group", name) log.Println("Status for ", host, "is", status, "in group", name)
} }
updateTables(host, status, group.Tables) updateTables(host, status, group.Tables)
default: default:
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
@ -165,9 +165,9 @@ func checkHost(status chan<- int, group string, host string, check Check, waitGr
for { for {
select { select {
case <-stopChannel: case <-stopChannel:
if verbose > 0 { if verbose > 0 {
log.Println("checkHost", host, "group", group, "stopChannel") log.Println("checkHost", host, "group", group, "stopChannel")
} }
waitGroup.Done() waitGroup.Done()
return return
default: default:
@ -185,9 +185,9 @@ func checkHost(status chan<- int, group string, host string, check Check, waitGr
} }
if err != nil { if err != nil {
status <- 1 status <- 1
if verbose > 1 { if verbose > 1 {
log.Println("checkHost", host, "group", group, "error", err) log.Println("checkHost", host, "group", group, "error", err)
} }
} else { } else {
status <- 0 status <- 0
} }
@ -234,15 +234,15 @@ func CheckSMTP(host string, check Check) error {
func validateConfiguration(conf map[string]Group) error { func validateConfiguration(conf map[string]Group) error {
for name, group := range conf { for name, group := range conf {
if verbose > 1 { if verbose > 1 {
log.Println("Validating configuration", name) log.Println("Validating configuration", name)
} }
if len(group.Tables) == 0 { if len(group.Tables) == 0 {
return errors.New(fmt.Sprintf("No tables in group %s", name)) return errors.New(fmt.Sprintf("No tables in group %s", name))
} }
if verbose > 1 { if verbose > 1 {
log.Println("Hosts", group.Hosts) log.Println("Hosts", group.Hosts)
} }
if len(group.Hosts) == 0 { if len(group.Hosts) == 0 {
return errors.New(fmt.Sprintf("No hosts in group %s", name)) return errors.New(fmt.Sprintf("No hosts in group %s", name))
} }