@cryptotaxi247 / netdata-1 / commits / eb8a70b34

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