in internal/pacemaker/pacemakermetrics.go [984:1045]
func setHealthCheckInternalLoadBalancerMetrics(labels map[string]string, groups []Group) {
labels["healthcheck_monitor_interval"] = ""
labels["healthcheck_monitor_timeout"] = ""
labels["ilb_monitor_interval"] = ""
labels["ilb_monitor_timeout"] = ""
labels["ascs_healthcheck_monitor_interval"] = ""
labels["ascs_healthcheck_monitor_timeout"] = ""
labels["ascs_ilb_monitor_interval"] = ""
labels["ascs_ilb_monitor_timeout"] = ""
labels["ers_healthcheck_monitor_interval"] = ""
labels["ers_healthcheck_monitor_timeout"] = ""
labels["ers_ilb_monitor_interval"] = ""
labels["ers_ilb_monitor_timeout"] = ""
labels["has_alias_ip"] = "false"
for _, group := range groups {
var settings = make(map[string]string)
var prefix string
for _, primitive := range group.Primitives {
switch primitive.ClassType {
case "anything", "haproxy":
// Health Check settings
for _, op := range primitive.Operations {
if op.Name == "monitor" {
settings["healthcheck_monitor_interval"] = op.Interval
settings["healthcheck_monitor_timeout"] = op.Timeout
}
}
case "IPaddr2":
// Internal Load Balancer settings
for _, op := range primitive.Operations {
if op.Name == "monitor" {
settings["ilb_monitor_interval"] = op.Interval
settings["ilb_monitor_timeout"] = op.Timeout
}
}
if primitive.Provider == "gcp" {
for _, nvPair := range primitive.InstanceAttributes.NVPairs {
if nvPair.Name == "type" && nvPair.Value == "alias" {
labels["has_alias_ip"] = "true"
}
}
}
case "SAPInstance":
// If this primitive is present, determine if the resource group is ASCS or ERS.
for _, nvPair := range primitive.InstanceAttributes.NVPairs {
if nvPair.Name == "START_PROFILE" {
switch {
case strings.Contains(nvPair.Value, "SCS"):
prefix = "ascs_"
case strings.Contains(nvPair.Value, "ERS"):
prefix = "ers_"
}
}
}
}
}
for k, v := range settings {
labels[prefix+k] = strings.ReplaceAll(v, "s", "")
}
}
}