collector/sb-server-monitor: remove unnecessary infos as labels & add new servers per datacenter metric
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
17b3b68435
commit
baa3b631c6
|
@ -40,6 +40,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) {
|
|||
c.collectServersMetric(ch, c.Data)
|
||||
c.collectServerCountMetric(ch, c.Data[0].Category, len(c.Data))
|
||||
c.collectServerCountPerPriceMetric(ch, c.Data)
|
||||
c.collectServerCountPerDatacenterMetric(ch, c.Data)
|
||||
}
|
||||
|
||||
func (c *Collector) collectServerCountMetric(ch chan<- prometheus.Metric, category string, value int) {
|
||||
|
@ -67,6 +68,22 @@ func (c *Collector) collectServerCountPerPriceMetric(ch chan<- prometheus.Metric
|
|||
}
|
||||
}
|
||||
|
||||
func (c *Collector) collectServerCountPerDatacenterMetric(ch chan<- prometheus.Metric, servers []*hrobot.SbServer) {
|
||||
serverCache := make(map[string]int)
|
||||
for _, server := range servers {
|
||||
serverCache[server.Datacenter] += 1
|
||||
}
|
||||
|
||||
for datacenter, amount := range serverCache {
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
metricServerCountPerDatacenter,
|
||||
prometheus.GaugeValue,
|
||||
float64(amount),
|
||||
datacenter,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Collector) collectServersMetric(ch chan<- prometheus.Metric, servers []*hrobot.SbServer) {
|
||||
for _, server := range servers {
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
|
@ -77,26 +94,11 @@ func (c *Collector) collectServersMetric(ch chan<- prometheus.Metric, servers []
|
|||
server.Name,
|
||||
server.Category,
|
||||
server.Hardware.CPU,
|
||||
fmt.Sprint(server.Hardware.Drives),
|
||||
fmt.Sprint(server.Hardware.Memory),
|
||||
fmt.Sprint(server.Hardware.ECC),
|
||||
fmt.Sprint(server.Hardware.HighIO),
|
||||
server.Datacenter,
|
||||
fmt.Sprint(server.Description),
|
||||
fmt.Sprint(server.Dist),
|
||||
fmt.Sprint(server.Information),
|
||||
fmt.Sprint(server.PriceInformation.Price),
|
||||
fmt.Sprint(server.PriceInformation.FixedPrice),
|
||||
fmt.Sprint(server.PriceInformation.NextReduce),
|
||||
fmt.Sprint(server.PriceInformation.NextReduceTimestamp),
|
||||
fmt.Sprint(server.DiskData.General),
|
||||
fmt.Sprint(server.DiskData.HDD),
|
||||
fmt.Sprint(server.DiskData.SATA),
|
||||
fmt.Sprint(server.DiskData.NVMe),
|
||||
fmt.Sprint(server.PriceInformation.SetupPrice),
|
||||
fmt.Sprint(server.Specials),
|
||||
fmt.Sprint(server.Network.Bandwidth),
|
||||
server.Network.Traffic,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,6 +60,19 @@ var (
|
|||
nil,
|
||||
)
|
||||
|
||||
metricServerCountPerDatacenter = prometheus.NewDesc(
|
||||
prometheus.BuildFQName(
|
||||
namespace,
|
||||
"server",
|
||||
"current_available_per_datacenter",
|
||||
),
|
||||
"total number of all current available servers per datacenter",
|
||||
[]string{
|
||||
metricLabelServerDatacenter,
|
||||
},
|
||||
nil,
|
||||
)
|
||||
|
||||
metricServers = prometheus.NewDesc(
|
||||
prometheus.BuildFQName(
|
||||
namespace,
|
||||
|
@ -72,26 +85,11 @@ var (
|
|||
metricLabelServerName,
|
||||
metricLabelServerCategory,
|
||||
metricLabelServerCPU,
|
||||
metricLabelServerDrives,
|
||||
metricLabelServerMemory,
|
||||
metricLabelServerECC,
|
||||
metricLabelServerHighIO,
|
||||
metricLabelServerDatacenter,
|
||||
metricLabelServerDescription,
|
||||
metricLabelServerDist,
|
||||
metricLabelServerInformation,
|
||||
metricLabelServerPrice,
|
||||
metricLabelServerFixedPrice,
|
||||
metricLabelServerNextReduce,
|
||||
metricLabelServerNextReduceTimestamp,
|
||||
metricLabelServerGeneralDrives,
|
||||
metricLabelServerHDDs,
|
||||
metricLabelServerSATAs,
|
||||
metricLabelServerNVMes,
|
||||
metricLabelServerSetupPrice,
|
||||
metricLabelServerSpecials,
|
||||
metricLabelServerBandwidth,
|
||||
metricLabelServerTraffic,
|
||||
},
|
||||
nil,
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue