llmongodb/xymon.go
Michele b095dea871 aggiunta la gestione errori
dopo 20sec si killa se bloccato dopo il timeout
2016-11-04 11:50:27 +01:00

63 lines
1.1 KiB
Go

// xymon.go
package main
/*
import (
"fmt"
"log"
"net"
"strings"
"time"
)
func sendStatus() {
var msg string
host := strings.Replace(opts.Hostname, ".", ",", -1)
if count.GetErr() > 0 {
msg = fmt.Sprintf("status %s.llmongo %s %s \n\r%s: %d", host, "yellow", time.Now(), "errors", count.GetErr())
} else {
msg = fmt.Sprintf("status %s.llmongo %s %s \n\r%s: %d", host, "green", time.Now(), "logins", count.GetLog())
}
if opts.Debug {
fmt.Println("Sending: ", msg)
}
xymonSend([]byte(msg))
}
func xymonSend(msg []byte) error {
var server string
if strings.Contains(opts.Xymon, ":") {
server = opts.Xymon
} else {
server = opts.Xymon + ":1984"
}
cl, err := net.Dial("tcp", server)
if err != nil {
fmt.Printf("xymon connect error: ", err)
log.Printf("xymon connect error: ", err)
return err
}
defer cl.Close()
// fmt.Printf("xymon: %s - localhost: %s\n", cl.RemoteAddr(), cl.LocalAddr())
_, err = cl.Write(msg)
if err != nil {
fmt.Printf("xymon write error: ", err)
log.Printf("xymon write error: ", err)
return err
}
// fmt.Printf("written: %d\n", tot)
return nil
}
*/