Add default iface info to host labels (#20767)
Stelios Fragkakis committed
Aug 6, 2025 at 11:02 UTC
eb8a70b34a929aa4249d7cc1a458dd27418f7158
3 files changed
+33
-6
src/database/rrdhost-system-info.c
+29
-5
@@ -135,6 +135,18 @@ int rrdhost_system_info_set_by_name(struct rrdhost_system_info *system_info, cha
135
freez(system_info->is_k8s_node);
136
system_info->is_k8s_node = strdupz(value);
137
}
138
+ else if(!strcmp(name, "NETDATA_SYSTEM_DEFAULT_INTERFACE_NAME")){
139
+ freez(system_info->network_default_iface);
140
+ system_info->network_default_iface = strdupz(value);
141
+ }
142
+ else if(!strcmp(name, "NETDATA_SYSTEM_DEFAULT_INTERFACE_IP")){
143
+ freez(system_info->network_default_iface_ip);
144
+ system_info->network_default_iface_ip = strdupz(value);
145
+ }
146
+ else if(!strcmp(name, "NETDATA_SYSTEM_DEFAULT_INTERFACE_DETECTION")){
147
+ freez(system_info->network_default_iface_detection);
148
+ system_info->network_default_iface_detection = strdupz(value);
149
+ }
150
else if (!strcmp(name, "NETDATA_SYSTEM_CPU_VENDOR"))
151
return res;
152
else if (!strcmp(name, "NETDATA_SYSTEM_CPU_DETECTION"))
@@ -176,7 +188,9 @@ struct rrdhost_system_info *rrdhost_system_info_from_host_labels(RRDLABELS *labe
188
rrdlabels_get_value_strdup_or_null(labels, &info->install_type, "_install_type");
189
rrdlabels_get_value_strdup_or_null(labels, &info->prebuilt_arch, "_prebuilt_arch");
190
rrdlabels_get_value_strdup_or_null(labels, &info->prebuilt_dist, "_prebuilt_dist");
179
-
191
+ rrdlabels_get_value_strdup_or_null(labels, &info->network_default_iface, "_net_default_iface");
192
+ rrdlabels_get_value_strdup_or_null(labels, &info->network_default_iface_ip, "_net_default_iface_ip");
193
+ rrdlabels_get_value_strdup_or_null(labels, &info->network_default_iface_detection, "_net_default_iface_detection");
194
return info;
195
}
196
@@ -241,9 +255,14 @@ void rrdhost_system_info_to_rrdlabels(struct rrdhost_system_info *system_info, R
255
if (system_info->prebuilt_dist)
256
rrdlabels_add(labels, "_prebuilt_dist", system_info->prebuilt_dist, RRDLABEL_SRC_AUTO);
257
244
- rrdlabels_add(labels, "_hw_sys_vendor", daemon_status_file_get_sys_vendor(), RRDLABEL_SRC_AUTO);
245
- rrdlabels_add(labels, "_hw_product_name", daemon_status_file_get_product_name(), RRDLABEL_SRC_AUTO);
246
- rrdlabels_add(labels, "_hw_product_type", daemon_status_file_get_product_type(), RRDLABEL_SRC_AUTO);
258
+ if (system_info->network_default_iface)
259
+ rrdlabels_add(labels, "_net_default_iface", system_info->network_default_iface, RRDLABEL_SRC_AUTO);
260
+
261
+ if (system_info->network_default_iface_ip)
262
+ rrdlabels_add(labels, "_net_default_iface_ip", system_info->network_default_iface_ip, RRDLABEL_SRC_AUTO);
263
+
264
+ if (system_info->network_default_iface_detection)
265
+ rrdlabels_add(labels, "_net_default_iface_detection", system_info->network_default_iface_detection, RRDLABEL_SRC_AUTO);
266
}
267
268
int rrdhost_system_info_detect(struct rrdhost_system_info *system_info) {
@@ -380,6 +399,9 @@ void rrdhost_system_info_free(struct rrdhost_system_info *system_info) {
399
freez(system_info->install_type);
400
freez(system_info->prebuilt_arch);
401
freez(system_info->prebuilt_dist);
402
+ freez(system_info->network_default_iface);
403
+ freez(system_info->network_default_iface_ip);
404
+ freez(system_info->network_default_iface_detection);
405
freez(system_info);
406
}
407
}
@@ -509,7 +531,9 @@ int rrdhost_system_info_foreach(struct rrdhost_system_info *system_info, add_hos
531
ret += cb("NETDATA_SYSTEM_CONTAINER", system_info->container, uuid);
532
ret += cb("NETDATA_SYSTEM_CONTAINER_DETECTION", system_info->container_detection, uuid);
533
ret += cb("NETDATA_HOST_IS_K8S_NODE", system_info->is_k8s_node, uuid);
512
-
534
+ ret += cb("NETDATA_SYSTEM_DEFAULT_INTERFACE_NAME", system_info->network_default_iface, uuid);
535
+ ret += cb("NETDATA_SYSTEM_DEFAULT_INTERFACE_IP", system_info->network_default_iface_ip, uuid);
536
+ ret += cb("NETDATA_SYSTEM_DEFAULT_INTERFACE_DETECTION", system_info->network_default_iface_detection, uuid);
537
return ret;
538
}
539
src/database/rrdhost-system-info.h
+3
@@ -44,6 +44,9 @@ struct rrdhost_system_info {
44
char *install_type;
45
char *prebuilt_arch;
46
char *prebuilt_dist;
47
+ char *network_default_iface;
48
+ char *network_default_iface_ip;
49
+ char *network_default_iface_detection;
50
int mc_version;
51
};
52
#else
src/database/sqlite/sqlite_metadata.c
+1
-1
@@ -1018,7 +1018,7 @@ static bool store_host_systeminfo(RRDHOST *host)
1018
if (unlikely(!system_info))
1019
return false;
1020
1021
- return (24 != rrdhost_system_info_foreach(system_info, add_host_sysinfo_key_value, &host->host_id.uuid));
1021
+ return (27 != rrdhost_system_info_foreach(system_info, add_host_sysinfo_key_value, &host->host_id.uuid));
1022
}
1023
1024