@@ -28,19 +28,19 @@ var (
28
28
29
29
poolTotalMemGauge = promauto .NewGauge (prometheus.GaugeOpts {
30
30
Name : "one_pool_totalmem" ,
31
- Help : "combined total memory of active hosts in open nebula" ,
31
+ Help : "total memory of all hosts in open nebula" ,
32
32
})
33
- poolFreeMemGauge = promauto .NewGauge (prometheus.GaugeOpts {
34
- Name : "one_pool_freemem " ,
35
- Help : "combined free memory of active hosts in open nebula" ,
33
+ poolUsedMemGauge = promauto .NewGauge (prometheus.GaugeOpts {
34
+ Name : "one_pool_usedmem " ,
35
+ Help : "used memory in all hosts in open nebula" ,
36
36
})
37
37
poolTotalCPUGauge = promauto .NewGauge (prometheus.GaugeOpts {
38
38
Name : "one_pool_totalcpu" ,
39
- Help : "combined total cpu of active hosts in open nebula" ,
39
+ Help : "total cpu of all hosts in open nebula" ,
40
40
})
41
- poolFreeCPUGauge = promauto .NewGauge (prometheus.GaugeOpts {
42
- Name : "one_pool_freecpu " ,
43
- Help : "combined free memory of active hosts in open nebula" ,
41
+ poolUsedCPUGauge = promauto .NewGauge (prometheus.GaugeOpts {
42
+ Name : "one_pool_usedcpu " ,
43
+ Help : "used cpu in all hosts in open nebula" ,
44
44
})
45
45
poolActiveHostsGauge = promauto .NewGauge (prometheus.GaugeOpts {
46
46
Name : "one_pool_activehosts" ,
@@ -52,37 +52,38 @@ var (
52
52
})
53
53
)
54
54
55
- func recordMetrics (pool * host.Pool ) {
55
+ func recordMetrics (pool * host.Pool , logger log.Logger ) {
56
+
57
+ level .Info (logger ).Log ("msg" , "recording metrics from open nebula frontend" )
56
58
57
59
for {
58
60
var totalMem int = 0
59
- var freeMem int = 0
61
+ var usedMem int = 0
60
62
var totalCPU int = 0
61
- var freeCPU int = 0
63
+ var usedCPU int = 0
62
64
var runningVMs int = 0
63
65
64
66
var activeHosts int = 0
65
67
66
68
for _ , host := range pool .Hosts {
67
69
68
- // state 2 is monitored which means active
69
- if host .StateRaw == 2 {
70
+ level .Debug (logger ).Log ("msg" , "host metrics" , "host" , host .Name )
70
71
71
- totalMem = totalMem + host .Share .TotalMem
72
- freeMem = freeMem + host .Share .FreeMem
73
- totalCPU = totalCPU + host .Share .TotalCPU
74
- freeCPU = freeCPU + host .Share .FreeCPU
75
- runningVMs = runningVMs + host .Share .RunningVMs
72
+ totalMem = totalMem + host .Share .TotalMem
73
+ usedMem = usedMem + host .Share .UsedMem
74
+ totalCPU = totalCPU + host .Share .TotalCPU
75
+ usedCPU = usedCPU + host .Share .UsedCPU
76
+ runningVMs = runningVMs + host .Share .RunningVMs
76
77
78
+ if host .StateRaw == 2 {
77
79
activeHosts = activeHosts + 1
78
-
79
80
}
80
81
}
81
82
82
83
poolTotalMemGauge .Set (float64 (totalMem ))
83
- poolFreeMemGauge .Set (float64 (freeMem ))
84
+ poolUsedMemGauge .Set (float64 (usedMem ))
84
85
poolTotalCPUGauge .Set (float64 (totalCPU ))
85
- poolFreeCPUGauge .Set (float64 (freeCPU ))
86
+ poolUsedCPUGauge .Set (float64 (usedCPU ))
86
87
poolRunningVMsGauge .Set (float64 (runningVMs ))
87
88
88
89
poolActiveHostsGauge .Set (float64 (activeHosts ))
@@ -142,7 +143,7 @@ func main() {
142
143
return
143
144
}
144
145
145
- go recordMetrics (pool )
146
+ go recordMetrics (pool , logger )
146
147
147
148
level .Info (logger ).Log ("msg" , "starting exporter on endpoint /metrics" )
148
149
http .Handle ("/metrics" , promhttp .Handler ())
0 commit comments