chore: always append interface ipv4 with api interface name

Signed-off-by: Joey Freeland <joey@free.land>
This commit is contained in:
Joey Freeland 2021-06-27 18:03:10 -07:00
parent 77e25cf2e5
commit 8017dd7242
2 changed files with 5 additions and 8 deletions

View File

@ -178,13 +178,10 @@ func (d *Discovery) refresh(ctx context.Context) ([]*targetgroup.Group, error) {
addr := fmt.Sprintf("%s:%d", priIface.NetworkIP, d.port)
labels[model.AddressLabel] = model.LabelValue(addr)
// Append additional interface private IP address metadata if multiple interfaces exist.
if len(inst.NetworkInterfaces) > 1 {
gceLabelEthAddressPrefix := gceLabel + "private_ip_eth"
for idx, iface := range inst.NetworkInterfaces {
gceLabelEthAddressPrivate := model.LabelName(fmt.Sprintf("%s%d", gceLabelEthAddressPrefix, idx))
labels[gceLabelEthAddressPrivate] = model.LabelValue(iface.NetworkIP)
}
// Append named interface metadata for all interfaces
for _, iface := range inst.NetworkInterfaces {
gceLabelNetAddress := model.LabelName(fmt.Sprintf("%sinterface_ipv4_%s", gceLabel, iface.Name))
labels[gceLabelNetAddress] = model.LabelValue(iface.NetworkIP)
}
// Tags in GCE are usually only used for networking rules.

View File

@ -1131,7 +1131,7 @@ The following meta labels are available on targets during [relabeling](#relabel_
* `__meta_gce_metadata_<name>`: each metadata item of the instance
* `__meta_gce_network`: the network URL of the instance
* `__meta_gce_private_ip`: the private IP address of the instance
* `__meta_gce_private_ip_eth<int>`: if more than one interface exists
* `__meta_gce_interface_ipv4_<name>`: IPv4 address of each named interface
* `__meta_gce_project`: the GCP project in which the instance is running
* `__meta_gce_public_ip`: the public IP address of the instance, if present
* `__meta_gce_subnetwork`: the subnetwork URL of the instance