mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
feat(scaleway-sd): add labels for multiple routed IPs
Signed-off-by: Jules Casteran <jcasteran@scaleway.com>
This commit is contained in:
parent
f5eff89811
commit
05713e9c63
|
@ -50,6 +50,8 @@ const (
|
|||
instanceProjectLabel = instanceLabelPrefix + "project_id"
|
||||
instancePublicIPv4Label = instanceLabelPrefix + "public_ipv4"
|
||||
instancePublicIPv6Label = instanceLabelPrefix + "public_ipv6"
|
||||
instancePublicIPv4AddressesLabel = instanceLabelPrefix + "public_ipv4_addresses"
|
||||
instancePublicIPv6AddressesLabel = instanceLabelPrefix + "public_ipv6_addresses"
|
||||
instanceSecurityGroupIDLabel = instanceLabelPrefix + "security_group_id"
|
||||
instanceSecurityGroupNameLabel = instanceLabelPrefix + "security_group_name"
|
||||
instanceStateLabel = instanceLabelPrefix + "status"
|
||||
|
@ -175,6 +177,34 @@ func (d *instanceDiscovery) refresh(ctx context.Context) ([]*targetgroup.Group,
|
|||
}
|
||||
|
||||
addr := ""
|
||||
if len(server.PublicIPs) > 0 {
|
||||
var ipv4Addresses []string
|
||||
var ipv6Addresses []string
|
||||
|
||||
for _, ip := range server.PublicIPs {
|
||||
if ip.Family == instance.ServerIPIPFamilyInet {
|
||||
ipv4Addresses = append(ipv4Addresses, ip.Address.String())
|
||||
} else if ip.Family == instance.ServerIPIPFamilyInet6 {
|
||||
ipv6Addresses = append(ipv6Addresses, ip.Address.String())
|
||||
}
|
||||
}
|
||||
|
||||
if len(ipv6Addresses) > 0 {
|
||||
addr = ipv6Addresses[0]
|
||||
labels[instancePublicIPv6AddressesLabel] = model.LabelValue(
|
||||
separator +
|
||||
strings.Join(ipv6Addresses, separator) +
|
||||
separator)
|
||||
}
|
||||
if len(ipv4Addresses) > 0 {
|
||||
addr = ipv4Addresses[0]
|
||||
labels[instancePublicIPv4AddressesLabel] = model.LabelValue(
|
||||
separator +
|
||||
strings.Join(ipv4Addresses, separator) +
|
||||
separator)
|
||||
}
|
||||
}
|
||||
|
||||
if server.IPv6 != nil { //nolint:staticcheck
|
||||
labels[instancePublicIPv6Label] = model.LabelValue(server.IPv6.Address.String()) //nolint:staticcheck
|
||||
addr = server.IPv6.Address.String() //nolint:staticcheck
|
||||
|
|
|
@ -125,6 +125,8 @@ api_url: %s
|
|||
"__meta_scaleway_instance_organization_id": "20b3d507-96ac-454c-a795-bc731b46b12f",
|
||||
"__meta_scaleway_instance_project_id": "20b3d507-96ac-454c-a795-bc731b46b12f",
|
||||
"__meta_scaleway_instance_public_ipv4": "51.158.183.115",
|
||||
"__meta_scaleway_instance_public_ipv4_addresses": ",51.158.183.115,",
|
||||
"__meta_scaleway_instance_public_ipv6_addresses": ",2001:bc8:1640:1568:dc00:ff:fe21:91b,",
|
||||
"__meta_scaleway_instance_region": "nl-ams",
|
||||
"__meta_scaleway_instance_security_group_id": "984414da-9fc2-49c0-a925-fed6266fe092",
|
||||
"__meta_scaleway_instance_security_group_name": "Default security group",
|
||||
|
|
Loading…
Reference in a new issue