-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
38 lines (28 loc) · 739 Bytes
/
main.go
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
package main
import (
"fmt"
"os"
"github.com/Volkov-Stanislav/checker-reporter/checkers"
"github.com/Volkov-Stanislav/checker-reporter/config"
"github.com/Volkov-Stanislav/checker-reporter/httpoint"
"github.com/Volkov-Stanislav/checker-reporter/metrics"
"github.com/Volkov-Stanislav/checker-reporter/service"
)
const pingCount = 4
func main() {
os.Exit(runProg())
}
func runProg() int {
cf := config.NewConfig()
cf.ConsulParse()
fmt.Printf("Config: %#v \n", cf)
pr := metrics.NewPrometheusInstance(cf)
pr.Run()
httpPoint := httpoint.NewHTTPoint(pr, cf.CheckPort)
httpPoint.Run()
pg := checkers.NewCheckPing(pr, cf)
hck := checkers.NewHTTPCheck(pr, cf)
r := service.NewRunner(cf, pr)
r.Run(pg, hck)
return 0
}