blob: 39693144b4cac8ea9730f71bc275314e416ec74c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package main
import (
"fmt"
)
func healthCheck() {
h := []Host{}
Db.Find(&h)
h = CheckPage(h)
CacheHosts(cache_prefix+"database", h)
for k, _ := range h {
Db.Debug().Save(&h[k])
}
}
func CheckPage(h []Host) []Host {
for k, v := range h {
if !h[k].Monitored {
continue
}
if resp, _, err := HttpGet(v.Url); err != nil {
h[k].Status = "Error"
h[k].StatusCode = 0
h[k].Success = false
h[k].Monitored = false
h[k].Reason = fmt.Sprintf("%v", err)
h[k].Class = "danger"
} else {
h[k].Status = resp.Status
h[k].StatusCode = int64(resp.StatusCode)
h[k].Success = true
h[k].Reason = ""
h[k].Class = "success"
}
}
return h
}
|