correction erreur de build
This commit is contained in:
parent
dbbd7e5944
commit
72fd02704f
|
@ -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))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue